爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5150|回复: 9

GrADS如何处理这样不规则的netcdf(n*1维多变量,lat和lon包含在变量里),如何写CTL

[复制链接]
发表于 2014-11-29 06:45:00 | 显示全部楼层 |阅读模式
GrADS
系统平台:
问题截图: -
问题概况: GrADS如何处理这样不规则的netcdf(n*1维多变量,lat和lon包含在变量里),如何写CTL?
我看过提问的智慧: 看过
自己思考时长(天): 3

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

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

x
本帖最后由 rouqiudog 于 2014-11-30 20:59 编辑

最近在处理NOAA下面的卫星的太阳辐射数据,精度为0.125 * 0.125 °。
这个数据netcdf格式的。 NOAA目前不能提供裁剪功能,只能下载全部区域数据,每一小时一个数据,我想获得月平均的而已,但是只能自己处理。

目前提供的netcdf格式,通过ncdump.exe 查看到了信息如下(太长了,这里只写了重要的一部分,重要的变量背景高亮了)

dimensions:
   nlon_grid = 354673 ;
    nlat_grid = 1 ;
variables:
    int img_date ;
        img_date:long_name = "image year and day of year" ;
        img_date:units = "ccyyddd" ;
    int img_time ;
        img_time:long_name = "image time in UTC" ;
        img_time:units = "hhmmss UTC" ;
    float delta_lat ;
    float delta_lon ;
    float north_lat ;
    float south_lat ;
    float west_lon ;
    float east_lon ;
    int sat_number ;
    float lon_cell(nlat_grid, nlon_grid) ;
        lon_cell:long_name = "Gridcell longitude" ;
        lon_cell:RANGE_MIN = -180.f ;
        lon_cell:RANGE_MAX = 180.f ;
        lon_cell:RANGE_MISSING = -999.f ;
        lon_cell:UNITS = "degrees" ;
        lon_cell:SCALED = 0 ;
   float lat_cell(nlat_grid, nlon_grid) ;
        lat_cell:long_name = "Gridcell latitude" ;
        lat_cell:RANGE_MIN = -90.f ;
        lat_cell:RANGE_MAX = 90.f ;
        lat_cell:RANGE_MISSING = -999.f ;
        lat_cell:UNITS = "degrees" ;
        lat_cell:SCALED = 0 ;

  byte swd_sfc(nlat_grid, nlon_grid) ;
        swd_sfc:long_name = "Shortwave downward surface radiative flux" ;
        swd_sfc:RANGE_MIN = 0.f ;
        swd_sfc:RANGE_MAX = 1200.f ;
        swd_sfc:RANGE_MISSING = -99.f ;
        swd_sfc:SCALED_MIN = -127 ;
        swd_sfc:SCALED_MAX = 127 ;
        swd_sfc:SCALED_MISSING = -128b ;
        swd_sfc:UNITS = "W/m^2" ;
        swd_sfc:SCALED = 1 ;
......另外还给出了其他35个变量,格式大致与上面的byte swd_sfc(nlat_grid, nlon_grid) 差不多。

