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

输出即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/904614.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

端侧大模型浪潮奔涌而至:态势、影响与建议

腾讯研究院大模型研究小分队出品 自苹果推出AI手机以来&#xff0c;端侧大模型的产品发布进入加速期。 10月10日&#xff0c;Vivo推出蓝心端侧大模型 3B&#xff0c;其AI能力已覆盖60多个国家和地区&#xff0c;服务超5亿手机用户&#xff0c;大模型token输出量超过3万亿&…

【jvm】为什么Xms和Xmx的值通常设置为相同的?

目录 1. 说明2. 避免性能开销3. 提升稳定性4. 简化配置5. 优化垃圾收集6. 获取参数6.1 代码示例6.2 结果示例 1. 说明 1.-Xms 和 -Xmx 参数分别用于设置堆内存的初始大小&#xff08;最小值&#xff09;和最大大小。2.在开发环境中&#xff0c;开发人员可能希望快速启动应用程…

Docker搭建官方私有仓库registry及相关配置

&#xff08;企业不推荐使用registry&#xff09; 在 Docker 中&#xff0c;当我们执行 docker pull xxx 的时候 &#xff0c;它实际上是从 https://registry.hub.docker.com/ 这个地址去查找&#xff0c;这就是Docker公司为我们提供的公共仓库。 在工作中&#xff0c;我们不可…

Rust编程中的浮点数比较

缘由&#xff1a;在看Rust编写的代码&#xff0c;发现了一行浮点数等于比较的代码&#xff0c;于是编辑如下内容。 在Rust中&#xff0c;进行浮点数比较时需要特别小心&#xff0c;因为浮点数由于精度限制无法精确表示小数&#xff0c;可能会导致直接比较&#xff08;如 &…

获取Hive表备注

DESCRIBE EXTENDED 表名;先获取Detailed Table Information这行的data_type字段数据&#xff0c;进行正则匹配&#xff0c;拿到表备注&#xff0c;如下&#xff1a; String str ReUtil.get("parameters:\\{(?!.*?\\().*transient_lastDdlTime.*?comment(.*?)\\}&quo…

【笔记】记一次因Spring版本和Tomcat版本不对应,造成Spring MVC项目启动后页面访问报404的问题

项目结构 pom.xml文件内容 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apa…

大模型,多模态大模型面试【LoRA,分类,动静态数据类型,DDPM,ControlNet,IP-Adapter, Stable Diffusion】

大模型&#xff0c;多模态大模型面试【LoRA&#xff0c;分类&#xff0c;动静态数据类型&#xff0c;DDPM&#xff0c;ControlNet&#xff0c;IP-Adapter, Stable Diffusion】 问题一&#xff1a;LoRA是用在节省资源的场景下&#xff0c;那么LoRA具体是节省了内存带宽还是显存呢…

BGP路由优选+EVPN

BGP 的路由优选规则是一套多步决策链&#xff0c;用来确定在多个可行路由中选择最优的路由。BGP 是一种路径向量协议&#xff0c;通过这些优选规则&#xff0c;网络管理员可以控制数据流量的流向&#xff0c;确保网络的稳定性和效率。下面以一个实例来详细说明 BGP 的优选规则及…

大桥局老施工员的肺腑之言:桥梁安全,为何离不开自动化监测?

随着我国桥梁数量的快速增长&#xff0c;同时既有的许多桥梁逐渐进入了养护维修阶段。有关专家认为桥梁使用超过25年以上则进入老化期&#xff1b;据统计&#xff0c;我国桥梁总数的40%已经属于“老龄”桥梁。而且随着时间的推移&#xff0c;其数量还在不断增长&#xff0c;屡屡…

项目符合行业安全标准的必要步骤与实用建议

要保障项目符合行业安全标准&#xff0c;关键在于建立全面的安全管理体系、定期进行风险评估、持续培训员工&#xff0c;以及确保合规性文件和审核流程完整。例如&#xff0c;通过建立合规文件和审核流程&#xff0c;可以系统性地跟踪项目的安全实践和合规性&#xff0c;使安全…

