爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3731|回复: 7

如何运用meteoinfolab读取FY3C的湿度计数据

[复制链接]

新浪微博达人勋

发表于 2016-11-10 15:34:08 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
现在我有FY3C的湿度计数据,因为这个数据资料每个里面是有15个通道的,现在我想画局部的图(华南区域),再将不同通道的数据求平均再画图,所以仅仅是用meteoinfo来简单出图是做不到的。
因此想请问下论坛中的大神们能否运用meteoinfolab来读取FY3C不同通道的数据,进而来画图

FY3C_MWHSX_GBAL_L1_20160731_1254_015KM_MS.HDF

13.13 MB, 下载次数: 12, 下载积分: 金钱 -5

FY3C湿度计资料

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-11 12:26:50 | 显示全部楼层
这个文件里没有15个通道的数据,文件内容如下:File Name: E:/Temp/FY3C_MWHSX_GBAL_L1_20160731_1254_015KM_MS.HDF
File type: Hierarchical Data Format, version 5 (HDF5)
Dimensions: 0
Global Attributes:
        : Data_Quality = 0UB
        : QA_Scan_Flag = 100UB
        : AscendingNodeLongitude = 7.8674994E7
        : EarthSun_Distance_Ratio = 1.0150490217543118
        : Eccentricity = 229274.0
        : EpochTime = 160731.0
        : MeanAnomaly = 5.0740469E7
        : MeanMotion = 103417.0
        : OrbitalInclination = 2.7390342E7
        : PerigeeArgument = 3.1474906E7
        : Orbit_Number = 14789U
        : Chs_Central_Wavenumber = 2.9687f, 3.9611f, 3.9611f, 3.9611f, 3.9611f, 3.9611f, 3.9611f, 3.9611f, 3.9611f, 5.0037f, 6.1146f, 6.1146f, 6.1146f, 6.1146f, 6.1146f
        : Orbit_Point_Latitude = 17.54117f, 13.823394f, 2.0225449f, -1.6095531f
        : Orbit_Point_Longitude = -49.302296f, -25.325314f, -77.701645f, -54.58242f
        : Count_CaliErr_scnlines = 0
        : Count_GeolErr_scnlines = 0
        : Count_Missing_scnlines = 0
        : Count_scnlines = 2385
        : Count_scnlines_calibrated = 2385
        : Count_Scnlines_SP_View_Lunar_Contaminated = 0S
        : Count_TimeSeqErr = 0
        : Incomplete_Scans = 0U
        : Number_Of_Day_mode_scans = 0U
        : Number_Of_Scans = 2385U
        : Number_of_Night_mode_scans = 0U
        : AdditionalAnotation = "Product creator:Gusongyan Tel:010-68409404 Email:gusy@cma.gov.cn;MWHS Geolocation use GPS data."
        : Dataset_Name = "Global MWHTS Data"
        : Coefficient_Index_Revision_Date = "2013-08-01"
        : Data_Creating_Date = "2016-08-01"
        : Observing_Beginning_Date = "2016-07-31"
        : Observing_Ending_Date = "2016-07-31"
        : Software_Revision_Date = "2013-08-10"
        : Day_Or_Night_Flag = "M"
        : File_Alias_Name = "MWHS_L1"
        : File_Name = "FY3C_MWHSX_GBAL_L1_20160731_1254_015KM_MS.HDF"
        : Orbit_Direction = "Both"
        : Reference_Ellipsoid_Model_ID = "WGS84"
        : Responser = "NSMC"
        : Satellite_Name = "FY-3C"
        : Sensor_Identification_Code = "16"
        : Sensor_Name = "Advanced Microwave Humidity Sounder"
        : Data_Creating_Time = "11:15:55.835"
        : Observing_Beginning_Time = "12:54:40.000"
        : Observing_Ending_Time = "14:40:38.000"
        : Version_Of_Coefficient_Index = "V1.1.0"
        : Version_Of_Software = "V 1.0.0"
        : Begin_Line_Number = 12380US
        : Begin_Pixel_Number = 1US
        : End_Line_Number = 14764US
        : End_Pixel_Number = 98US
        : Orbit_Period(min.) = 102US
        : QA_Pixel_Flag = 0US
