当前位置: 首页 > news >正文

CloudSat数据产品数据下载与处理 (matlab)

CloudSat数据下载

这个数据我之前和CALIPSO弄混了,后来发现它们虽然是同一个火箭上去,但是数据产品却在不同的平台下,CloudSat的数据更加关注云的特性,包括云覆盖、云水当量、云分类数据。

数据网址在:CloudSat网址
但是目前数据网站下载似乎无法连接,因此采用了添加公钥登录sftp的方法下载,添加sftp的方法在网站上已经有了介绍 SFTP aceess,这里就不多赘述了。

产品包括1-B 2-B 2-C等,每个数据包含的变量不同,这里我下载的是2B-CWC数据,主要是包括云水当量廓线。

数据处理

下载后的数据命名方式为:[yeardaynumtime_轨道名_产品名.hdf]
如:2018213150513_65299_CS_2B-CWC-RO_GRANULE_P1_R05_E07_F03.hdf
指的就是2018年的低213天15时05分13秒得到的2B-CWC数据。

数据是普通hdf格式,在matlab中,使用hdfinfohdfread读取。
使用hdfinfo可以得到一个结构体,在matlab中,可以直接点击查看结构体的内容,并通过点击查看相迎变量,再通过hdfread读取数据,
如下图:在这里插入图片描述
这里是个三层结构,数据主要在info.Vgroup.Vgroup,Vdata里。
开始读取数据:

hdfname=[path,filename{i}];info=hdfinfo(hdfname);vgroup=info.Vgroup.Vgroup;geoinfo=vgroup(1).Vdata;lat=hdfread(geoinfo(4));lon=hdfread(geoinfo(5));height=hdfread(vgroup(1).SDS);time=hdfread(geoinfo(2));vdata=vgroup(2).SDS;lwc=hdfread(vdata(13));iwc=hdfread(vdata(15));

其中,iwc和lwc即为云的液态水含量与固态水含量。
height为卫星的radar bin的高度,总共有125个bin,间隔大约为240m,大约在-4570-25000m之间。下图为bin的示例:

在这里插入图片描述
考虑到实际使用时,主要是提取部分区域的部分数据用来比对,通过设定经纬度的边界来提取:

lat=lat{1};lon=lon{1};idx1=find(lat<latmax&lat>latmin);idx2=find(lon<lonmax&lon>lonmin);idx=intersect(idx1,idx2);if ~isempty(idx)iwc_use=iwc(idx,:);lwc_use=lwc(idx,:);height_use=height(idx,:);lat_use=lat(idx);lon_use=lon(idx);a=filename{i};ncname=regexp(a,'\d{13}','match');d=ncname{1};y=str2double(d(1:4));daynum=str2double(d(5:7));h=str2double(d(8:9));[mon,day]=day2mon(y,daynum);newname=datestr(datetime(y,mon,day,h,0,0),'yyyy-mm-dd_HH');ncfile=[path,newname,'.nc'];disp(ncfile);nccreate(ncfile,'lat','Dimensions',{'x',length(idx)});nccreate(ncfile,'lon','Dimensions',{'x',length(idx)});nccreate(ncfile,'height','Dimensions',{'x',length(idx),'y',125});nccreate(ncfile,'iwc','Dimensions',{'x',length(idx),'y',125});nccreate(ncfile,'lwc','Dimensions',{'x',length(idx),'y',125});ncwrite(ncfile,'lat',lat_use);ncwrite(ncfile,'lon',lon_use);ncwrite(ncfile,'iwc',iwc_use);ncwrite(ncfile,'lwc',lwc_use)ncwrite(ncfile,'height',height_use)end

输出即可

http://www.lryc.cn/news/469769.html

相关文章:

  • LDR6500 一拖三快充线的定义与特点
  • Elasticsearch安装使用
  • 计算机网络的主要知识点小结
  • fastjson/jackson对getter,setter和constructor的区分
  • 认识CSS语法
  • Linux运维篇-ansible的使用
  • 【MySQL】日志
  • 2024年CentOS镜像下载地址,包括CentOS官网、国内镜像下载,超详细也
  • STL学习-顺序容器-array数组
  • Spring Boot框架下的酒店住宿登记系统
  • electron展示下载进度条
  • Spark 基础操作
  • VoLTE 微案例:VoLTE 注册失败,I-CSCF 返回 403,HSS(UAR) 返回 5001
  • 智能财务 | 数据与融合,激发企业财务数智化转型思考
  • docker 下载netcore 镜像
  • Ajax:请求 响应
  • WebForms DataList 控件深入解析
  • 【有啥问啥】DINO:一种改进的去噪锚框的端到端目标检测器
  • 自由学习记录(15)
  • Docker 部署 JDK11 图文并茂简单易懂
  • Cisco ASAv虚拟防火墙
  • w~自动驾驶合集6
  • C/C++ H264文件解析
  • 【Windows】电脑端口明明没有进程占用但显示端口被占用(动态端口)
  • Redis 持久化 问题
  • vivado 配置
  • Java如何实现PDF转高质量图片
  • itemStyle.normal.label is deprecated, use label instead.
  • 如何在 Linux VPS 上保护 MySQL 和 MariaDB 数据库
  • CSS 样式 box-sizing: border-box; 用于控制元素的盒模型如何计算宽度和高度