[gradsusr] netcdf file has two times defined for the same timestep

Jennifer Adams jma at cola.iges.org
Wed Jun 29 08:32:05 EDT 2011


Hi, Robert -- You must use a descriptor file and the 'open' command to  
read this netcdf file - sdfopen will not get everything right. Your  
ctl file is mostly correct:
1. Add "_FillValue" onto your UNDEF statement
2. no need to alias variable names field186 and field201 to their  
identical names
2. take the "_" out of the variable name alias: field16_2=>field162

Your XDEF and YDEF appear to describe the longitude0 and latitude0  
coordinates, so you can only look at variables that have those same  
lat/lon coordinates. Because you are overriding the metadata in the  
file, it should not matter that some use the time0 coordinate and  
others use time1 -- they are both size 1. GrADS doesn't handle 360-day  
calendars at all, but as long as this data set doesn't vary in time,  
that really doesn't matter either. You don't say which variable you're  
trying to plot, but you do mention that GrADS draws a constant field  
of 0, yet this is not the missing value, and you do not get any  
errors. Are you sure that the data in the file is not a constant field  
of zeros?
--Jennifer

On Jun 28, 2011, at 2:42 PM, Roberto Mera wrote:

> Hi. I'm trying to map variables from a netcdf file that has two  
> separate
> defined times for the exact same timestep (1 month). Using sdfopen
> displays only two of the variables where there are 22. Using a ctl  
> file
> it maps out a constant value 0. I've isolated the problem as follows:
> there is a time0 and time1 defined in the netcdf and two of the
> variables have the former as its time but the rest correspond to the
> latter. Below is the ncdump of the file. I'm using v2.0.a9.oga.1 on a
> unix platform. Please advice.
>
> netcdf zzzrlargescalenov98.nc
>  {
> dimensions:
>      time0 = UNLIMITED ; // (1 currently)
>      time1 = 1 ;
>      z0 = 1 ;
>      z1 = 1 ;
>      z2 = 1 ;
>      z3 = 1 ;
>      z4 = 3 ;
>      z5 = 1 ;
>      z6 = 1 ;
>      latitude0 = 145 ;
>      longitude0 = 192 ;
>      latitude1 = 144 ;
>      longitude1 = 192 ;
> variables:
>      float time0(time0) ;
>          time0:standard_name = "time" ;
>          time0:axis = "T" ;
>          time0:calendar = "360_day" ;
>          time0:units = "days since 1959-12-01 00:00:00" ;
>          time0:meaning_period = "720 hours" ;
>          time0:meaning_sampling_frequency = "3 hours" ;
>      float time1(time1) ;
>          time1:standard_name = "time" ;
>          time1:axis = "T" ;
>          time1:calendar = "360_day" ;
>          time1:units = "days since 1959-12-01 00:00:00" ;
>          time1:meaning_period = "720 hours" ;
>          time1:meaning_sampling_frequency = "1 hours" ;
>      float z0(z0) ;
>          z0:standard_name = "height" ;
>          z0:units = "m" ;
>          z0:direction = "up" ;
>      float z1(z1) ;
>      float z2(z2) ;
>          z2:standard_name =  
> "atmosphere_hybrid_sigma_pressure_coordinate" ;
>          z2:direction = "down" ;
>      float z3(z3) ;
>          z3:standard_name = "height" ;
>          z3:units = "m" ;
>          z3:direction = "up" ;
>      float z4(z4) ;
>          z4:standard_name = "air_pressure" ;
>          z4:units = "hPa" ;
>          z4:direction = "down" ;
>      float z5(z5) ;
>          z5:standard_name = "air_pressure" ;
>          z5:units = "hPa" ;
>          z5:direction = "down" ;
>      float z6(z6) ;
>          z6:standard_name = "height" ;
>          z6:units = "m" ;
>          z6:direction = "up" ;
>      float latitude0(latitude0) ;
>          latitude0:standard_name = "latitude" ;
>          latitude0:units = "degrees_north" ;
>          latitude0:axis = "Y" ;
>      float longitude0(longitude0) ;
>          longitude0:standard_name = "longitude" ;
>          longitude0:units = "degrees_east" ;
>          longitude0:axis = "X" ;
>      float latitude1(latitude1) ;
>          latitude1:standard_name = "latitude" ;
>          latitude1:units = "degrees_north" ;
>          latitude1:axis = "Y" ;
>      float longitude1(longitude1) ;
>          longitude1:standard_name = "longitude" ;
>          longitude1:units = "degrees_east" ;
>          longitude1:axis = "X" ;
>      float field186(time0, z0, latitude0, longitude0) ;
>          field186:_FillValue = -1.073742e+09f ;
>          field186:stash_item = "201" ;
>          field186:stash_section = "1" ;
>          field186:field_code = "186" ;
>          field186:standard_name =  
> "surface_net_downward_shortwave_flux" ;
>          field186:long_name = "NET DOWN SURFACE SW FLUX: SW TS ONLY" ;
>          field186:units = "W m-2" ;
>          field186:cell_method = "time: mean " ;
>      float field201(time0, z1, latitude0, longitude0) ;
>          field201:_FillValue = -1.073742e+09f ;
>          field201:stash_item = "208" ;
>          field201:stash_section = "1" ;
>          field201:field_code = "201" ;
>          field201:standard_name = "toa_outgoing_shortwave_flux" ;
>          field201:long_name = "OUTGOING SW RAD FLUX (TOA)" ;
>          field201:units = "W m-2" ;
>          field201:cell_method = "time: mean " ;
>      float field207(time0, z1, latitude0, longitude0) ;
>          field207:_FillValue = -1.073742e+09f ;
>          field207:stash_item = "209" ;
>          field207:stash_section = "1" ;
>          field207:field_code = "207" ;
>          field207:standard_name =
> "toa_outgoing_shortwave_flux_assuming_clear_sky" ;
>          field207:long_name = "CLEAR-SKY (II) UPWARD SW FLUX (TOA)" ;
>          field207:units = "W m-2" ;
>          field207:cell_method = "time: mean " ;
>      float field187(time0, z0, latitude0, longitude0) ;
>          field187:_FillValue = -1.073742e+09f ;
>          field187:stash_item = "201" ;
>          field187:stash_section = "2" ;
>          field187:field_code = "187" ;
>          field187:standard_name =  
> "surface_net_downward_longwave_flux" ;
>          field187:long_name = "NET DOWN SURFACE LW RAD FLUX" ;
>          field187:units = "W m-2" ;
>          field187:cell_method = "time: mean " ;
>      float field206(time0, z1, latitude0, longitude0) ;
>          field206:_FillValue = -1.073742e+09f ;
>          field206:stash_item = "205" ;
>          field206:stash_section = "2" ;
>          field206:field_code = "206" ;
>          field206:standard_name = "toa_net_upward_longwave_flux" ;
>          field206:long_name = "OUTGOING LW RAD FLUX (TOA)" ;
>          field206:units = "W m-2" ;
>          field206:cell_method = "time: mean " ;
>      float field210(time0, z1, latitude0, longitude0) ;
>          field210:_FillValue = -1.073742e+09f ;
>          field210:stash_item = "206" ;
>          field210:stash_section = "2" ;
>          field210:field_code = "210" ;
>          field210:standard_name =
> "toa_net_upward_longwave_flux_assuming_clear_sky" ;
>          field210:long_name = "CLEAR-SKY (II) UPWARD LW FLUX (TOA)" ;
>          field210:units = "W m-2" ;
>          field210:cell_method = "time: mean " ;
>      float field178(time1, z2, latitude0, longitude0) ;
>          field178:_FillValue = -1.073742e+09f ;
>          field178:stash_item = "217" ;
>          field178:stash_section = "3" ;
>          field178:field_code = "178" ;
>          field178:standard_name =  
> "surface_upward_sensible_heat_flux" ;
>          field178:long_name = "SURFACE  B.LAYER HEAT FLUXES W/M2" ;
>          field178:units = "W m-2" ;
>          field178:cell_method = "time: mean " ;
>      float field56(time1, z3, latitude1, longitude1) ;
>          field56:_FillValue = -1.073742e+09f ;
>          field56:stash_item = "225" ;
>          field56:stash_section = "3" ;
>          field56:field_code = "56" ;
>          field56:standard_name = "eastward_wind" ;
>          field56:long_name = "10 METRE WIND U-COMP" ;
>          field56:units = "m s-1" ;
>          field56:cell_method = "time: mean " ;
>      float field57(time1, z3, latitude1, longitude1) ;
>          field57:_FillValue = -1.073742e+09f ;
>          field57:stash_item = "226" ;
>          field57:stash_section = "3" ;
>          field57:field_code = "57" ;
>          field57:standard_name = "northward_wind" ;
>          field57:long_name = "10 METRE WIND V-COMP" ;
>          field57:units = "m s-1" ;
>          field57:cell_method = "time: mean " ;
>      float field180(time1, z0, latitude0, longitude0) ;
>          field180:_FillValue = -1.073742e+09f ;
>          field180:stash_item = "234" ;
>          field180:stash_section = "3" ;
>          field180:field_code = "180" ;
>          field180:standard_name = "surface_upward_latent_heat_flux" ;
>          field180:long_name = "SURFACE LATENT HEAT FLUX W/M2" ;
>          field180:units = "W m-2" ;
>          field180:cell_method = "time: mean " ;
>      float field16(time1, z3, latitude0, longitude0) ;
>          field16:_FillValue = -1.073742e+09f ;
>          field16:stash_item = "236" ;
>          field16:stash_section = "3" ;
>          field16:field_code = "16" ;
>          field16:standard_name = "air_temperature" ;
>          field16:long_name = "TEMPERATURE AT 1.5M" ;
>          field16:units = "K" ;
>          field16:cell_method = "time: mean " ;
>      float field88(time1, z3, latitude0, longitude0) ;
>          field88:_FillValue = -1.073742e+09f ;
>          field88:stash_item = "245" ;
>          field88:stash_section = "3" ;
>          field88:field_code = "88" ;
>          field88:standard_name = "relative_humidity" ;
>          field88:long_name = "RELATIVE HUMIDITY AT 1.5M" ;
>          field88:units = "1" ;
>          field88:cell_method = "time: mean " ;
>      float field17(time1, z3, latitude0, longitude0) ;
>          field17:_FillValue = -1.073742e+09f ;
>          field17:stash_item = "250" ;
>          field17:stash_section = "3" ;
>          field17:field_code = "17" ;
>          field17:standard_name = "dew_point_temperature" ;
>          field17:long_name = "DEWPOINT AT 1.5M" ;
>          field17:units = "K" ;
>          field17:cell_method = "time: mean " ;
>      float field90(time1, z0, latitude0, longitude0) ;
>          field90:_FillValue = -1.073742e+09f ;
>          field90:stash_item = "216" ;
>          field90:stash_section = "5" ;
>          field90:field_code = "90" ;
>          field90:standard_name = "precipitation_flux" ;
>          field90:long_name = "TOTAL PRECIPITATION RATE KG/M2/S" ;
>          field90:units = "kg m-2 s-1" ;
>          field90:cell_method = "time: mean " ;
>      float field106(time1, z0, latitude0, longitude0) ;
>          field106:_FillValue = -1.073742e+09f ;
>          field106:stash_item = "208" ;
>          field106:stash_section = "8" ;
>          field106:field_code = "106" ;
>          field106:standard_name =  
> "liquid_water_content_of_soil_layer" ;
>          field106:long_name = "SOIL MOISTURE CONTENT" ;
>          field106:units = "kg m-2" ;
>          field106:cell_method = "time: mean " ;
>      float field56_1(time1, z4, latitude1, longitude1) ;
>          field56_1:_FillValue = -1.073742e+09f ;
>          field56_1:stash_item = "201" ;
>          field56_1:stash_section = "15" ;
>          field56_1:field_code = "56" ;
>          field56_1:standard_name = "eastward_wind" ;
>          field56_1:long_name = "U COMPNT OF WIND ON PRESSURE LEVELS" ;
>          field56_1:units = "m s-1" ;
>          field56_1:cell_method = "time: mean " ;
>      float field57_1(time1, z4, latitude1, longitude1) ;
>          field57_1:_FillValue = -1.073742e+09f ;
>          field57_1:stash_item = "202" ;
>          field57_1:stash_section = "15" ;
>          field57_1:field_code = "57" ;
>          field57_1:standard_name = "northward_wind" ;
>          field57_1:long_name = "V COMPNT OF WIND ON PRESSURE LEVELS" ;
>          field57_1:units = "m s-1" ;
>          field57_1:cell_method = "time: mean " ;
>      float field1(time1, z5, latitude0, longitude0) ;
>          field1:_FillValue = -1.073742e+09f ;
>          field1:stash_item = "202" ;
>          field1:stash_section = "16" ;
>          field1:field_code = "1" ;
>          field1:standard_name = "geopotential_height" ;
>          field1:long_name = "GEOPOTENTIAL HEIGHT: PRESSURE LEVELS" ;
>          field1:units = "m" ;
>          field1:cell_method = "time: mean " ;
>      float field16_1(time1, z5, latitude0, longitude0) ;
>          field16_1:_FillValue = -1.073742e+09f ;
>          field16_1:stash_item = "203" ;
>          field16_1:stash_section = "16" ;
>          field16_1:field_code = "16" ;
>          field16_1:standard_name =  
> "air_temperature_at_pressure_level" ;
>          field16_1:long_name = "TEMPERATURE ON PRESSURE LEVELS" ;
>          field16_1:units = "K" ;
>          field16_1:cell_method = "time: mean " ;
>      float field88_1(time1, z5, latitude0, longitude0) ;
>          field88_1:_FillValue = -1.073742e+09f ;
>          field88_1:stash_item = "204" ;
>          field88_1:stash_section = "16" ;
>          field88_1:field_code = "88" ;
>          field88_1:standard_name =  
> "relative_humidity_at_pressure_level" ;
>          field88_1:long_name = "RELATIVE HUMIDITY ON PRESSURE  
> LEVELS" ;
>          field88_1:units = "1" ;
>          field88_1:cell_method = "time: mean " ;
>      float field8(time1, z6, latitude0, longitude0) ;
>          field8:_FillValue = -1.073742e+09f ;
>          field8:stash_item = "222" ;
>          field8:stash_section = "16" ;
>          field8:field_code = "8" ;
>          field8:standard_name = "air_pressure_at_sea_level" ;
>          field8:long_name = "PRESSURE AT MEAN SEA LEVEL" ;
>          field8:units = "Pa" ;
>          field8:cell_method = "time: mean " ;
>      float field16_2(time1, z0, latitude0, longitude0) ;
>          field16_2:_FillValue = -1.073742e+09f ;
>          field16_2:stash_item = "24" ;
>          field16_2:stash_section = "0" ;
>          field16_2:field_code = "16" ;
>          field16_2:standard_name = "surface_temperature" ;
>          field16_2:long_name = "SURFACE TEMPERATURE AFTER TIMESTEP" ;
>          field16_2:units = "K" ;
>          field16_2:cell_method = "time: mean " ;
>
> // global attributes:
>          :Conventions = "CF-1.3" ;
>          :alpham = 0.5f ;
> }
>
> Appending that, here is the ctl file:
>
> DSET ^zzzrlargescalenov98.nc
> dtype netcdf
> TITLE Pacific northwest
> UNDEF -99999
> xdef  192 linear 0 1.875
> ydef  145 linear -90 1.25
> ZDEF    1 LINEAR 1 1
> TDEF  1 LINEAR 0Z01OCT2006 1MO
> VARS 3
> field186=>field186     1 T,Z,Y,X surface_downwelling_shortwave_flux  
> (W m-2)
> field201=>field201    1 T,Z,Y,X precipitation_flux (kg/m2/s)
> field16_2=>field16_2    1 T,Z,Y,X surface_temperature (K)
> ENDVARS
>
> -Robert
>
>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr

--
Jennifer M. Adams
IGES/COLA
4041 Powder Mill Road, Suite 302
Calverton, MD 20705
jma at cola.iges.org



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20110629/0cae3615/attachment-0003.html 


More information about the gradsusr mailing list