Variations: 17
        short DEM(null,null);
                DEM: units = "meter"
                DEM: valid_range = -400, 10000
                DEM: FillValue = 32767
                DEM: Intercept = 0.0f
                DEM: Slope = 1.0f
                DEM: long_name = "Digital Elevation Measurement"
                DEM: band_name = "none"
                DEM: _ChunkSizes = 2385, 98
        float Earth_Obs_BT(null,null,null);
                Earth_Obs_BT: valid_range = 80.0, 340.0
                Earth_Obs_BT: FillValue = 65535.0
                Earth_Obs_BT: Intercept = 0.0
                Earth_Obs_BT: Slope = 1.0
                Earth_Obs_BT: long_name = "Earth Observation Brightness Temperature"
                Earth_Obs_BT: band_name = "Channel 1 to 15"
                Earth_Obs_BT: units = "K"
                Earth_Obs_BT: _ChunkSizes = 1, 2385, 98
        byte LandCover(null,null);
                LandCover: units = "none"
                LandCover: valid_range = 0, 17
                LandCover: FillValue = 255
                LandCover: Intercept = 0.0f
                LandCover: Slope = 1.0f
                LandCover: long_name = "Land Cover"
                LandCover: band_name = "none"
                LandCover: _Unsigned = "true"
                LandCover: _ChunkSizes = 2385, 98
        byte LandSeaMask(null,null);
                LandSeaMask: units = "none"
                LandSeaMask: valid_range = 1, 5
                LandSeaMask: FillValue = 255
                LandSeaMask: Intercept = 0.0f
                LandSeaMask: Slope = 1.0f
                LandSeaMask: long_name = "Land Sea Mask"
                LandSeaMask: band_name = "none"
                LandSeaMask: _Unsigned = "true"
                LandSeaMask: _ChunkSizes = 2385, 98
        short Pixel_View_Angle(null,null);
                Pixel_View_Angle: Slope = 0.01f
                Pixel_View_Angle: long_name = "Pixel_View_Angle"
                Pixel_View_Angle: units = "degree"
                Pixel_View_Angle: valid_range = 12000, 24000
                Pixel_View_Angle: FillValue = 32767
                Pixel_View_Angle: Intercept = 0.0f
                Pixel_View_Angle: band_name = "none"
                Pixel_View_Angle: _ChunkSizes = 2385, 2
        short Scnlin(null);
                Scnlin: units = "none"
                Scnlin: valid_range = 0, 32400
                Scnlin: FillValue = 32767
                Scnlin: Intercept = 0.0f
                Scnlin: Slope = 1.0f
                Scnlin: long_name = "Scan line number"
                Scnlin: band_name = "none"
                Scnlin: _Unsigned = "true"
                Scnlin: _ChunkSizes = 2385
        float Latitude(null,null);
                Latitude: FillValue = 32767.0
                Latitude: Intercept = 0.0
                Latitude: long_name = "Latitude"
                Latitude: band_name = "none"
                Latitude: units = "degree"
                Latitude: valid_range = -90.0, 90.0
                Latitude: Slope = 1.0
                Latitude: _ChunkSizes = 2385, 98
        float Longitude(null,null);
                Longitude: units = "degree"
                Longitude: valid_range = -180.0, 180.0
                Longitude: FillValue = 32767.0
                Longitude: Intercept = 0.0
                Longitude: Slope = 1.0
                Longitude: long_name = "Longitude"
                Longitude: band_name = "none"
                Longitude: _ChunkSizes = 2385, 98
        short Scnlin_daycnt(null);
                Scnlin_daycnt: units = "none"
                Scnlin_daycnt: valid_range = 0, 10000
                Scnlin_daycnt: FillValue = 32767
                Scnlin_daycnt: Intercept = 0.0f
                Scnlin_daycnt: Slope = 1.0f
                Scnlin_daycnt: long_name = "Scan line Time(day counter)"
                Scnlin_daycnt: band_name = "none"
                Scnlin_daycnt: _Unsigned = "true"
                Scnlin_daycnt: _ChunkSizes = 2385
        int Scnlin_mscnt(null);
                Scnlin_mscnt: units = "milliseconds"
                Scnlin_mscnt: valid_range = 0, 864000000
                Scnlin_mscnt: FillValue = -1
                Scnlin_mscnt: Intercept = 0.0f
                Scnlin_mscnt: Slope = 1.0f
                Scnlin_mscnt: long_name = "Scan line Time(milliseconds counter)"
                Scnlin_mscnt: band_name = "none"
                Scnlin_mscnt: _Unsigned = "true"
                Scnlin_mscnt: _ChunkSizes = 2385
        short SensorAzimuth(null,null);
                SensorAzimuth: units = "degree"
                SensorAzimuth: valid_range = -18000, 18000
                SensorAzimuth: FillValue = 32767
                SensorAzimuth: Intercept = 0.0f
                SensorAzimuth: Slope = 0.01f
                SensorAzimuth: long_name = "Sensor Azimuth"
                SensorAzimuth: band_name = "none"
                SensorAzimuth: _ChunkSizes = 2385, 98
        short SensorZenith(null,null);
                SensorZenith: FillValue = 32767
                SensorZenith: Intercept = 0.0f
                SensorZenith: Slope = 0.01f
                SensorZenith: long_name = "Sensor Zenith"
                SensorZenith: band_name = "none"
                SensorZenith: units = "degree"
                SensorZenith: valid_range = 0, 18000
                SensorZenith: _ChunkSizes = 2385, 98
        short SolarAzimuth(null,null);
                SolarAzimuth: units = "degree"
                SolarAzimuth: valid_range = -18000, 18000
                SolarAzimuth: FillValue = 32767
                SolarAzimuth: Intercept = 0.0f
                SolarAzimuth: Slope = 0.01f
                SolarAzimuth: long_name = "Solar Azimuth"
                SolarAzimuth: band_name = "none"
                SolarAzimuth: _ChunkSizes = 2385, 98
        short SolarZenith(null,null);
                SolarZenith: units = "degree"
                SolarZenith: valid_range = 0, 18000
                SolarZenith: FillValue = 32767
                SolarZenith: Intercept = 0.0f
                SolarZenith: Slope = 0.01f
                SolarZenith: long_name = "Solar Zenith"
                SolarZenith: band_name = "none"
                SolarZenith: _ChunkSizes = 2385, 98
        short QA_Ch_Flag(null);
                QA_Ch_Flag: units = "none"
                QA_Ch_Flag: valid_range = 0, 1000
                QA_Ch_Flag: FillValue = 9999
                QA_Ch_Flag: Intercept = 0.0f
                QA_Ch_Flag: Slope = 1.0f
                QA_Ch_Flag: long_name = "QA Flag for Channels"
                QA_Ch_Flag: band_name = "none"
                QA_Ch_Flag: _Unsigned = "true"
                QA_Ch_Flag: _ChunkSizes = 2385
        short QA_Scan_Flag(null);
                QA_Scan_Flag: units = "none"
                QA_Scan_Flag: valid_range = 0, 99999
                QA_Scan_Flag: FillValue = 99999
                QA_Scan_Flag: Intercept = 0.0f
                QA_Scan_Flag: Slope = 1.0f
                QA_Scan_Flag: long_name = "QA Flag for Scanline"
                QA_Scan_Flag: band_name = "none"
                QA_Scan_Flag: _ChunkSizes = 2385
        int scnlin_qc(null);
                scnlin_qc: units = "none"
                scnlin_qc: valid_range = 0, 65535
                scnlin_qc: FillValue = 65535
                scnlin_qc: Intercept = 0.0f
                scnlin_qc: Slope = 1.0f
                scnlin_qc: long_name = "scan line quality flag"
                scnlin_qc: band_name = "1"
                scnlin_qc: _Unsigned = "true"
                scnlin_qc: _ChunkSizes = 2385

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-11 12:30:15 | 显示全部楼层
一个简单的脚本绘制数据中的DEM变量:

  1. fn = 'E:/Temp/FY3C_MWHSX_GBAL_L1_20160731_1254_015KM_MS.HDF'
  2. f = addfile(fn)
  3. data = f['DEM'][:,:]
  4. lon = f['Longitude'][:,:]
  5. lat = f['Latitude'][:,:]
  6. #Plot
  7. axesm()
  8. lworld = shaperead('D:/Temp/Map/country1.shp')
  9. geoshow(lworld)
  10. layer = surfacem(lon, lat, data, 20)
  11. colorbar(layer)