openpnp - 手工修改配置文件(元件高度,size,吸嘴)

文章目录 openpnp - 手工修改配置文件(元件高度,size,吸嘴)概述笔记parts.xmlpackages.xml 手工将已经存在的NT1,NT2拷贝出来改名备注END openpnp - 手工修改配置文件(元件高度,size,吸嘴) 概述 载入新板子贴片准备时&#xff0c;除了引入Named CSV文件&#xff0c;还要在ope…

Fakelocation 运动世界校园(虚拟机篇)

前言:需要一个Root虚拟机&#xff0c;Fakelocation&#xff0c;运动世界校园&#xff0c;Dia系统要求 虚拟机 | Fakelocation | MT管理器 | Dia 任务一 虚拟机&#xff08;内置root完整德尔塔环境&#xff09; 请设置一个路线模拟&#xff0c;并且定位成功&#xff0c;确保f…

redis实现分布式锁,go实现完整code

Redis分布式锁 Redis 分布式锁是一种使用 Redis 数据库实现分布式锁的方式&#xff0c;可以保证在分布式环境中同一时间只有一个实例可以访问共享资源。 实现机制 以下是实现其加锁步骤&#xff1a; 获取锁 在 Redis 中&#xff0c;一个相同的key代表一把锁。是否拥有这把锁&…

池化层笔记

池化层 文章目录 池化层二维池化层超参数池化层的分类代码实现填充和步幅 多个通道 总结 卷积对位置敏感&#xff0c;可以检测垂直边缘。需要有一定程度的平移不变性&#xff0c;而在平时图片的拍摄&#xff0c;会因为图片的照明&#xff0c;物体位置&#xff0c;比例&#xff…

React核心思维模型(一)

一、数据和视图分离&#xff0c;数据改变驱动视图更新 <div>Tom</div>如果我们想修改上述div盒子中的Tom为Jerry&#xff0c;应该怎样修改呢 在jquery中我们直接把界面元素抓过来修改 document.getElementsByTagName(div).item(0) Jerry 但在react中&#xf…

MoveIt 控制自己的真实机械臂【2】——编写 action server 端代码

完成了 MoveIt 这边 action client 的基本配置&#xff0c;MoveIt 理论上可以将规划好的 trajectory 以 action 的形式发布出来了&#xff0c;浅浅尝试一下&#xff0c;在 terminal 中运行 roslaunch xmate7_moveit_config_new demo.launch 报错提示他在等待 xmate_arm_control…

jenkins部署手册

文章目录 一、环境配置资源配置操作系统资源配置服务器 二、jenkins软件部署2.1 下载软件包2.2 启动jenkins2.2.1 准备jdk环境2.2.2 准备maven环境2.2.3 编写jenkins.service 2.3 配置jenkins2.3.1 修改插件源&#xff08;非必要不修改&#xff09;2.3.2 配置环境变量2.3.3 配置…

网络编程 UDP编程 Linux环境 C语言实现

UDP编程 1. 一般UDP编程 UDP传输特点&#xff1a;非面向连接、不可靠的、无序的 报式传输 支持组播和广播 UDP应用数据最大长度建议&#xff1a;MTU(以太网分组数据的最大长度)1500 - 20(IP头) - 8(UDP头) 1472Bytes 客户端&#xff1a;支持两种形式的代码编写: 1. 不定向…

【Python爬虫实战】深入理解Python异步编程:从协程基础到高效爬虫实现

#1024程序员节&#xff5c;征文# &#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、异步 &#xff08;一&#xff09;核心概念 &#xff08;二&#xff09;…

Flutter InkWell组件去掉灰色遮罩

当InkerWell组件内部获取到焦点时&#xff0c;会展示一层灰色遮罩 将focusColor属性设置为透明即可 Flutter InkWell焦点效果源码分析 问题描述 当 InkWell 组件获得焦点时&#xff0c;会显示一层灰色遮罩效果。需要找出这个效果是由哪些组件控制的&#xff0c;以及具体的…