这种netcdf不能直接使用GrADS的sdfopen和xdfopen,应该不能自动识别数据格式。需要自己写特定的CTL。
我搜索了论坛以前的帖子,兰溪大神的帖子我无法学习(由于我新加入论坛分数不足无法下载(自动回复:请不要使用迅雷等下载工具,点我查看下载帮助)(自动回复:请不要使用迅雷等下载工具,点我查看下载帮助)(自动回复:请不要使用迅雷等下载工具,点我查看下载帮助)附件的PDF,:(),其中river写了两篇帖子(但是里面出来的数据比这个简单),认真读了那些帖子还是不能解决这个问题,所以麻烦大侠们指点迷津。

请问这种情况该如何写CTL来读取呢?
因为具体的Lat和Lon包含在了lon_cell 和 lat_cell。
-----另外麻烦的是我看了几个不同的hourly的数据,这个维数还是会改变的,如上面这个例子是    nlon_grid = 354673 ; 这个数值是变的,所以具体lat和lon必须读取 lon_cell (1到 最大值,如 354673 ;)-----我主要是想处理太阳辐射值swd_sfc(nlat_grid, nlon_grid) ; 而这个数据属于packed,unpack的方法应该是最大最小值转换,而不是常规的y =x* scale_factor + add_offset。
这里需要写成 y = [( x + 127)/(127 + 127)] * 1200.0 + 0

折腾很久搞不定,所以想请教各位大神帮忙,尤其是river,兰溪和管理员大神。

不知道如何上传数据,我把NOAA下order数据的连接放在这里,有人说这个链接打不开,我就又传到Baidu云盘共享了,现在应该能通过下面的链接下载了。
http://pan.baidu.com/s/1c06Ir5Y

请大神帮忙看看,例如以数据列表里面的 gsipL3_g11_GWNHEM_2011002_1700.nc 数据。
谢谢!


密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-29 17:24:07 | 显示全部楼层
期待大神啊
密码修改失败请联系微信:mofangbao
发表于 2014-11-29 21:30:46 | 显示全部楼层
我打不开那个网址
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-30 18:09:40 | 显示全部楼层
本帖最后由 rouqiudog 于 2014-11-30 21:00 编辑
river 发表于 2014-11-29 21:30
我打不开那个网址

不好意思,我重新把数据放到了baidu云盘里面。

http://pan.baidu.com/s/1c06Ir5Y

现在应该都能下载了,期待大神的帮忙,谢谢!
密码修改失败请联系微信:mofangbao
发表于 2014-11-30 21:57:08 | 显示全部楼层
rouqiudog 发表于 2014-11-30 18:09
不好意思,我重新把数据放到了baidu云盘里面。

http://pan.baidu.com/s/1c06Ir5Y

我已经收到了,看到那个资料了,太复杂啊。我得慢慢研究一下。你最好是有下载网址关于这个资料的说明。顺便我把详细的头文件信息全贴上来方便别人来看。@兰溪之水
netcdf gsipL3_g11_GWNHEM_2011001_1600 {
dimensions:
        nlon_grid = 352661 ;
        nlat_grid = 1 ;
variables:
        int img_date ;
                img_date:long_name = "image year and day of year" ;
                img_date:units = "ccyyddd" ;
        int img_time ;
                img_time:long_name = "image time in UTC" ;
                img_time:units = "hhmmss UTC" ;
        float delta_lat ;
        float delta_lon ;
        float north_lat ;
        float south_lat ;
        float west_lon ;
        float east_lon ;
        int sat_number ;
        float lon_cell(nlat_grid, nlon_grid) ;
                lon_cell:long_name = "Gridcell longitude" ;
                lon_cell:RANGE_MIN = -180.f ;
                lon_cell:RANGE_MAX = 180.f ;
                lon_cell:RANGE_MISSING = -999.f ;
                lon_cell:UNITS = "degrees" ;
                lon_cell:SCALED = 0 ;
        float lat_cell(nlat_grid, nlon_grid) ;
                lat_cell:long_name = "Gridcell latitude" ;
                lat_cell:RANGE_MIN = -90.f ;
                lat_cell:RANGE_MAX = 90.f ;
                lat_cell:RANGE_MISSING = -999.f ;
                lat_cell:UNITS = "degrees" ;
                lat_cell:SCALED = 0 ;
        byte senzen(nlat_grid, nlon_grid) ;
                senzen:long_name = "Mean sensor zenith angle" ;
                senzen:RANGE_MIN = 0.f ;
                senzen:RANGE_MAX = 180.f ;
                senzen:RANGE_MISSING = -999.f ;
                senzen:SCALED_MIN = -127 ;
                senzen:SCALED_MAX = 127 ;
                senzen:SCALED_MISSING = -128b ;
                senzen:UNITS = "degrees" ;
                senzen:SCALED = 1 ;
        byte solzen(nlat_grid, nlon_grid) ;
                solzen:long_name = "Mean solar zenith angle" ;
                solzen:RANGE_MIN = 0.f ;
                solzen:RANGE_MAX = 180.f ;
                solzen:RANGE_MISSING = -999.f ;
                solzen:SCALED_MIN = -127 ;
                solzen:SCALED_MAX = 127 ;
                solzen:SCALED_MISSING = -128b ;
                solzen:UNITS = "degrees" ;
                solzen:SCALED = 1 ;
        byte relaz(nlat_grid, nlon_grid) ;
                relaz:long_name = "Mean relative azimuth angle" ;
                relaz:RANGE_MIN = 0.f ;
                relaz:RANGE_MAX = 180.f ;
                relaz:RANGE_MISSING = -999.f ;
                relaz:SCALED_MIN = -127 ;
                relaz:SCALED_MAX = 127 ;
                relaz:SCALED_MISSING = -128b ;
                relaz:UNITS = "degrees" ;
                relaz:SCALED = 1 ;
        short ch2(nlat_grid, nlon_grid) ;
                ch2:long_name = "Mean all-sky 0.64 micron reflectance" ;
                ch2:RANGE_MIN = -10.f ;
                ch2:RANGE_MAX = 120.f ;
                ch2:RANGE_MISSING = -999.f ;
                ch2:SCALED_MIN = -32767 ;
                ch2:SCALED_MAX = 32767 ;
                ch2:SCALED_MISSING = -32768s ;
                ch2:UNITS = "percent" ;
                ch2:SCALED = 1 ;
        short ch2_cld(nlat_grid, nlon_grid) ;
                ch2_cld:long_name = "Mean cloudy-sky 0.64 micron reflectance" ;
                ch2_cld:RANGE_MIN = -10.f ;
                ch2_cld:RANGE_MAX = 120.f ;
                ch2_cld:RANGE_MISSING = -999.f ;
                ch2_cld:SCALED_MIN = -32767 ;
                ch2_cld:SCALED_MAX = 32767 ;
                ch2_cld:SCALED_MISSING = -32768s ;
                ch2_cld:UNITS = "percent" ;
                ch2_cld:SCALED = 1 ;
        short ch2_std(nlat_grid, nlon_grid) ;
                ch2_std:long_name = "Stdev all-sky 0.64 micron reflectance" ;
                ch2_std:RANGE_MIN = -10.f ;
                ch2_std:RANGE_MAX = 120.f ;
                ch2_std:RANGE_MISSING = -999.f ;
                ch2_std:SCALED_MIN = -32767 ;
                ch2_std:SCALED_MAX = 32767 ;
                ch2_std:SCALED_MISSING = -32768s ;
                ch2_std:UNITS = "percent" ;
                ch2_std:SCALED = 1 ;
        short ch9(nlat_grid, nlon_grid) ;
                ch9:long_name = "mean all-sky 6.8 micron radiance" ;
                ch9:RANGE_MIN = 0.f ;
                ch9:RANGE_MAX = 30.f ;
                ch9:RANGE_MISSING = -999.f ;
                ch9:SCALED_MIN = -32767 ;
                ch9:SCALED_MAX = 32767 ;
                ch9:SCALED_MISSING = -32768s ;
                ch9:UNITS = "mW/m2/cm-1/sr" ;
                ch9:SCALED = 1 ;
        short ch14(nlat_grid, nlon_grid) ;
                ch14:long_name = "mean all-sky 11 micron radiance" ;
                ch14:RANGE_MIN = 0.f ;
                ch14:RANGE_MAX = 190.f ;
                ch14:RANGE_MISSING = -999.f ;
                ch14:SCALED_MIN = -32767 ;
                ch14:SCALED_MAX = 32767 ;
                ch14:SCALED_MISSING = -32768s ;
                ch14:UNITS = "W/m2/um/sr" ;
                ch14:SCALED = 1 ;
        short ch14_std(nlat_grid, nlon_grid) ;
                ch14_std:long_name = "Stdev all-sky 11 micron radiance" ;
                ch14_std:RANGE_MIN = 0.f ;
                ch14_std:RANGE_MAX = 190.f ;
                ch14_std:RANGE_MISSING = -999.f ;
                ch14_std:SCALED_MIN = -32767 ;
                ch14_std:SCALED_MAX = 32767 ;
                ch14_std:SCALED_MISSING = -32768s ;
                ch14_std:UNITS = "W/m2/um/sr" ;
                ch14_std:SCALED = 1 ;
        short ch14clr(nlat_grid, nlon_grid) ;
                ch14clr:long_name = "Mean clear-sky 11 micron radiance" ;
                ch14clr:RANGE_MIN = 0.f ;
                ch14clr:RANGE_MAX = 190.f ;
                ch14clr:RANGE_MISSING = -999.f ;
                ch14clr:SCALED_MIN = -32767 ;
                ch14clr:SCALED_MAX = 32767 ;
                ch14clr:SCALED_MISSING = -32768s ;
                ch14clr:UNITS = "W/m2/um/sr" ;
                ch14clr:SCALED = 1 ;
        byte frac_snow(nlat_grid, nlon_grid) ;
                frac_snow:long_name = "Mean snow fraction" ;
                frac_snow:RANGE_MIN = 0.f ;
                frac_snow:RANGE_MAX = 1.f ;
                frac_snow:RANGE_MISSING = -999.f ;
                frac_snow:SCALED_MIN = -127 ;
                frac_snow:SCALED_MAX = 127 ;
                frac_snow:SCALED_MISSING = -128b ;
                frac_snow:UNITS = "fraction 0-1" ;
                frac_snow:SCALED = 1 ;
        byte lst(nlat_grid, nlon_grid) ;
                lst:long_name = "Mean surface temperature" ;
                lst:RANGE_MIN = 220.f ;
                lst:RANGE_MAX = 340.f ;
                lst:RANGE_MISSING = -999.f ;
                lst:SCALED_MIN = -127 ;
                lst:SCALED_MAX = 127 ;
                lst:SCALED_MISSING = -128b ;
                lst:UNITS = "Kelvin" ;
                lst:SCALED = 1 ;
        byte trad(nlat_grid, nlon_grid) ;
                trad:long_name = "Mean Radative temp" ;
                trad:RANGE_MIN = 220.f ;
                trad:RANGE_MAX = 340.f ;
                trad:RANGE_MISSING = -999.f ;
                trad:SCALED_MIN = -127 ;
                trad:SCALED_MAX = 127 ;
                trad:SCALED_MISSING = -128b ;
                trad:UNITS = "Kelvin" ;
                trad:SCALED = 1 ;
        byte iwp(nlat_grid, nlon_grid) ;
                iwp:long_name = "mean cloud iwp" ;
                iwp:RANGE_MIN = 0.f ;
                iwp:RANGE_MAX = 4.f ;
                iwp:RANGE_MISSING = -999.f ;
                iwp:SCALED_MIN = -127 ;
                iwp:SCALED_MAX = 127 ;
                iwp:SCALED_MISSING = -128b ;
                iwp:UNITS = "kg m-2" ;
                iwp:SCALED = 1 ;
        byte lwp(nlat_grid, nlon_grid) ;
                lwp:long_name = "mean cloud lwp" ;
                lwp:RANGE_MIN = 0.f ;
                lwp:RANGE_MAX = 4.f ;
                lwp:RANGE_MISSING = -999.f ;
                lwp:SCALED_MIN = -127 ;
                lwp:SCALED_MAX = 127 ;
                lwp:SCALED_MISSING = -128b ;
                lwp:UNITS = "kg m-2" ;
                lwp:SCALED = 1 ;
        byte cld_temp(nlat_grid, nlon_grid) ;
                cld_temp:long_name = "mean cloud top temperature" ;
                cld_temp:RANGE_MIN = 180.f ;
                cld_temp:RANGE_MAX = 320.f ;
                cld_temp:RANGE_MISSING = -999.f ;
                cld_temp:SCALED_MIN = -127 ;
                cld_temp:SCALED_MAX = 127 ;
                cld_temp:SCALED_MISSING = -128b ;
                cld_temp:UNITS = "K" ;
                cld_temp:SCALED = 1 ;
        byte cld_press(nlat_grid, nlon_grid) ;
                cld_press:long_name = "mean cloud top pressure" ;
                cld_press:RANGE_MIN = 0.f ;
                cld_press:RANGE_MAX = 1100.f ;
                cld_press:RANGE_MISSING = -999.f ;
                cld_press:SCALED_MIN = -127 ;
                cld_press:SCALED_MAX = 127 ;
                cld_press:SCALED_MISSING = -128b ;
                cld_press:UNITS = "HPa" ;
                cld_press:SCALED = 1 ;
        short tau(nlat_grid, nlon_grid) ;
                tau:long_name = "mean cloud optical depth" ;
                tau:RANGE_MIN = -0.2f ;
                tau:RANGE_MAX = 100.f ;
                tau:RANGE_MISSING = -999.f ;
                tau:SCALED_MIN = -32767 ;
                tau:SCALED_MAX = 32767 ;
                tau:SCALED_MISSING = -32768s ;
                tau:UNITS = "none" ;
                tau:SCALED = 1 ;
        byte frac_total_cld(nlat_grid, nlon_grid) ;
                frac_total_cld:long_name = "total cloud fraction" ;
                frac_total_cld:RANGE_MIN = 0.f ;
                frac_total_cld:RANGE_MAX = 1.f ;
                frac_total_cld:RANGE_MISSING = -999.f ;
                frac_total_cld:SCALED_MIN = -127 ;
                frac_total_cld:SCALED_MAX = 127 ;
                frac_total_cld:SCALED_MISSING = -128b ;
                frac_total_cld:UNITS = "fraction 0-1" ;
                frac_total_cld:SCALED = 1 ;
        byte frac_ice_cld(nlat_grid, nlon_grid) ;
                frac_ice_cld:long_name = "ice cloud fraction" ;
                frac_ice_cld:RANGE_MIN = 0.f ;
                frac_ice_cld:RANGE_MAX = 1.f ;
                frac_ice_cld:RANGE_MISSING = -999.f ;
                frac_ice_cld:SCALED_MIN = -127 ;
                frac_ice_cld:SCALED_MAX = 127 ;
                frac_ice_cld:SCALED_MISSING = -128b ;
                frac_ice_cld:UNITS = "fraction 0-1" ;
                frac_ice_cld:SCALED = 1 ;
        byte frac_water_cld(nlat_grid, nlon_grid) ;
                frac_water_cld:long_name = "water cloud fraction" ;
                frac_water_cld:RANGE_MIN = 0.f ;
                frac_water_cld:RANGE_MAX = 1.f ;
                frac_water_cld:RANGE_MISSING = -999.f ;
                frac_water_cld:SCALED_MIN = -127 ;
                frac_water_cld:SCALED_MAX = 127 ;
                frac_water_cld:SCALED_MISSING = -128b ;
                frac_water_cld:UNITS = "fraction 0-1" ;
                frac_water_cld:SCALED = 1 ;
        short ch2_ccr(nlat_grid, nlon_grid) ;
                ch2_ccr:long_name = "mean clear composite 0.64 micron reflectance" ;
                ch2_ccr:RANGE_MIN = -10.f ;
                ch2_ccr:RANGE_MAX = 120.f ;
                ch2_ccr:RANGE_MISSING = -999.f ;
                ch2_ccr:SCALED_MIN = -32767 ;
                ch2_ccr:SCALED_MAX = 32767 ;
                ch2_ccr:SCALED_MISSING = -32768s ;
                ch2_ccr:UNITS = "percent" ;
                ch2_ccr:SCALED = 1 ;
        short ch2_ccr_std(nlat_grid, nlon_grid) ;
                ch2_ccr_std:long_name = "Stdev clear composite 0.64 micron reflectance" ;
                ch2_ccr_std:RANGE_MIN = -10.f ;
                ch2_ccr_std:RANGE_MAX = 120.f ;
                ch2_ccr_std:RANGE_MISSING = -999.f ;
                ch2_ccr_std:SCALED_MIN = -32767 ;
                ch2_ccr_std:SCALED_MAX = 32767 ;
                ch2_ccr_std:SCALED_MISSING = -32768s ;
                ch2_ccr_std:UNITS = "percent" ;
                ch2_ccr_std:SCALED = 1 ;
        byte olr(nlat_grid, nlon_grid) ;
                olr:long_name = "mean outgoing longwave radiative flux" ;
                olr:RANGE_MIN = 50.f ;
                olr:RANGE_MAX = 400.f ;
                olr:RANGE_MISSING = -999.f ;
                olr:SCALED_MIN = -127 ;
                olr:SCALED_MAX = 127 ;
                olr:SCALED_MISSING = -128b ;
                olr:UNITS = "W/m^2" ;
                olr:SCALED = 1 ;
        byte swd_sfc(nlat_grid, nlon_grid) ;
                swd_sfc:long_name = "Shortwave downward surface radiative flux" ;
                swd_sfc:RANGE_MIN = 0.f ;
                swd_sfc:RANGE_MAX = 1200.f ;
                swd_sfc:RANGE_MISSING = -99.f ;
                swd_sfc:SCALED_MIN = -127 ;
                swd_sfc:SCALED_MAX = 127 ;
                swd_sfc:SCALED_MISSING = -128b ;
                swd_sfc:UNITS = "W/m^2" ;
                swd_sfc:SCALED = 1 ;
        float swd_sfc_qc(nlat_grid, nlon_grid) ;
                swd_sfc_qc:long_name = "Shortwave downward surface radiative flux QC" ;
                swd_sfc_qc:RANGE_MIN = 0.f ;
                swd_sfc_qc:RANGE_MAX = 2000.f ;
                swd_sfc_qc:RANGE_MISSING = 2.f ;
                swd_sfc_qc:UNITS = "none" ;
                swd_sfc_qc:SCALED = 0 ;
        byte swu_sfc(nlat_grid, nlon_grid) ;
                swu_sfc:long_name = "Shortwave upward surface radiative flux" ;
                swu_sfc:RANGE_MIN = 0.f ;
                swu_sfc:RANGE_MAX = 1200.f ;
                swu_sfc:RANGE_MISSING = -99.f ;
                swu_sfc:SCALED_MIN = -127 ;
                swu_sfc:SCALED_MAX = 127 ;
                swu_sfc:SCALED_MISSING = -128b ;
                swu_sfc:UNITS = "W/m^2" ;
                swu_sfc:SCALED = 1 ;
        byte swd_toa(nlat_grid, nlon_grid) ;
                swd_toa:long_name = "Shortwave downward TOA radiative flux" ;
                swd_toa:RANGE_MIN = 0.f ;
                swd_toa:RANGE_MAX = 1200.f ;
                swd_toa:RANGE_MISSING = -99.f ;
                swd_toa:SCALED_MIN = -127 ;
                swd_toa:SCALED_MAX = 127 ;
                swd_toa:SCALED_MISSING = -128b ;
                swd_toa:UNITS = "W/m^2" ;
                swd_toa:SCALED = 1 ;
        byte swu_toa(nlat_grid, nlon_grid) ;
                swu_toa:long_name = "Shortwave upward TOA radiative flux" ;
                swu_toa:RANGE_MIN = 0.f ;
                swu_toa:RANGE_MAX = 1200.f ;
                swu_toa:RANGE_MISSING = -99.f ;
                swu_toa:SCALED_MIN = -127 ;
                swu_toa:SCALED_MAX = 127 ;
                swu_toa:SCALED_MISSING = -128b ;
                swu_toa:UNITS = "W/m^2" ;
                swu_toa:SCALED = 1 ;
        byte swd_sfc_clr(nlat_grid, nlon_grid) ;
                swd_sfc_clr:long_name = "Shortwave downward surface clear radiative flux" ;
                swd_sfc_clr:RANGE_MIN = 0.f ;
                swd_sfc_clr:RANGE_MAX = 1200.f ;
                swd_sfc_clr:RANGE_MISSING = -99.f ;
                swd_sfc_clr:SCALED_MIN = -127 ;
                swd_sfc_clr:SCALED_MAX = 127 ;
                swd_sfc_clr:SCALED_MISSING = -128b ;
                swd_sfc_clr:UNITS = "W/m^2" ;
                swd_sfc_clr:SCALED = 1 ;
        byte swu_sfc_clr(nlat_grid, nlon_grid) ;
                swu_sfc_clr:long_name = "Shortwave upward surface clear radiative flux" ;
                swu_sfc_clr:RANGE_MIN = 0.f ;
                swu_sfc_clr:RANGE_MAX = 1200.f ;
                swu_sfc_clr:RANGE_MISSING = -99.f ;
                swu_sfc_clr:SCALED_MIN = -127 ;
                swu_sfc_clr:SCALED_MAX = 127 ;
                swu_sfc_clr:SCALED_MISSING = -128b ;
                swu_sfc_clr:UNITS = "W/m^2" ;
                swu_sfc_clr:SCALED = 1 ;
        byte swu_toa_clr(nlat_grid, nlon_grid) ;
                swu_toa_clr:long_name = "Shortwave upward TOA clear radiative flux" ;
                swu_toa_clr:RANGE_MIN = 0.f ;
                swu_toa_clr:RANGE_MAX = 1200.f ;
                swu_toa_clr:RANGE_MISSING = -99.f ;
                swu_toa_clr:SCALED_MIN = -127 ;
                swu_toa_clr:SCALED_MAX = 127 ;
                swu_toa_clr:SCALED_MISSING = -128b ;
                swu_toa_clr:UNITS = "W/m^2" ;
                swu_toa_clr:SCALED = 1 ;
        byte vis_down_sfc(nlat_grid, nlon_grid) ;
                vis_down_sfc:long_name = "Visible downward surface radiative flux" ;
                vis_down_sfc:RANGE_MIN = 0.f ;
                vis_down_sfc:RANGE_MAX = 1200.f ;
                vis_down_sfc:RANGE_MISSING = -99.f ;
                vis_down_sfc:SCALED_MIN = -127 ;
                vis_down_sfc:SCALED_MAX = 127 ;
                vis_down_sfc:SCALED_MISSING = -128b ;
                vis_down_sfc:UNITS = "W/m^2" ;
                vis_down_sfc:SCALED = 1 ;
        byte cld_type(nlat_grid, nlon_grid) ;
                cld_type:long_name = "dominant cloud type" ;
                cld_type:UNITS = "none" ;
                cld_type:RANGE_MISSING = -999.f ;
                cld_type:RANGE_MIN = 0.f ;
                cld_type:RANGE_MAX = 6.f ;
                cld_type:SCALED_MIN = -127 ;
                cld_type:SCALED_MAX = 127 ;
                cld_type:SCALED_MISSING = -128b ;
                cld_type:SCALED = 1 ;
        byte ozone(nlat_grid, nlon_grid) ;
                ozone:long_name = "Mean total column ozone" ;
                ozone:RANGE_MIN = 0.f ;
                ozone:RANGE_MAX = 0.7f ;
                ozone:RANGE_MISSING = -999.f ;
                ozone:SCALED_MIN = -127 ;
                ozone:SCALED_MAX = 127 ;
                ozone:SCALED_MISSING = -128b ;
                ozone:UNITS = "atm-cm" ;
                ozone:SCALED = 1 ;
        byte tpw(nlat_grid, nlon_grid) ;
                tpw:long_name = "Mean TPW" ;
                tpw:RANGE_MIN = 0.f ;
                tpw:RANGE_MAX = 10.f ;
                tpw:RANGE_MISSING = -999.f ;
                tpw:SCALED_MIN = -127 ;
                tpw:SCALED_MAX = 127 ;
                tpw:SCALED_MISSING = -128b ;
                tpw:UNITS = "cm" ;
                tpw:SCALED = 1 ;
        byte lwdsfc(nlat_grid, nlon_grid) ;
                lwdsfc:long_name = "Longwave downward surface radative flux" ;
                lwdsfc:RANGE_MIN = 50.f ;
                lwdsfc:RANGE_MAX = 700.f ;
                lwdsfc:RANGE_MISSING = -99.f ;
                lwdsfc:SCALED_MIN = -127 ;
                lwdsfc:SCALED_MAX = 127 ;
                lwdsfc:SCALED_MISSING = -128b ;
                lwdsfc:UNITS = "W/m^2" ;
                lwdsfc:SCALED = 1 ;
        byte lwusfc(nlat_grid, nlon_grid) ;
                lwusfc:long_name = "Longwave upward surface radative flux" ;
                lwusfc:RANGE_MIN = 50.f ;
                lwusfc:RANGE_MAX = 900.f ;
                lwusfc:RANGE_MISSING = -99.f ;
                lwusfc:SCALED_MIN = -127 ;
                lwusfc:SCALED_MAX = 127 ;
                lwusfc:SCALED_MISSING = -128b ;
                lwusfc:UNITS = "W/m^2" ;
                lwusfc:SCALED = 1 ;

// global attributes:
                :algorithm = "GSIP_v2" ;
}
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-11-30 22:35:39 | 显示全部楼层
river 发表于 2014-11-30 21:57
我已经收到了,看到那个资料了,太复杂啊。我得慢慢研究一下。你最好是有下载网址关于这个资料的说明。顺 ...

谢谢。

目前这个数据非常奇怪,NOAA的下载该数据的网址,没有太多相关资料。给NOAA写信,回信说了 他们网站不容许贴附件,然后给我发过来了3个PDF。里面的3个PDF基本上没有太多有用的东西,就是说数据里面含有了什么变量,也就是这个头文件里面的东西。
另外唯一有用的就是说那个转换的问题,就是我提问题提到的,关于scale需要用最大和最小值的那个公式转换。 y = [( x + 127)/(127 + 127)] * 1200.0 + 0

问NOAA官方如何处理这个数据,他们就是说回信用是HDFviewer和netcdf viewer软件,但是那些都是基本上方便看的,处理计算好像不太行。

所以想看看大神们能搞定这个GrADS处理的不。
谢谢。
密码修改失败请联系微信:mofangbao
发表于 2014-12-1 06:24:29 | 显示全部楼层
rouqiudog 发表于 2014-11-30 22:35
谢谢。

目前这个数据非常奇怪,NOAA的下载该数据的网址,没有太多相关资料。给NOAA写信,回信说了 他 ...

你直接问他们用grads怎么处理这个数据
密码修改失败请联系微信:mofangbao
 成长值: 19710
发表于 2014-12-1 08:01:15 | 显示全部楼层
这种不那么规则的数据还是建议先处理成常规的存放格式做吧,或者直接用NCL,MATLAB,IDL等软件处理,应该王老师的meteoinfo也是可以方便处理和画图,最近王老师有出教程,可以跟着学~
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-12-2 21:28:36 | 显示全部楼层
兰溪之水 发表于 2014-12-1 08:01
这种不那么规则的数据还是建议先处理成常规的存放格式做吧,或者直接用NCL,MATLAB,IDL等软件处理,应该王 ...

嗯 谢谢。

看来只能先用matlab/IDL处理了。 后面有机会看看meteoinfo.
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-12-2 21:29:21 | 显示全部楼层
兰溪之水 发表于 2014-12-1 08:01
这种不那么规则的数据还是建议先处理成常规的存放格式做吧,或者直接用NCL,MATLAB,IDL等软件处理,应该王 ...

嗯 谢谢。

看来只能先用matlab/IDL处理了。 后面有机会看看meteoinfo.
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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