FY3C_MWHSX.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-13 20:06:35 | 显示全部楼层
本帖最后由 zoevy9 于 2016-11-13 20:34 编辑
MeteoInfo 发表于 2016-11-11 12:26
这个文件里没有15个通道的数据,文件内容如下:File Name: E:/Temp/FY3C_MWHSX_GBAL_L1_20160731_1254_015K ...

15个通道的数据在Earth_Obs_BT这个变量里面,其实现在想问问怎么样才能画出指定的经纬度范围的图,在脚本里是怎么编写?
Earth_Obs_BT.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-13 21:21:40 | 显示全部楼层
zoevy9 发表于 2016-11-13 20:06
15个通道的数据在Earth_Obs_BT这个变量里面,其实现在想问问怎么样才能画出指定的经纬度范围的图,在脚本 ...

可以在绘图时用xlim函数指定经度范围,ylim函数指定纬度范围。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-14 10:33:32 | 显示全部楼层
MeteoInfo 发表于 2016-11-13 21:21
可以在绘图时用xlim函数指定经度范围,ylim函数指定纬度范围。

谢谢解答现在又有一个问题想问,怎么设置指定数值范围的colorbar
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-11-14 20:43:10 | 显示全部楼层
zoevy9 发表于 2016-11-14 10:33
谢谢解答现在又有一个问题想问,怎么设置指定数值范围的colorbar

colorbar可以自定义,参考此贴:http://bbs.06climate.com/forum.p ... &extra=page%3D1
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-11-16 22:18:28 | 显示全部楼层
MeteoInfo 发表于 2016-11-14 20:43
colorbar可以自定义,参考此贴:http://bbs.06climate.com/forum.php?mod=viewthread&tid=36422&extra=pa ...

谢谢解答问题解决啦~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表