MeteoInfoLab脚本示例:CloudSAT Swath HDF数据
读取CloudSAT HDF Swath数据,绘图分上下两部分,上面是时间和高度维的Radar Reflectivity Factor二维图,下面是卫星轨迹图。
示例程序:
# Add file
f = addfile('D:/Temp/hdf/2010128055614_21420_CS_2B-GEOPROF_GRANULE_P_R04_E03.hdf') # Read data
vname = 'Radar_Reflectivity'
v_data = f[vname]
data = v_data[:,:]
v_height = f['Height']
height = v_height[0,:]
time = f['Profile_time'][:]
lon = f['Longitude'][:]
lat = f['Latitude'][:] # Read attributes
long_name = v_data.attrvalue('long_name')[0]
scale_factor = v_data.attrvalue('factor')[0]
valid_min = v_data.attrvalue('valid_range')[0]
valid_max = v_data.attrvalue('valid_range')[1]
units = v_data.attrvalue('units')[0]
units_h = v_height.attrvalue('units')[0] # Apply scale factor
valid_max = valid_max / scale_factor
valid_min = valid_min / scale_factor
data = data / scale_factor
data[data>valid_max] = nan
data[data<valid_min] = nan
data = transpose(data)
data = data[::-1,:] # Make a split window plot
subplot(2, 1, 1) # Contour the data
levs = arange(-38, 50, 2)
layer = imshow(time, height[::-1], data, levs)
colorbar(layer)
title('Radar Reflectivity Factor')
xlabel('Seconds since the start of the granule. (seconds)')
ylabel('Height (m)') # The 2nd plot is the trajectory
subplot(2, 1, 2)
axesm()
lworld = shaperead('D:/Temp/map/country1.shp')
geoshow(lworld, edgecolor='k')
plotm(lon, lat, '-b', linewidth=4)
#scatterm(lon, lat, lon, size=4, edge=False, facecolor='b')
scatterm(lon[0], lat[0], size=6, facecolor='r')
xlim(-180, 180)
ylim(-90, 90)
title('Trajectory of Flight Path (starting point in red)')

MeteoInfoLab脚本示例:CloudSAT Swath HDF数据的更多相关文章
- MeteoInfoLab脚本示例:MERRA HDF数据
MERRA是NOAA的一种再分析资料,HDF数据遵循COARDS协议,读取比较简单.脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = 'MERRA3 ...
- MeteoInfoLab脚本示例:AVHRR HDF数据
这里演示读取和绘制AVHRR hdf格式数据,以sst(海表面温度)为例. 脚本程序: #Add data file f = addfile('D:/Temp/hdf/2006001-2006005. ...
- MeteoInfoLab脚本示例:TOMS HDF数据
TOMS (Total Ozone Mapping Spectrometer)数据是全球臭氧观测.脚本程序: #Add data file folder = 'D:/Temp/hdf/' fns = ...
- MeteoInfoLab脚本示例:SeaWiFS HDF Grid数据
SeaWiFS HDF Grid数据读取,特别是涉及到了文件的众多属性数据的读取,数据取对数后绘图.脚本程序: #Add data file f = addfile('D:/Temp/hdf/S199 ...
- MeteoInfoLab脚本示例:AMSR-E卫星数据投影
AMSR-E(http://nsidc.org/data/amsre/index.html)数据中的Land3数据是HDF-EOS4格式,投影是Cylindrical_Equal_Area.这里示例读 ...
- MeteoInfoLab脚本示例:获取一维数据并绘图
气象数据基本为多维数据(通常是4维,空间3维加时间维),只让数据中一维可变,其它维均固定即可提取一维数据.比如此例中固定了时间维.高度维.纬度维,只保留经度维可变:hgt = f['hgt'][0,[ ...
- MeteoInfoLab脚本示例:AIRS Swath HDF数据
例子中的AIRS Swath HDF数据在Polar Stereographic(南极)投影中接近矩形,需要先从数据中读出经纬度及相关数据数组,利用surfacem函数绘制Swath数据(散点),在s ...
- MeteoInfoLab脚本示例:FY-3C全球火点HDF数据
FY-3C全球火点HDF数据包含一个FIRES二维变量,第一维是火点数,第二维是一些属性,其中第3.4列分别是火点的纬度和经度.下面的脚本示例读出所有火点经纬度并绘图.脚本程序: #Add data ...
- MeteoInfoLab脚本示例:TRMM 2A12 HDF数据
TRMM 2A12 HDF数据是卫星观测的SWATH数据(轨道数据),比格点数据处理起来要麻烦一些.数据的经纬度保存在geolocation变量中,需要先将经纬度数据读出来(均为2维数组),然后读取云 ...
随机推荐
- Q200510-02-02: 重复的DNA序列 SQL解法
重复的DNA序列所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”.在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函数来 ...
- MyBatis的逆向工程、Example类
public void testFindUserByName(){ //通过criteria构造查询条件 UserExample userExample = new UserExample(); us ...
- 面试:为了进阿里,重新翻阅了Volatile与Synchronized
该系列文章收录在公众号[Ccww技术博客],原创技术文章早于博客推出 在深入理解使用Volatile与Synchronized时,应该先理解明白Java内存模型 (Java Memory Model, ...
- 分布式文件系统之MogileFS的安装使用
一.简介 MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的Danga Interactive公司开发:它主要由三部分组成,第一部分是server端,server端主要包括 ...
- Docker之概述
我们常常需要将应用程序部署在独立的系统环境中,而使用物理机器部署会浪费大量的物理资源.能否讲物理机器虚拟成一个一个容器,而将程序部署在各自的容器中?Docker是一个能够把开发的应用程序自动部署到容器 ...
- Mybatis是如何将Mapper接口注册到Spring IoC的
1. 前言 有时候我们需要自行定义一些注解来标记某些特定功能的类并将它们注入Spring IoC容器.比较有代表性的就是Mybatis的Mapper接口.假如有一个新的需求让你也实现类似的功能你该如何 ...
- Kafka实战宝典:Kafka的控制器controller详解
一.控制器简介 控制器组件(Controller),是 Apache Kafka 的核心组件.它的主要作用是在 Apache ZooKeeper 的帮助下管理和协调整个 Kafka 集群.集群中任意一 ...
- @Autowried入门和源码分析
话不多说直接上代码: 声明一个接口userDao: package ioc.hello; public interface UserDao { public void test(); } 2个实现类: ...
- BeautifulSoup解析页面
beautiful soup是一个解析包,专门用来解析html语法的,lxml是一个解析器,用来分析以及定位内容的 .是class #是id import requests from bs4 impo ...
- VUE开发(一)Spring Boot整合Vue并实现前后端贯穿调用
文章更新时间:2020/03/14 一.前言 作为一个后端程序员,前端知识多少还是要了解一些的,vue能很好的实现前后端分离,且更便于我们日常中的调试,还具备了轻量.低侵入性的特点,所以我觉得是很有必 ...