[gradsusr] Displaying a .nc file
David Stanfel
dstanfel at ualberta.ca
Fri Jun 20 16:17:22 EDT 2014
Yay progress!
I changed what you suggested for the temp but with similar results.
Apparently the time dimension wasn't the issue:
dstanfel:bin ninjawarrior343$ cat test.ctl
DSET ^atmos_month.nc.0000
UNDEF -9.99e8 missing_value
DTYPE netcdf
TITLE 6 Months Sample Model Output
*
XDEF 144 LINEAR 0.0 2.5
*
YDEF 3 LINEAR 1 1
*
ZDEF 24 LINEAR 1 1
*
TDEF 1 LINEAR 01JAN0001 1dy
*
VARS 3
slp 0 t,y,x sea level pressure (Pa)
temp 24 z,y,x temperature (K)
zsurf 0 y,z surface height (m)
ENDVARS
dstanfel:bin ninjawarrior343$ ./grads
Grid Analysis and Display System (GrADS) Version 2.1.a2
Copyright (c) 1988-2013 by the Institute for Global Environment and Society
(IGES)
GrADS comes with ABSOLUTELY NO WARRANTY
See file COPYRIGHT for more information
Config: v2.1.a2 little-endian readline grib2 netcdf hdf4-sds hdf5
opendap-grids,stn geotiff shapefile cairo
Issue 'q config' command for more detailed configuration information
Landscape mode? ('n' for portrait): y
GX Package Initialization: Size = 11 8.5
ga-> open test.ctl
Scanning description file: test.ctl
Data file atmos_month.nc.0000 is open as file 1
LON set to 0 360
LAT set to 1 3
LEV set to 1 1
Time values set: 1:1:1:0 1:1:1:0
E set to 1 1
ga-> d temp
gancgrid error: nc_get_vara_double failed; NetCDF: Index exceeds dimension
bound
Data Request Error: Error for variable 'temp'
Error ocurred at column 1
DISPLAY error: Invalid expression
Expression = temp
I set the GADDIR environment which did get rid of the stroke error. With
the zsurf just outputting now:
ga-> d zsurf
Contouring: 0 to 2.7e+34 interval 3e+33
With the output graphic which I have attached.
Changing the UNDEF to 1e33 didn't seem to do much either. I tried
displaying it 4 times and it seems to go back and forth with a different
contouring interval:
ga-> d zsurf
Contouring: 0 to 2.7e+34 interval 3e+33
ga-> d zsurf
Contouring: 0 to 2.2e+77 interval 2e+76
ga-> d zsurf
Contouring: 0 to 2.7e+34 interval 3e+33
ga-> d zsurf
Contouring: 0 to 2.2e+77 interval 2e+76
And same with the temperature, getting rid of the time dimension in the slp
variable did not change the error:
ga-> d slp
gancgrid error: nc_get_vara_double failed; NetCDF: Index exceeds dimension
bound
Data Request Error: Error for variable 'slp'
Error ocurred at column 1
DISPLAY error: Invalid expression
Expression = slp
Thanks,
David
On Fri, Jun 20, 2014 at 3:21 PM, Jennifer Adams <jma at cola.iges.org> wrote:
> Hi, David --
> You are making progress!
>
> On Jun 20, 2014, at 2:51 PM, David Stanfel wrote:
>
> Yes, the axis stuff is pretty confusing, I've been looking around for what
> I should be using for it and still can't find it. I made the suggested
> changes to my control file:
>
> DSET ^atmos_month.nc.0000
> UNDEF -9.99e8_slp
> UNDEF -9.99e8_temp
> UNDEF -9.99e8_zsurf
>
> Remove these three UNDEF entries and just use 'UNDEF -9.99e8
> missing_value' instead.
>
> DTYPE netcdf
> TITLE 6 Months Sample Model Output
> XDEF 144 LINEAR 0.0 2.5
> YDEF 3 LINEAR 1 1
> ZDEF 24 LINEAR 1 1
> TDEF 1 LINEAR 01JAN0001 1dy
> VARS 3
> slp 0 t,y,x sea level pressure (Pa)
> temp 24 t,z,y,x temperature (K)
> zsurf 0 y,z surface height (m)
> ENDVARS
>
> This was the result when it was called and when I tried to display the
> three variables that were specified:
>
> dstanfel:bin ninjawarrior343$ ./grads
>
> Grid Analysis and Display System (GrADS) Version 2.1.a2
> Copyright (c) 1988-2013 by the Institute for Global Environment and
> Society (IGES)
> GrADS comes with ABSOLUTELY NO WARRANTY
> See file COPYRIGHT for more information
>
> Config: v2.1.a2 little-endian readline grib2 netcdf hdf4-sds hdf5
> opendap-grids,stn geotiff shapefile cairo
> Issue 'q config' command for more detailed configuration information
> Landscape mode? ('n' for portrait): y
> GX Package Initialization: Size = 11 8.5
> ga-> open test.ctl
> Scanning description file: test.ctl
> Data file atmos_month.nc.0000 is open as file 1
> LON set to 0 360
> LAT set to 1 3
> LEV set to 1 1
> Time values set: 1:1:1:0 1:1:1:0
> E set to 1 1
> ga-> d temp
>
>
> The warning message below shouldn't be appearing (that is a bug I will try
> to track down), but it is harmless.
>
> *** WARNING! ***
> *** The I/O for this variable will be extremely slow
> *** because the chunks are too big to fit in the cache
> *** chunk size = 41472 bytes (144 * 3 * 24 * 1 * 4 bytes)
> *** cache size = -2017461983885971885 bytes
> *** There are two ways to control the cache size:
> *** add a CACHESIZE entry to the descriptor file
> *** or change the cache size scale factor with 'set cachesf'
> *** Please read http://iges.org/grads/gadoc/compression.html
>
>
> This message is more troubling, it means the shape of the variable (the
> number of its dimensions and their sizes) isn't right. I think this is
> related to the size 0 time axis. Try changing the variable declaration to
> "temp 24 z,y,x temperature (K)" and see if that changes anything.
>
> gancgrid error: nc_get_vara_double failed; NetCDF: Index exceeds dimension
> bound
> Data Request Error: Error for variable 'temp'
> Error ocurred at column 1
> DISPLAY error: Invalid expression
> Expression = temp
>
> ga-> d zsurf
> Open Error on Map Data Set: /usr/local/lib/grads/lowres
>
> The environment variable you need to set is GADDIR -- it should point to
> the location where you unpacked data.tar.gz. This will make the 'stroke
> character' error messages go away too.
>
> Contouring: 0 to 2.7e+34 interval 3e+33
>
> These don't seem like the correct range of values for surface height … I
> wonder whether the missing value attribute is correct -- it says the undef
> is 1e+20, but maybe it is really 1e33? More investigating for you. If you
> want to ignore the undef attribute in the file and try 1e33 instead, use
> 'undef 1e33' (without the "missing_value" appended). That will mess up the
> other variables in the file, but you can do this to check whether the undef
> attribute is wrong.
>
> ga-> d slp
> gancgrid error: nc_get_vara_double failed; NetCDF: Index exceeds dimension
> bound
>
> Again, I think this is related to the problem with the T axis. See what
> happens when you use 'slp 0 y,x sea level pressure' instead.
>
> Data Request Error: Error for variable 'slp'
> Error ocurred at column 1
> DISPLAY error: Invalid expression
> Expression = slp
> ga->
>
> I tried changing the environment of where the font data is stored with:
>
> export GASCRP=$HOME/University/Research_job/supplibs
>
> but this did not change the error.
>
> The GASCRP environment variable tells GrADS where to look for scripts if
> it can't find them in the current working directory. The one you need to
> set properly is GADDIR. Doc page is at
> http://iges.org/grads/gadoc/gradcomdgrads.html#env
> --Jennifer
>
>
>
> Thanks,
>
> David
>
>
> On Fri, Jun 20, 2014 at 8:18 AM, Jennifer Adams <jma at cola.iges.org> wrote:
>
>> David,
>> You need to read the documentation about creating descriptors for netcdf
>> data.
>> http://iges.org/grads/gadoc/SDFdescriptorfile.html
>>
>> Your file has numerous coordinate variables, yet the ncdump output shows
>> them all to contain missing data, so I'm not sure how you can define the
>> proper grid. The 'lon' coordinate is promising, it has 144 values, so you
>> could try assuming it's a 2.5-degree grid and create an X axis like this:
>> xdef 144 linear 0 2.5
>> I don't know what the information in the attribute named
>> domain_decomposition means. Is it relevant?
>>
>> The lat axis has only 3 values … I have no idea how to guess at that, so
>> I woud put an abstract axis definition, like this:
>> ydef 3 linear 1 1
>>
>> For the Z axis, most of the variables use pfull, but once again, there is
>> no information about what those values might be, so:
>> zdef 24 linear 1 1
>>
>> The time dimension has size 0, yet most of the variables in your file
>> appear to have a time dimension. I don't know how to interpret that,
>> perhaps just a default will do:
>> tdef 1 linear 01jan0001 1dy
>>
>> As for variables, if you extract all the variables that use the axes lon,
>> lat, or pfull, you get a long list. Here are three examples:
>>
>> float slp(time, lat, lon) ;
>> float temp(time, pfull, lat, lon) ;
>> float zsurf(lat, lon) ;
>>
>> Variable declarations for these three variables would look like this:
>>
>> vars 3
>> slp 0 t,y,x sea level pressure (Pa)
>> temp 24 t,z,y,x temperature (K)
>> zsurf 0 y,z surface height (m)
>> endvars
>>
>> You will also need
>> dtype netcdf
>> undef -9.99e8 missing_value
>>
>> The undef entry is important because the variables in your file have
>> different missing values, so you need to put the name of the attribute in
>> there so GrADS will get it right. The -9.99e8 can be any number -- the
>> attribute name is what's critical here.
>>
>> But I can't say for sure whether this will work because of your 0-size
>> time axis. And the mapping will be off until you figure out what the
>> latitude values are.
>> --Jennifer
>>
>> On Jun 19, 2014, at 1:50 PM, David Stanfel wrote:
>>
>> Here is the output of the ncdump:
>>
>> dstanfel at bugaboo:~/models/mom/work/ESM2M_pi-control_C2> ncdump -c
>> atmos_month.nc.0000
>> netcdf atmos_month.nc {
>> dimensions:
>> lon = 144 ;
>> lonb = 145 ;
>> lat = 3 ;
>> latb = 4 ;
>> time = UNLIMITED ; // (0 currently)
>> nv = 2 ;
>> pfull = 24 ;
>> phalf = 25 ;
>> variables:
>> double lon(lon) ;
>> lon:long_name = "longitude" ;
>> lon:units = "degrees_E" ;
>> lon:cartesian_axis = "X" ;
>> lon:domain_decomposition = 1, 144, 1, 144 ;
>> lon:edges = "lonb" ;
>> double lonb(lonb) ;
>> lonb:long_name = "longitude edges" ;
>> lonb:units = "degrees_E" ;
>> lonb:cartesian_axis = "X" ;
>> double lat(lat) ;
>> lat:long_name = "latitude" ;
>> lat:units = "degrees_N" ;
>> lat:cartesian_axis = "Y" ;
>> lat:domain_decomposition = 1, 90, 1, 3 ;
>> lat:edges = "latb" ;
>> double latb(latb) ;
>> latb:long_name = "latitude edges" ;
>> latb:units = "degrees_N" ;
>> latb:cartesian_axis = "Y" ;
>> latb:domain_decomposition = 1, 91, 1, 4 ;
>> double time(time) ;
>> time:long_name = "time" ;
>> time:units = "days since 0001-01-01 00:00:00" ;
>> time:cartesian_axis = "T" ;
>> time:calendar_type = "NOLEAP" ;
>> time:calendar = "NOLEAP" ;
>> time:bounds = "time_bounds" ;
>> double nv(nv) ;
>> nv:long_name = "vertex number" ;
>> nv:units = "none" ;
>> nv:cartesian_axis = "N" ;
>> double pfull(pfull) ;
>> pfull:long_name = "ref full pressure level" ;
>> pfull:units = "mb" ;
>> pfull:cartesian_axis = "Z" ;
>> pfull:positive = "down" ;
>> pfull:edges = "phalf" ;
>> double phalf(phalf) ;
>> phalf:long_name = "ref half pressure level" ;
>> phalf:units = "mb" ;
>> phalf:cartesian_axis = "Z" ;
>> phalf:positive = "down" ;
>> float fco2nat(time, lat, lon) ;
>> fco2nat:long_name = "flux of carbon dioxide" ;
>> fco2nat:units = "mol CO2/(m2 s)" ;
>> fco2nat:missing_value = 1.e+20f ;
>> fco2nat:_FillValue = 1.e+20f ;
>> fco2nat:cell_methods = "time: mean" ;
>> fco2nat:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float high_cld_amt(time, lat, lon) ;
>> high_cld_amt:long_name = "high cloud amount" ;
>> high_cld_amt:units = "percent" ;
>> high_cld_amt:missing_value = 1.e+20f ;
>> high_cld_amt:_FillValue = 1.e+20f ;
>> high_cld_amt:cell_methods = "time: mean" ;
>> high_cld_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float low_cld_amt(time, lat, lon) ;
>> low_cld_amt:long_name = "low cloud amount" ;
>> low_cld_amt:units = "percent" ;
>> low_cld_amt:missing_value = 1.e+20f ;
>> low_cld_amt:_FillValue = 1.e+20f ;
>> low_cld_amt:cell_methods = "time: mean" ;
>> low_cld_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float mid_cld_amt(time, lat, lon) ;
>> mid_cld_amt:long_name = "mid cloud amount" ;
>> mid_cld_amt:units = "percent" ;
>> mid_cld_amt:missing_value = 1.e+20f ;
>> mid_cld_amt:_FillValue = 1.e+20f ;
>> mid_cld_amt:cell_methods = "time: mean" ;
>> mid_cld_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tot_cld_amt(time, lat, lon) ;
>> tot_cld_amt:long_name = "total cloud amount" ;
>> tot_cld_amt:units = "percent" ;
>> tot_cld_amt:missing_value = 1.e+20f ;
>> tot_cld_amt:_FillValue = 1.e+20f ;
>> tot_cld_amt:cell_methods = "time: mean" ;
>> tot_cld_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float taubx(time, lat, lon) ;
>> taubx:long_name = "x base flux for grav wave drag" ;
>> taubx:units = "kg/m/s2" ;
>> taubx:missing_value = -999.f ;
>> taubx:_FillValue = -999.f ;
>> taubx:cell_methods = "time: mean" ;
>> taubx:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tauby(time, lat, lon) ;
>> tauby:long_name = "y base flux for grav wave drag" ;
>> tauby:units = "kg/m/s2" ;
>> tauby:missing_value = -999.f ;
>> tauby:_FillValue = -999.f ;
>> tauby:cell_methods = "time: mean" ;
>> tauby:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float udt_gwd(time, pfull, lat, lon) ;
>> udt_gwd:long_name = "u wind tendency for gravity wave drag" ;
>> udt_gwd:units = "m/s2" ;
>> udt_gwd:missing_value = -999.f ;
>> udt_gwd:_FillValue = -999.f ;
>> udt_gwd:cell_methods = "time: mean" ;
>> udt_gwd:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float vdt_gwd(time, pfull, lat, lon) ;
>> vdt_gwd:long_name = "v wind tendency for gravity wave drag" ;
>> vdt_gwd:units = "m/s2" ;
>> vdt_gwd:missing_value = -999.f ;
>> vdt_gwd:_FillValue = -999.f ;
>> vdt_gwd:cell_methods = "time: mean" ;
>> vdt_gwd:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float udt_rdamp(time, pfull, lat, lon) ;
>> udt_rdamp:long_name = "u wind tendency for Rayleigh damping" ;
>> udt_rdamp:units = "m/s2" ;
>> udt_rdamp:missing_value = -999.f ;
>> udt_rdamp:_FillValue = -999.f ;
>> udt_rdamp:cell_methods = "time: mean" ;
>> udt_rdamp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float vdt_rdamp(time, pfull, lat, lon) ;
>> vdt_rdamp:long_name = "v wind tendency for Rayleigh damping" ;
>> vdt_rdamp:units = "m/s2" ;
>> vdt_rdamp:missing_value = -999.f ;
>> vdt_rdamp:_FillValue = -999.f ;
>> vdt_rdamp:cell_methods = "time: mean" ;
>> vdt_rdamp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float bk(phalf) ;
>> bk:long_name = "vertical coordinate sigma value" ;
>> bk:units = "none" ;
>> bk:missing_value = 1.e+20f ;
>> bk:_FillValue = 1.e+20f ;
>> bk:cell_methods = "time: point" ;
>> float pk(phalf) ;
>> pk:long_name = "pressure part of the hybrid coordinate" ;
>> pk:units = "pascal" ;
>> pk:missing_value = 1.e+20f ;
>> pk:_FillValue = 1.e+20f ;
>> pk:cell_methods = "time: point" ;
>> float zsurf(lat, lon) ;
>> zsurf:long_name = "surface height" ;
>> zsurf:units = "m" ;
>> zsurf:missing_value = 1.e+20f ;
>> zsurf:_FillValue = 1.e+20f ;
>> zsurf:cell_methods = "time: point" ;
>> float cld_amt(time, pfull, lat, lon) ;
>> cld_amt:long_name = "cloud fraction" ;
>> cld_amt:units = "none" ;
>> cld_amt:missing_value = -1.e+10f ;
>> cld_amt:_FillValue = -1.e+10f ;
>> cld_amt:cell_methods = "time: mean" ;
>> cld_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float ice_wat(time, pfull, lat, lon) ;
>> ice_wat:long_name = "cloud ice water specific humidity" ;
>> ice_wat:units = "kg/kg" ;
>> ice_wat:missing_value = -1.e+10f ;
>> ice_wat:_FillValue = -1.e+10f ;
>> ice_wat:cell_methods = "time: mean" ;
>> ice_wat:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float liq_wat(time, pfull, lat, lon) ;
>> liq_wat:long_name = "cloud liquid specific humidity" ;
>> liq_wat:units = "kg/kg" ;
>> liq_wat:missing_value = -1.e+10f ;
>> liq_wat:_FillValue = -1.e+10f ;
>> liq_wat:cell_methods = "time: mean" ;
>> liq_wat:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float omega(time, pfull, lat, lon) ;
>> omega:long_name = "omega" ;
>> omega:units = "pa/sec" ;
>> omega:missing_value = -1.e+10f ;
>> omega:_FillValue = -1.e+10f ;
>> omega:cell_methods = "time: mean" ;
>> omega:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float ps(time, lat, lon) ;
>> ps:long_name = "surface pressure" ;
>> ps:units = "Pa" ;
>> ps:missing_value = -1.e+10f ;
>> ps:_FillValue = -1.e+10f ;
>> ps:cell_methods = "time: mean" ;
>> ps:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float sphum(time, pfull, lat, lon) ;
>> sphum:long_name = "specific humidity" ;
>> sphum:units = "kg/kg" ;
>> sphum:missing_value = -1.e+10f ;
>> sphum:_FillValue = -1.e+10f ;
>> sphum:cell_methods = "time: mean" ;
>> sphum:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float slp_dyn(time, lat, lon) ;
>> slp_dyn:long_name = "sea-level pressure" ;
>> slp_dyn:units = "mb" ;
>> slp_dyn:valid_range = 800.f, 1200.f ;
>> slp_dyn:missing_value = -1.e+10f ;
>> slp_dyn:_FillValue = -1.e+10f ;
>> slp_dyn:cell_methods = "time: mean" ;
>> slp_dyn:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float temp(time, pfull, lat, lon) ;
>> temp:long_name = "temperature" ;
>> temp:units = "deg_K" ;
>> temp:valid_range = 100.f, 350.f ;
>> temp:missing_value = -1.e+10f ;
>> temp:_FillValue = -1.e+10f ;
>> temp:cell_methods = "time: mean" ;
>> temp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float ucomp(time, pfull, lat, lon) ;
>> ucomp:long_name = "zonal wind" ;
>> ucomp:units = "m/sec" ;
>> ucomp:valid_range = -330.f, 350.f ;
>> ucomp:missing_value = -1.e+10f ;
>> ucomp:_FillValue = -1.e+10f ;
>> ucomp:cell_methods = "time: mean" ;
>> ucomp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float vcomp(time, pfull, lat, lon) ;
>> vcomp:long_name = "meridional wind" ;
>> vcomp:units = "m/sec" ;
>> vcomp:valid_range = -330.f, 350.f ;
>> vcomp:missing_value = -1.e+10f ;
>> vcomp:_FillValue = -1.e+10f ;
>> vcomp:cell_methods = "time: mean" ;
>> vcomp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float drag_heat(time, lat, lon) ;
>> drag_heat:long_name = "drag coeff for heat" ;
>> drag_heat:units = "none" ;
>> drag_heat:missing_value = 1.e+20f ;
>> drag_heat:_FillValue = 1.e+20f ;
>> drag_heat:cell_methods = "time: mean" ;
>> drag_heat:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float drag_moist(time, lat, lon) ;
>> drag_moist:long_name = "drag coeff for moisture" ;
>> drag_moist:units = "none" ;
>> drag_moist:missing_value = 1.e+20f ;
>> drag_moist:_FillValue = 1.e+20f ;
>> drag_moist:cell_methods = "time: mean" ;
>> drag_moist:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float drag_mom(time, lat, lon) ;
>> drag_mom:long_name = "drag coeff for momentum" ;
>> drag_mom:units = "none" ;
>> drag_mom:missing_value = 1.e+20f ;
>> drag_mom:_FillValue = 1.e+20f ;
>> drag_mom:cell_methods = "time: mean" ;
>> drag_mom:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float evap(time, lat, lon) ;
>> evap:long_name = "evaporation rate" ;
>> evap:units = "kg/m2/s" ;
>> evap:missing_value = 1.e+20f ;
>> evap:_FillValue = 1.e+20f ;
>> evap:cell_methods = "time: mean" ;
>> evap:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float sphum_flux(time, lat, lon) ;
>> sphum_flux:long_name = "flux of specific humidity" ;
>> sphum_flux:units = "kg/kg kg air/(m2 s)" ;
>> sphum_flux:missing_value = 1.e+20f ;
>> sphum_flux:_FillValue = 1.e+20f ;
>> sphum_flux:cell_methods = "time: mean" ;
>> sphum_flux:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float ice_mask(time, lat, lon) ;
>> ice_mask:long_name = "fractional amount of sea ice" ;
>> ice_mask:units = "none" ;
>> ice_mask:valid_range = -0.01f, 1.01f ;
>> ice_mask:missing_value = 1.e+20f ;
>> ice_mask:_FillValue = 1.e+20f ;
>> ice_mask:cell_methods = "time: mean" ;
>> ice_mask:time_avg_info = "average_T1,average_T2,average_DT" ;
>> ice_mask:interp_method = "conserve_order1" ;
>> float land_mask(lat, lon) ;
>> land_mask:long_name = "fractional amount of land" ;
>> land_mask:units = "none" ;
>> land_mask:valid_range = -0.01f, 1.01f ;
>> land_mask:missing_value = 1.e+20f ;
>> land_mask:_FillValue = 1.e+20f ;
>> land_mask:cell_methods = "time: point" ;
>> land_mask:interp_method = "conserve_order1" ;
>> float lwflx(time, lat, lon) ;
>> lwflx:long_name = "net (down-up) longwave flux" ;
>> lwflx:units = "w/m2" ;
>> lwflx:missing_value = 1.e+20f ;
>> lwflx:_FillValue = 1.e+20f ;
>> lwflx:cell_methods = "time: mean" ;
>> lwflx:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh_ref(time, lat, lon) ;
>> rh_ref:long_name = "relative humidity at 2 m" ;
>> rh_ref:units = "percent" ;
>> rh_ref:missing_value = 1.e+20f ;
>> rh_ref:_FillValue = 1.e+20f ;
>> rh_ref:cell_methods = "time: mean" ;
>> rh_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float shflx(time, lat, lon) ;
>> shflx:long_name = "sensible heat flux" ;
>> shflx:units = "w/m2" ;
>> shflx:missing_value = 1.e+20f ;
>> shflx:_FillValue = 1.e+20f ;
>> shflx:cell_methods = "time: mean" ;
>> shflx:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tau_x(time, lat, lon) ;
>> tau_x:long_name = "zonal wind stress" ;
>> tau_x:units = "pa" ;
>> tau_x:missing_value = 1.e+20f ;
>> tau_x:_FillValue = 1.e+20f ;
>> tau_x:cell_methods = "time: mean" ;
>> tau_x:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tau_y(time, lat, lon) ;
>> tau_y:long_name = "meridional wind stress" ;
>> tau_y:units = "pa" ;
>> tau_y:missing_value = 1.e+20f ;
>> tau_y:_FillValue = 1.e+20f ;
>> tau_y:cell_methods = "time: mean" ;
>> tau_y:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float t_ref(time, lat, lon) ;
>> t_ref:long_name = "temperature at 2 m" ;
>> t_ref:units = "deg_k" ;
>> t_ref:valid_range = 100.f, 400.f ;
>> t_ref:missing_value = 1.e+20f ;
>> t_ref:_FillValue = 1.e+20f ;
>> t_ref:cell_methods = "time: mean" ;
>> t_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float t_ref_min(time, lat, lon) ;
>> t_ref_min:long_name = "temperature at 2 m" ;
>> t_ref_min:units = "deg_k" ;
>> t_ref_min:valid_range = 100.f, 400.f ;
>> t_ref_min:missing_value = 1.e+20f ;
>> t_ref_min:_FillValue = 1.e+20f ;
>> t_ref_min:cell_methods = "time: min" ;
>> t_ref_min:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float t_ref_max(time, lat, lon) ;
>> t_ref_max:long_name = "temperature at 2 m" ;
>> t_ref_max:units = "deg_k" ;
>> t_ref_max:valid_range = 100.f, 400.f ;
>> t_ref_max:missing_value = 1.e+20f ;
>> t_ref_max:_FillValue = 1.e+20f ;
>> t_ref_max:cell_methods = "time: max" ;
>> t_ref_max:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float t_surf(time, lat, lon) ;
>> t_surf:long_name = "surface temperature" ;
>> t_surf:units = "deg_k" ;
>> t_surf:valid_range = 100.f, 400.f ;
>> t_surf:missing_value = 1.e+20f ;
>> t_surf:_FillValue = 1.e+20f ;
>> t_surf:cell_methods = "time: mean" ;
>> t_surf:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float u_ref(time, lat, lon) ;
>> u_ref:long_name = "zonal wind component at 10 m" ;
>> u_ref:units = "m/s" ;
>> u_ref:valid_range = -400.f, 400.f ;
>> u_ref:missing_value = 1.e+20f ;
>> u_ref:_FillValue = 1.e+20f ;
>> u_ref:cell_methods = "time: mean" ;
>> u_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float v_ref(time, lat, lon) ;
>> v_ref:long_name = "meridional wind component at 10 m" ;
>> v_ref:units = "m/s" ;
>> v_ref:valid_range = -400.f, 400.f ;
>> v_ref:missing_value = 1.e+20f ;
>> v_ref:_FillValue = 1.e+20f ;
>> v_ref:cell_methods = "time: mean" ;
>> v_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float wind(time, lat, lon) ;
>> wind:long_name = "wind speed for flux calculations" ;
>> wind:units = "m/s" ;
>> wind:valid_range = 0.f, 400.f ;
>> wind:missing_value = 1.e+20f ;
>> wind:_FillValue = 1.e+20f ;
>> wind:cell_methods = "time: mean" ;
>> wind:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float IWP(time, lat, lon) ;
>> IWP:long_name = "Ice water path" ;
>> IWP:units = "kg/m2" ;
>> IWP:missing_value = 1.e+20f ;
>> IWP:_FillValue = 1.e+20f ;
>> IWP:cell_methods = "time: mean" ;
>> IWP:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float LWP(time, lat, lon) ;
>> LWP:long_name = "Liquid water path" ;
>> LWP:units = "kg/m2" ;
>> LWP:missing_value = 1.e+20f ;
>> LWP:_FillValue = 1.e+20f ;
>> LWP:cell_methods = "time: mean" ;
>> LWP:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float precip(time, lat, lon) ;
>> precip:long_name = "Total precipitation rate" ;
>> precip:units = "kg/m2/s" ;
>> precip:missing_value = 1.e+20f ;
>> precip:_FillValue = 1.e+20f ;
>> precip:cell_methods = "time: mean" ;
>> precip:time_avg_info = "average_T1,average_T2,average_DT" ;
>> precip:interp_method = "conserve_order1" ;
>> float prec_conv(time, lat, lon) ;
>> prec_conv:long_name = "Precipitation rate from convection" ;
>> prec_conv:units = "kg(h2o)/m2/s" ;
>> prec_conv:missing_value = 1.e+20f ;
>> prec_conv:_FillValue = 1.e+20f ;
>> prec_conv:cell_methods = "time: mean" ;
>> prec_conv:time_avg_info = "average_T1,average_T2,average_DT" ;
>> prec_conv:interp_method = "conserve_order1" ;
>> float prec_ls(time, lat, lon) ;
>> prec_ls:long_name = "Precipitation rate from strat cloud" ;
>> prec_ls:units = "kg/m2/s" ;
>> prec_ls:missing_value = 1.e+20f ;
>> prec_ls:_FillValue = 1.e+20f ;
>> prec_ls:cell_methods = "time: mean" ;
>> prec_ls:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qdt_conv(time, pfull, lat, lon) ;
>> qdt_conv:long_name = "Spec humidity tendency from convection" ;
>> qdt_conv:units = "kg/kg/s" ;
>> qdt_conv:missing_value = -999.f ;
>> qdt_conv:_FillValue = -999.f ;
>> qdt_conv:cell_methods = "time: mean" ;
>> qdt_conv:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qdt_ls(time, pfull, lat, lon) ;
>> qdt_ls:long_name = "Spec humidity tendency from strat cloud" ;
>> qdt_ls:units = "kg/kg/s" ;
>> qdt_ls:missing_value = -999.f ;
>> qdt_ls:_FillValue = -999.f ;
>> qdt_ls:cell_methods = "time: mean" ;
>> qdt_ls:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh(time, pfull, lat, lon) ;
>> rh:long_name = "relative humidity" ;
>> rh:units = "percent" ;
>> rh:missing_value = -999.f ;
>> rh:_FillValue = -999.f ;
>> rh:cell_methods = "time: mean" ;
>> rh:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float snow_conv(time, lat, lon) ;
>> snow_conv:long_name = "Frozen precip rate from convection" ;
>> snow_conv:units = "kg(h2o)/m2/s" ;
>> snow_conv:missing_value = 1.e+20f ;
>> snow_conv:_FillValue = 1.e+20f ;
>> snow_conv:cell_methods = "time: mean" ;
>> snow_conv:time_avg_info = "average_T1,average_T2,average_DT" ;
>> snow_conv:interp_method = "conserve_order1" ;
>> float snow_ls(time, lat, lon) ;
>> snow_ls:long_name = "Frozen precip rate from strat cloud" ;
>> snow_ls:units = "kg/m2/s" ;
>> snow_ls:missing_value = 1.e+20f ;
>> snow_ls:_FillValue = 1.e+20f ;
>> snow_ls:cell_methods = "time: mean" ;
>> snow_ls:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_conv(time, pfull, lat, lon) ;
>> tdt_conv:long_name = "Temperature tendency from convection" ;
>> tdt_conv:units = "deg_K/s" ;
>> tdt_conv:missing_value = -999.f ;
>> tdt_conv:_FillValue = -999.f ;
>> tdt_conv:cell_methods = "time: mean" ;
>> tdt_conv:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_ls(time, pfull, lat, lon) ;
>> tdt_ls:long_name = "Temperature tendency from strat cloud" ;
>> tdt_ls:units = "deg_K/s" ;
>> tdt_ls:missing_value = -999.f ;
>> tdt_ls:_FillValue = -999.f ;
>> tdt_ls:cell_methods = "time: mean" ;
>> tdt_ls:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float WVP(time, lat, lon) ;
>> WVP:long_name = "Column integrated water vapor" ;
>> WVP:units = "kg/m2" ;
>> WVP:missing_value = 1.e+20f ;
>> WVP:_FillValue = 1.e+20f ;
>> WVP:cell_methods = "time: mean" ;
>> WVP:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float alb_sfc(time, lat, lon) ;
>> alb_sfc:long_name = "surface albedo" ;
>> alb_sfc:units = "percent" ;
>> alb_sfc:missing_value = -999.f ;
>> alb_sfc:_FillValue = -999.f ;
>> alb_sfc:cell_methods = "time: mean" ;
>> alb_sfc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lwdn_sfc(time, lat, lon) ;
>> lwdn_sfc:long_name = "LW flux down at surface" ;
>> lwdn_sfc:units = "watts/m2" ;
>> lwdn_sfc:missing_value = -999.f ;
>> lwdn_sfc:_FillValue = -999.f ;
>> lwdn_sfc:cell_methods = "time: mean" ;
>> lwdn_sfc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lwdn_sfc_clr(time, lat, lon) ;
>> lwdn_sfc_clr:long_name = "clear skyLW flux down at surface" ;
>> lwdn_sfc_clr:units = "watts/m2" ;
>> lwdn_sfc_clr:missing_value = -999.f ;
>> lwdn_sfc_clr:_FillValue = -999.f ;
>> lwdn_sfc_clr:cell_methods = "time: mean" ;
>> lwdn_sfc_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lwup_sfc(time, lat, lon) ;
>> lwup_sfc:long_name = "LW flux up at surface" ;
>> lwup_sfc:units = "watts/m2" ;
>> lwup_sfc:missing_value = -999.f ;
>> lwup_sfc:_FillValue = -999.f ;
>> lwup_sfc:cell_methods = "time: mean" ;
>> lwup_sfc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lwup_sfc_clr(time, lat, lon) ;
>> lwup_sfc_clr:long_name = "clear skyLW flux up at surface" ;
>> lwup_sfc_clr:units = "watts/m2" ;
>> lwup_sfc_clr:missing_value = -999.f ;
>> lwup_sfc_clr:_FillValue = -999.f ;
>> lwup_sfc_clr:cell_methods = "time: mean" ;
>> lwup_sfc_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netrad_toa(time, lat, lon) ;
>> netrad_toa:long_name = "net radiation (lw + sw) at toa" ;
>> netrad_toa:units = "watts/m2" ;
>> netrad_toa:missing_value = -999.f ;
>> netrad_toa:_FillValue = -999.f ;
>> netrad_toa:cell_methods = "time: mean" ;
>> netrad_toa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netrad_toa_clr(time, lat, lon) ;
>> netrad_toa_clr:long_name = "clear skynet radiation (lw + sw) at toa" ;
>> netrad_toa_clr:units = "watts/m2" ;
>> netrad_toa_clr:missing_value = -999.f ;
>> netrad_toa_clr:_FillValue = -999.f ;
>> netrad_toa_clr:cell_methods = "time: mean" ;
>> netrad_toa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float olr(time, lat, lon) ;
>> olr:long_name = "outgoing longwave radiation" ;
>> olr:units = "watts/m2" ;
>> olr:missing_value = -999.f ;
>> olr:_FillValue = -999.f ;
>> olr:cell_methods = "time: mean" ;
>> olr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float olr_clr(time, lat, lon) ;
>> olr_clr:long_name = "clear skyoutgoing longwave radiation" ;
>> olr_clr:units = "watts/m2" ;
>> olr_clr:missing_value = -999.f ;
>> olr_clr:_FillValue = -999.f ;
>> olr_clr:cell_methods = "time: mean" ;
>> olr_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qo3(time, pfull, lat, lon) ;
>> qo3:long_name = "ozone mixing ratio" ;
>> qo3:units = "kg/kg" ;
>> qo3:missing_value = -999.f ;
>> qo3:_FillValue = -999.f ;
>> qo3:cell_methods = "time: mean" ;
>> qo3:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qo3_col(time, lat, lon) ;
>> qo3_col:long_name = "ozone column" ;
>> qo3_col:units = "DU" ;
>> qo3_col:missing_value = -999.f ;
>> qo3_col:_FillValue = -999.f ;
>> qo3_col:cell_methods = "time: mean" ;
>> qo3_col:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_sfc(time, lat, lon) ;
>> swdn_sfc:long_name = "SW flux down at surface" ;
>> swdn_sfc:units = "watts/m2" ;
>> swdn_sfc:missing_value = -999.f ;
>> swdn_sfc:_FillValue = -999.f ;
>> swdn_sfc:cell_methods = "time: mean" ;
>> swdn_sfc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_sfc_clr(time, lat, lon) ;
>> swdn_sfc_clr:long_name = "clear skySW flux down at surface" ;
>> swdn_sfc_clr:units = "watts/m2" ;
>> swdn_sfc_clr:missing_value = -999.f ;
>> swdn_sfc_clr:_FillValue = -999.f ;
>> swdn_sfc_clr:cell_methods = "time: mean" ;
>> swdn_sfc_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_sfc(time, lat, lon) ;
>> swup_sfc:long_name = "SW flux up at surface" ;
>> swup_sfc:units = "watts/m2" ;
>> swup_sfc:missing_value = -999.f ;
>> swup_sfc:_FillValue = -999.f ;
>> swup_sfc:cell_methods = "time: mean" ;
>> swup_sfc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_sfc_clr(time, lat, lon) ;
>> swup_sfc_clr:long_name = "clear skySW flux up at surface" ;
>> swup_sfc_clr:units = "watts/m2" ;
>> swup_sfc_clr:missing_value = -999.f ;
>> swup_sfc_clr:_FillValue = -999.f ;
>> swup_sfc_clr:cell_methods = "time: mean" ;
>> swup_sfc_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_toa(time, lat, lon) ;
>> swdn_toa:long_name = "SW flux down at TOA" ;
>> swdn_toa:units = "watts/m2" ;
>> swdn_toa:missing_value = -999.f ;
>> swdn_toa:_FillValue = -999.f ;
>> swdn_toa:cell_methods = "time: mean" ;
>> swdn_toa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_toa_clr(time, lat, lon) ;
>> swdn_toa_clr:long_name = "clear skySW flux down at TOA" ;
>> swdn_toa_clr:units = "watts/m2" ;
>> swdn_toa_clr:missing_value = -999.f ;
>> swdn_toa_clr:_FillValue = -999.f ;
>> swdn_toa_clr:cell_methods = "time: mean" ;
>> swdn_toa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_toa(time, lat, lon) ;
>> swup_toa:long_name = "SW flux up at TOA" ;
>> swup_toa:units = "watts/m2" ;
>> swup_toa:missing_value = -999.f ;
>> swup_toa:_FillValue = -999.f ;
>> swup_toa:cell_methods = "time: mean" ;
>> swup_toa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_toa_clr(time, lat, lon) ;
>> swup_toa_clr:long_name = "clear skySW flux up at TOA" ;
>> swup_toa_clr:units = "watts/m2" ;
>> swup_toa_clr:missing_value = -999.f ;
>> swup_toa_clr:_FillValue = -999.f ;
>> swup_toa_clr:cell_methods = "time: mean" ;
>> swup_toa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_lw(time, pfull, lat, lon) ;
>> tdt_lw:long_name = "temperature tendency for LW radiation" ;
>> tdt_lw:units = "deg_K/sec" ;
>> tdt_lw:missing_value = -999.f ;
>> tdt_lw:_FillValue = -999.f ;
>> tdt_lw:cell_methods = "time: mean" ;
>> tdt_lw:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_lw_clr(time, pfull, lat, lon) ;
>> tdt_lw_clr:long_name = "clear skytemperature tendency for LW radiation" ;
>> tdt_lw_clr:units = "deg_K/sec" ;
>> tdt_lw_clr:missing_value = -999.f ;
>> tdt_lw_clr:_FillValue = -999.f ;
>> tdt_lw_clr:cell_methods = "time: mean" ;
>> tdt_lw_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_sw(time, pfull, lat, lon) ;
>> tdt_sw:long_name = "temperature tendency for SW radiation" ;
>> tdt_sw:units = "deg_K/sec" ;
>> tdt_sw:missing_value = -999.f ;
>> tdt_sw:_FillValue = -999.f ;
>> tdt_sw:cell_methods = "time: mean" ;
>> tdt_sw:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_sw_clr(time, pfull, lat, lon) ;
>> tdt_sw_clr:long_name = "clear skytemperature tendency for SW radiation" ;
>> tdt_sw_clr:units = "deg_K/sec" ;
>> tdt_sw_clr:missing_value = -999.f ;
>> tdt_sw_clr:_FillValue = -999.f ;
>> tdt_sw_clr:cell_methods = "time: mean" ;
>> tdt_sw_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netlw_lin_trop(time, lat, lon) ;
>> netlw_lin_trop:long_name = "net LW flux at linear tropopause" ;
>> netlw_lin_trop:units = "watts/m2" ;
>> netlw_lin_trop:missing_value = -999.f ;
>> netlw_lin_trop:_FillValue = -999.f ;
>> netlw_lin_trop:cell_methods = "time: mean" ;
>> netlw_lin_trop:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netlw_lin_trop_clr(time, lat, lon) ;
>> netlw_lin_trop_clr:long_name = "clear skynet LW flux at linear
>> tropopause" ;
>> netlw_lin_trop_clr:units = "watts/m2" ;
>> netlw_lin_trop_clr:missing_value = -999.f ;
>> netlw_lin_trop_clr:_FillValue = -999.f ;
>> netlw_lin_trop_clr:cell_methods = "time: mean" ;
>> netlw_lin_trop_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netlw_200hPa(time, lat, lon) ;
>> netlw_200hPa:long_name = "net LW flux at 200 hPa" ;
>> netlw_200hPa:units = "watts/m2" ;
>> netlw_200hPa:missing_value = -999.f ;
>> netlw_200hPa:_FillValue = -999.f ;
>> netlw_200hPa:cell_methods = "time: mean" ;
>> netlw_200hPa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float netlw_200hPa_clr(time, lat, lon) ;
>> netlw_200hPa_clr:long_name = "clear skynet LW flux at 200 hPa" ;
>> netlw_200hPa_clr:units = "watts/m2" ;
>> netlw_200hPa_clr:missing_value = -999.f ;
>> netlw_200hPa_clr:_FillValue = -999.f ;
>> netlw_200hPa_clr:cell_methods = "time: mean" ;
>> netlw_200hPa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_lin_trop(time, lat, lon) ;
>> swdn_lin_trop:long_name = "SW flux down at linear tropopause" ;
>> swdn_lin_trop:units = "watts/m2" ;
>> swdn_lin_trop:missing_value = -999.f ;
>> swdn_lin_trop:_FillValue = -999.f ;
>> swdn_lin_trop:cell_methods = "time: mean" ;
>> swdn_lin_trop:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_lin_trop_clr(time, lat, lon) ;
>> swdn_lin_trop_clr:long_name = "clear skySW flux down at linear
>> tropopause" ;
>> swdn_lin_trop_clr:units = "watts/m2" ;
>> swdn_lin_trop_clr:missing_value = -999.f ;
>> swdn_lin_trop_clr:_FillValue = -999.f ;
>> swdn_lin_trop_clr:cell_methods = "time: mean" ;
>> swdn_lin_trop_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_200hPa(time, lat, lon) ;
>> swdn_200hPa:long_name = "SW flux down at 200 hPa" ;
>> swdn_200hPa:units = "watts/m2" ;
>> swdn_200hPa:missing_value = -999.f ;
>> swdn_200hPa:_FillValue = -999.f ;
>> swdn_200hPa:cell_methods = "time: mean" ;
>> swdn_200hPa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_200hPa_clr(time, lat, lon) ;
>> swdn_200hPa_clr:long_name = "clear skySW flux down at 200 hPa" ;
>> swdn_200hPa_clr:units = "watts/m2" ;
>> swdn_200hPa_clr:missing_value = -999.f ;
>> swdn_200hPa_clr:_FillValue = -999.f ;
>> swdn_200hPa_clr:cell_methods = "time: mean" ;
>> swdn_200hPa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_lin_trop(time, lat, lon) ;
>> swup_lin_trop:long_name = "SW flux up at linear tropopause" ;
>> swup_lin_trop:units = "watts/m2" ;
>> swup_lin_trop:missing_value = -999.f ;
>> swup_lin_trop:_FillValue = -999.f ;
>> swup_lin_trop:cell_methods = "time: mean" ;
>> swup_lin_trop:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_lin_trop_clr(time, lat, lon) ;
>> swup_lin_trop_clr:long_name = "clear skySW flux up at linear tropopause" ;
>> swup_lin_trop_clr:units = "watts/m2" ;
>> swup_lin_trop_clr:missing_value = -999.f ;
>> swup_lin_trop_clr:_FillValue = -999.f ;
>> swup_lin_trop_clr:cell_methods = "time: mean" ;
>> swup_lin_trop_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_200hPa(time, lat, lon) ;
>> swup_200hPa:long_name = "SW flux up at 200 hPa" ;
>> swup_200hPa:units = "watts/m2" ;
>> swup_200hPa:missing_value = -999.f ;
>> swup_200hPa:_FillValue = -999.f ;
>> swup_200hPa:cell_methods = "time: mean" ;
>> swup_200hPa:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swup_200hPa_clr(time, lat, lon) ;
>> swup_200hPa_clr:long_name = "clear skySW flux up at 200 hPa" ;
>> swup_200hPa_clr:units = "watts/m2" ;
>> swup_200hPa_clr:missing_value = -999.f ;
>> swup_200hPa_clr:_FillValue = -999.f ;
>> swup_200hPa_clr:cell_methods = "time: mean" ;
>> swup_200hPa_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float mc(time, phalf, lat, lon) ;
>> mc:long_name = "Cumulus Mass Flux from RAS" ;
>> mc:units = "kg/m2/s" ;
>> mc:missing_value = -999.f ;
>> mc:_FillValue = -999.f ;
>> mc:cell_methods = "time: mean" ;
>> mc:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qdt_vdif(time, pfull, lat, lon) ;
>> qdt_vdif:long_name = "Spec humidity tendency from vert diff" ;
>> qdt_vdif:units = "kg/kg/s" ;
>> qdt_vdif:missing_value = -999.f ;
>> qdt_vdif:_FillValue = -999.f ;
>> qdt_vdif:cell_methods = "time: mean" ;
>> qdt_vdif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tdt_vdif(time, pfull, lat, lon) ;
>> tdt_vdif:long_name = "Temperature tendency from vert diff" ;
>> tdt_vdif:units = "deg_K/s" ;
>> tdt_vdif:missing_value = -999.f ;
>> tdt_vdif:_FillValue = -999.f ;
>> tdt_vdif:cell_methods = "time: mean" ;
>> tdt_vdif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float udt_vdif(time, pfull, lat, lon) ;
>> udt_vdif:long_name = "Zonal wind tendency from vert diff" ;
>> udt_vdif:units = "m/s2" ;
>> udt_vdif:missing_value = -999.f ;
>> udt_vdif:_FillValue = -999.f ;
>> udt_vdif:cell_methods = "time: mean" ;
>> udt_vdif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float vdt_vdif(time, pfull, lat, lon) ;
>> vdt_vdif:long_name = "Meridional wind tendency from vert diff" ;
>> vdt_vdif:units = "m/s2" ;
>> vdt_vdif:missing_value = -999.f ;
>> vdt_vdif:_FillValue = -999.f ;
>> vdt_vdif:cell_methods = "time: mean" ;
>> vdt_vdif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float co2(time, pfull, lat, lon) ;
>> co2:long_name = "carbon dioxide" ;
>> co2:units = "kg/kg" ;
>> co2:missing_value = -1.e+10f ;
>> co2:_FillValue = -1.e+10f ;
>> co2:cell_methods = "time: mean" ;
>> co2:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float co2_dvmr(time, pfull, lat, lon) ;
>> co2_dvmr:long_name = "carbon dioxide (dry vmr)" ;
>> co2_dvmr:units = "mol/mol" ;
>> co2_dvmr:missing_value = -1.e+10f ;
>> co2_dvmr:_FillValue = -1.e+10f ;
>> co2_dvmr:cell_methods = "time: mean" ;
>> co2_dvmr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float slp(time, lat, lon) ;
>> slp:long_name = "sea level pressure" ;
>> slp:units = "pa" ;
>> slp:missing_value = 1.e+20f ;
>> slp:_FillValue = 1.e+20f ;
>> slp:cell_methods = "time: mean" ;
>> slp:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float wind_ref(time, lat, lon) ;
>> wind_ref:long_name = "absolute value of wind at 10 m" ;
>> wind_ref:units = "m/s" ;
>> wind_ref:valid_range = -400.f, 400.f ;
>> wind_ref:missing_value = 1.e+20f ;
>> wind_ref:_FillValue = 1.e+20f ;
>> wind_ref:cell_methods = "time: mean" ;
>> wind_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh_ref_cmip(time, lat, lon) ;
>> rh_ref_cmip:long_name = "relative humidity at 2 m" ;
>> rh_ref_cmip:units = "percent" ;
>> rh_ref_cmip:missing_value = 1.e+20f ;
>> rh_ref_cmip:_FillValue = 1.e+20f ;
>> rh_ref_cmip:cell_methods = "time: mean" ;
>> rh_ref_cmip:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float q_ref(time, lat, lon) ;
>> q_ref:long_name = "specific humidity at 2 m" ;
>> q_ref:units = "kg/kg" ;
>> q_ref:missing_value = -1.f ;
>> q_ref:_FillValue = -1.f ;
>> q_ref:cell_methods = "time: mean" ;
>> q_ref:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float snow_tot(time, lat, lon) ;
>> snow_tot:long_name = "Frozen precip rate from all sources" ;
>> snow_tot:units = "kg(h2o)/m2/s" ;
>> snow_tot:missing_value = 1.e+20f ;
>> snow_tot:_FillValue = 1.e+20f ;
>> snow_tot:cell_methods = "time: mean" ;
>> snow_tot:time_avg_info = "average_T1,average_T2,average_DT" ;
>> snow_tot:interp_method = "conserve_order1" ;
>> float cld_amt_2d(time, lat, lon) ;
>> cld_amt_2d:long_name = "total cloud amount" ;
>> cld_amt_2d:units = "percent" ;
>> cld_amt_2d:missing_value = 1.e+20f ;
>> cld_amt_2d:_FillValue = 1.e+20f ;
>> cld_amt_2d:cell_methods = "time: mean" ;
>> cld_amt_2d:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float WP_all_clouds(time, lat, lon) ;
>> WP_all_clouds:long_name = "Total water path -- all clouds" ;
>> WP_all_clouds:units = "kg/m2" ;
>> WP_all_clouds:missing_value = 1.e+20f ;
>> WP_all_clouds:_FillValue = 1.e+20f ;
>> WP_all_clouds:cell_methods = "time: mean" ;
>> WP_all_clouds:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float IWP_all_clouds(time, lat, lon) ;
>> IWP_all_clouds:long_name = "Ice water path -- all clouds" ;
>> IWP_all_clouds:units = "kg/m2" ;
>> IWP_all_clouds:missing_value = 1.e+20f ;
>> IWP_all_clouds:_FillValue = 1.e+20f ;
>> IWP_all_clouds:cell_methods = "time: mean" ;
>> IWP_all_clouds:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_cld_base(time, lat, lon) ;
>> conv_cld_base:long_name = "pressure at convective cloud base" ;
>> conv_cld_base:units = "Pa" ;
>> conv_cld_base:missing_value = -999.f ;
>> conv_cld_base:_FillValue = -999.f ;
>> conv_cld_base:cell_methods = "time: mean" ;
>> conv_cld_base:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_cld_top(time, lat, lon) ;
>> conv_cld_top:long_name = "pressure at convective cloud top" ;
>> conv_cld_top:units = "Pa" ;
>> conv_cld_top:missing_value = -999.f ;
>> conv_cld_top:_FillValue = -999.f ;
>> conv_cld_top:cell_methods = "time: mean" ;
>> conv_cld_top:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_freq(time, lat, lon) ;
>> conv_freq:long_name = "frequency of convection" ;
>> conv_freq:units = "number" ;
>> conv_freq:missing_value = -999.f ;
>> conv_freq:_FillValue = -999.f ;
>> conv_freq:cell_methods = "time: mean" ;
>> conv_freq:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tot_cloud_area(time, pfull, lat, lon) ;
>> tot_cloud_area:long_name = "Cloud area -- all clouds" ;
>> tot_cloud_area:units = "percent" ;
>> tot_cloud_area:missing_value = -999.f ;
>> tot_cloud_area:_FillValue = -999.f ;
>> tot_cloud_area:cell_methods = "time: mean" ;
>> tot_cloud_area:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tot_liq_amt(time, pfull, lat, lon) ;
>> tot_liq_amt:long_name = "Liquid amount -- all clouds" ;
>> tot_liq_amt:units = "kg/kg" ;
>> tot_liq_amt:missing_value = -999.f ;
>> tot_liq_amt:_FillValue = -999.f ;
>> tot_liq_amt:cell_methods = "time: mean" ;
>> tot_liq_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float tot_ice_amt(time, pfull, lat, lon) ;
>> tot_ice_amt:long_name = "Ice amount -- all clouds" ;
>> tot_ice_amt:units = "kg/kg" ;
>> tot_ice_amt:missing_value = -999.f ;
>> tot_ice_amt:_FillValue = -999.f ;
>> tot_ice_amt:cell_methods = "time: mean" ;
>> tot_ice_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh_cmip(time, pfull, lat, lon) ;
>> rh_cmip:long_name = "relative humidity" ;
>> rh_cmip:units = "percent" ;
>> rh_cmip:missing_value = -999.f ;
>> rh_cmip:_FillValue = -999.f ;
>> rh_cmip:cell_methods = "time: mean" ;
>> rh_cmip:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float qo3v(time, pfull, lat, lon) ;
>> qo3v:long_name = "ozone mole fraction" ;
>> qo3v:units = "1.e-9" ;
>> qo3v:missing_value = -999.f ;
>> qo3v:_FillValue = -999.f ;
>> qo3v:cell_methods = "time: mean" ;
>> qo3v:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float q_star(time, lat, lon) ;
>> q_star:long_name = "moisture scale" ;
>> q_star:units = "kg water/kg air" ;
>> q_star:missing_value = 1.e+20f ;
>> q_star:_FillValue = 1.e+20f ;
>> q_star:cell_methods = "time: mean" ;
>> q_star:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh_min(time, pfull, lat, lon) ;
>> rh_min:long_name = "relative humidity" ;
>> rh_min:units = "percent" ;
>> rh_min:missing_value = -999.f ;
>> rh_min:_FillValue = -999.f ;
>> rh_min:cell_methods = "time: min" ;
>> rh_min:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float rh_max(time, pfull, lat, lon) ;
>> rh_max:long_name = "relative humidity" ;
>> rh_max:units = "percent" ;
>> rh_max:missing_value = -999.f ;
>> rh_max:_FillValue = -999.f ;
>> rh_max:cell_methods = "time: max" ;
>> rh_max:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float droplets(time, pfull, lat, lon) ;
>> droplets:long_name = "Droplet number concentration" ;
>> droplets:units = "/cm3" ;
>> droplets:missing_value = -999.f ;
>> droplets:_FillValue = -999.f ;
>> droplets:cell_methods = "time: mean" ;
>> droplets:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float enth_ls_col(time, lat, lon) ;
>> enth_ls_col:long_name = "Column enthalpy tendency from strat cloud" ;
>> enth_ls_col:units = "W/m2" ;
>> enth_ls_col:missing_value = 1.e+20f ;
>> enth_ls_col:_FillValue = 1.e+20f ;
>> enth_ls_col:cell_methods = "time: mean" ;
>> enth_ls_col:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float wat_ls_col(time, lat, lon) ;
>> wat_ls_col:long_name = "Column total water tendency from strat cloud" ;
>> wat_ls_col:units = "kg/m2/s" ;
>> wat_ls_col:missing_value = 1.e+20f ;
>> wat_ls_col:_FillValue = 1.e+20f ;
>> wat_ls_col:cell_methods = "time: mean" ;
>> wat_ls_col:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float enth_conv_col(time, lat, lon) ;
>> enth_conv_col:long_name = "Column enthalpy tendency from convection" ;
>> enth_conv_col:units = "W/m2" ;
>> enth_conv_col:missing_value = 1.e+20f ;
>> enth_conv_col:_FillValue = 1.e+20f ;
>> enth_conv_col:cell_methods = "time: mean" ;
>> enth_conv_col:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float wat_conv_col(time, lat, lon) ;
>> wat_conv_col:long_name = "Column total water tendency from convection" ;
>> wat_conv_col:units = "kg(h2o)/m2/s" ;
>> wat_conv_col:missing_value = 1.e+20f ;
>> wat_conv_col:_FillValue = 1.e+20f ;
>> wat_conv_col:cell_methods = "time: mean" ;
>> wat_conv_col:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_vis_dir(time, lat, lon) ;
>> swdn_vis_dir:long_name = "downward direct visible sfc sw flux" ;
>> swdn_vis_dir:units = "watts/m2" ;
>> swdn_vis_dir:missing_value = -999.f ;
>> swdn_vis_dir:_FillValue = -999.f ;
>> swdn_vis_dir:cell_methods = "time: mean" ;
>> swdn_vis_dir:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_vis_dif(time, lat, lon) ;
>> swdn_vis_dif:long_name = "downward diffuse visible sfc sw flux" ;
>> swdn_vis_dif:units = "watts/m2" ;
>> swdn_vis_dif:missing_value = -999.f ;
>> swdn_vis_dif:_FillValue = -999.f ;
>> swdn_vis_dif:cell_methods = "time: mean" ;
>> swdn_vis_dif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_vis_clr(time, lat, lon) ;
>> swdn_vis_clr:long_name = "downward visible sfc sw flux clear sky" ;
>> swdn_vis_clr:units = "watts/m2" ;
>> swdn_vis_clr:missing_value = -999.f ;
>> swdn_vis_clr:_FillValue = -999.f ;
>> swdn_vis_clr:cell_methods = "time: mean" ;
>> swdn_vis_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_tot_dir(time, lat, lon) ;
>> swdn_tot_dir:long_name = "downward direct total sfc sw flux" ;
>> swdn_tot_dir:units = "watts/m2" ;
>> swdn_tot_dir:missing_value = -999.f ;
>> swdn_tot_dir:_FillValue = -999.f ;
>> swdn_tot_dir:cell_methods = "time: mean" ;
>> swdn_tot_dir:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float swdn_tot_dif(time, lat, lon) ;
>> swdn_tot_dif:long_name = "downward diffuse total sfc sw flux" ;
>> swdn_tot_dif:units = "watts/m2" ;
>> swdn_tot_dif:missing_value = -999.f ;
>> swdn_tot_dif:_FillValue = -999.f ;
>> swdn_tot_dif:cell_methods = "time: mean" ;
>> swdn_tot_dif:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float flux_sw_vis(time, lat, lon) ;
>> flux_sw_vis:long_name = "net visible sfc sw flux" ;
>> flux_sw_vis:units = "watts/m2" ;
>> flux_sw_vis:missing_value = -999.f ;
>> flux_sw_vis:_FillValue = -999.f ;
>> flux_sw_vis:cell_methods = "time: mean" ;
>> flux_sw_vis:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float sw_dn_t_dir_clr(time, lat, lon) ;
>> sw_dn_t_dir_clr:long_name = "downward clearsky direct total sfc sw flux" ;
>> sw_dn_t_dir_clr:units = "watts/m2" ;
>> sw_dn_t_dir_clr:missing_value = -999.f ;
>> sw_dn_t_dir_clr:_FillValue = -999.f ;
>> sw_dn_t_dir_clr:cell_methods = "time: mean" ;
>> sw_dn_t_dir_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float sw_dn_t_dif_clr(time, lat, lon) ;
>> sw_dn_t_dif_clr:long_name = "downward clearsky diffuse total sfc sw flux"
>> ;
>> sw_dn_t_dif_clr:units = "watts/m2" ;
>> sw_dn_t_dif_clr:missing_value = -999.f ;
>> sw_dn_t_dif_clr:_FillValue = -999.f ;
>> sw_dn_t_dif_clr:cell_methods = "time: mean" ;
>> sw_dn_t_dif_clr:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float LWP2(time, lat, lon) ;
>> LWP2:long_name = "In-cloud liquid water path of stratiform clouds" ;
>> LWP2:units = "kg/m2" ;
>> LWP2:missing_value = -999.f ;
>> LWP2:_FillValue = -999.f ;
>> LWP2:cell_methods = "time: mean" ;
>> LWP2:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float z_pbl(time, lat, lon) ;
>> z_pbl:long_name = "depth of planetary boundary layer" ;
>> z_pbl:units = "m" ;
>> z_pbl:missing_value = 1.e+20f ;
>> z_pbl:_FillValue = 1.e+20f ;
>> z_pbl:cell_methods = "time: mean" ;
>> z_pbl:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_cloud_area(time, pfull, lat, lon) ;
>> conv_cloud_area:long_name = "Convective cloud area" ;
>> conv_cloud_area:units = "percent" ;
>> conv_cloud_area:missing_value = -999.f ;
>> conv_cloud_area:_FillValue = -999.f ;
>> conv_cloud_area:cell_methods = "time: mean" ;
>> conv_cloud_area:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_liq_amt(time, pfull, lat, lon) ;
>> conv_liq_amt:long_name = "Convective cloud liquid amount" ;
>> conv_liq_amt:units = "kg/kg" ;
>> conv_liq_amt:missing_value = -999.f ;
>> conv_liq_amt:_FillValue = -999.f ;
>> conv_liq_amt:cell_methods = "time: mean" ;
>> conv_liq_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float conv_ice_amt(time, pfull, lat, lon) ;
>> conv_ice_amt:long_name = "Convective cloud ice amount" ;
>> conv_ice_amt:units = "kg/kg" ;
>> conv_ice_amt:missing_value = -999.f ;
>> conv_ice_amt:_FillValue = -999.f ;
>> conv_ice_amt:cell_methods = "time: mean" ;
>> conv_ice_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lsc_cloud_area(time, pfull, lat, lon) ;
>> lsc_cloud_area:long_name = "Large-scale cloud area" ;
>> lsc_cloud_area:units = "percent" ;
>> lsc_cloud_area:missing_value = -999.f ;
>> lsc_cloud_area:_FillValue = -999.f ;
>> lsc_cloud_area:cell_methods = "time: mean" ;
>> lsc_cloud_area:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lsc_liq_amt(time, pfull, lat, lon) ;
>> lsc_liq_amt:long_name = "Large-scale cloud liquid amount" ;
>> lsc_liq_amt:units = "kg/kg" ;
>> lsc_liq_amt:missing_value = -999.f ;
>> lsc_liq_amt:_FillValue = -999.f ;
>> lsc_liq_amt:cell_methods = "time: mean" ;
>> lsc_liq_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> float lsc_ice_amt(time, pfull, lat, lon) ;
>> lsc_ice_amt:long_name = "Large-scale cloud ice amount" ;
>> lsc_ice_amt:units = "kg/kg" ;
>> lsc_ice_amt:missing_value = -999.f ;
>> lsc_ice_amt:_FillValue = -999.f ;
>> lsc_ice_amt:cell_methods = "time: mean" ;
>> lsc_ice_amt:time_avg_info = "average_T1,average_T2,average_DT" ;
>> double average_T1(time) ;
>> average_T1:long_name = "Start time for average period" ;
>> average_T1:units = "days since 0001-01-01 00:00:00" ;
>> average_T1:missing_value = 1.e+20 ;
>> average_T1:_FillValue = 1.e+20 ;
>> double average_T2(time) ;
>> average_T2:long_name = "End time for average period" ;
>> average_T2:units = "days since 0001-01-01 00:00:00" ;
>> average_T2:missing_value = 1.e+20 ;
>> average_T2:_FillValue = 1.e+20 ;
>> double average_DT(time) ;
>> average_DT:long_name = "Length of average period" ;
>> average_DT:units = "days" ;
>> average_DT:missing_value = 1.e+20 ;
>> average_DT:_FillValue = 1.e+20 ;
>> double time_bounds(time, nv) ;
>> time_bounds:long_name = "time axis boundaries" ;
>> time_bounds:units = "days" ;
>> time_bounds:missing_value = 1.e+20 ;
>> time_bounds:_FillValue = 1.e+20 ;
>>
>> // global attributes:
>> :filename = "atmos_month.nc.0000" ;
>> :NumFilesInSet = 30 ;
>> :title = "ESM2M_pi-control_C2" ;
>> :grid_type = "regular" ;
>> :grid_tile = "N/A" ;
>> data:
>>
>> lon = _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _, _ ;
>>
>> lonb = _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _,
>> _, _ ;
>>
>> lat = _, _, _ ;
>>
>> latb = _, _, _, _ ;
>>
>> nv = _, _ ;
>>
>> pfull = _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _, _, _ ;
>>
>> phalf = _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
>> _, _,
>> _, _ ;
>> }
>>
>> Thanks,
>>
>> David
>>
>>
>> On Thu, Jun 19, 2014 at 1:41 PM, Jennifer Adams <jma at cola.iges.org>
>> wrote:
>>
>>> David,
>>> Can you post the output from ncdump -c on your netcdf file?
>>> --Jennifer
>>>
>>> On Jun 19, 2014, at 1:14 PM, David Stanfel wrote:
>>>
>>> I made the changes that were recommended with the following results. My
>>> X11 window does pop up when I run grads but it stays black. This is what
>>> happens when I try to display a variable:
>>>
>>> ga-> open cont.ctl
>>> Scanning description file: cont.ctl
>>> Data file atmos_month.nc.0000 is open as file 1
>>> LON set to 0 360
>>> LAT set to -88.29 88.29
>>> LEV set to 1000 1000
>>> Time values set: 0:1:1:0 0:1:1:0
>>> E set to 1 1
>>> ga-> q file
>>> File 1 : 6 Months Sample Model Output
>>> Descriptor: cont.ctl
>>> Binary: atmos_month.nc.0000
>>> Type = Gridded
>>> Xsize = 96 Ysize = 80 Zsize = 18 Tsize = 804 Esize = 1
>>> Number of Variables = 7
>>> u 18 t,z,y,x u
>>> v 18 t,z,y,x v
>>> w 18 t,z,y,x v
>>> t 18 t,z,y,x v
>>> sh 18 t,z,y,x v
>>> rh 18 t,z,y,x v
>>> z 18 t,z,y,x v
>>> ga-> d u
>>> Error: Variable u not in netcdf file
>>> Data Request Error: Error for variable 'u'
>>> Error ocurred at column 1
>>> DISPLAY error: Invalid expression
>>> Expression = u
>>> ga-> d z
>>> Error: Variable z not in netcdf file
>>> Data Request Error: Error for variable 'z'
>>> Error ocurred at column 1
>>> DISPLAY error: Invalid expression
>>> Expression = z
>>>
>>> It still does not recognize that that variable is in the netcdf file for
>>> some reason.
>>>
>>> Thanks,
>>>
>>> David
>>>
>>>
>>> On Thu, Jun 19, 2014 at 10:22 AM, Hosmay Lopez <hlopez at rsmas.miami.edu>
>>> wrote:
>>>
>>>> Try this CTL file:
>>>>
>>>> The only difference is how you defined the variables' arguments.
>>>>
>>>>
>>>> DSET ^atmos_month.nc.0000
>>>> UNDEF 1.e-10
>>>> DTYPE netcdf
>>>> TITLE 6 Months Sample Model Output
>>>> *
>>>> XDEF 96 LINEAR 0.0 3.75
>>>> *
>>>> YDEF 80 GAUSR30 1
>>>> *
>>>> ZDEF 18 LEVELS 1000 950 900 850 800 750 700 650 600 550 500 450 400
>>>> 350 300
>>>> 250 200 150
>>>> *
>>>> TDEF 804 LINEAR JAN0 1MO
>>>> *
>>>> VARS 7
>>>> u 18 t,z,y,x u
>>>> v 18 t,z,y,x v
>>>> w 18 t,z,y,x v
>>>> t 18 t,z,y,x v
>>>> sh 18 t,z,y,x v
>>>> rh 18 t,z,y,x v
>>>> z 18 t,z,y,x v
>>>> ENDVARS
>>>>
>>>> Good luck!
>>>>
>>>> Hosmay Lopez
>>>> UM/CIMAS/RSMAS NOAA/AOML/PHOD
>>>> 4301 Rickenbacker Causeway,
>>>> Miami, FL 33149, USA
>>>> Phone: (305) 361-4329
>>>>
>>>> ------------------------------
>>>> *From:* gradsusr-bounces at gradsusr.org [gradsusr-bounces at gradsusr.org]
>>>> on behalf of David Stanfel [dstanfel at ualberta.ca]
>>>> *Sent:* Thursday, June 19, 2014 12:07 AM
>>>> *To:* GrADS Users Forum
>>>> *Subject:* Re: [gradsusr] Displaying a .nc file
>>>>
>>>> It did prompt a list of variables including u, v, w, and z. It still
>>>> doesn't want to display them.
>>>>
>>>> ga-> q file
>>>> File 1 : 6 Months Sample Model Output
>>>> Descriptor: cont.ctl
>>>> Binary: atmos_month.nc.0000
>>>> Type = Gridded
>>>> Xsize = 96 Ysize = 80 Zsize = 18 Tsize = 804 Esize = 1
>>>> Number of Variables = 7
>>>> u 18 0 u
>>>> v 18 0 v
>>>> w 18 0 v
>>>> t 18 0 v
>>>> sh 18 0 v
>>>> rh 18 0 v
>>>> z 18 0 v
>>>> ga-> d v
>>>> Data Request Error: Error for variable 'v'
>>>> Error ocurred at column 1
>>>> DISPLAY error: Invalid expression
>>>> Expression = v
>>>> ga-> d sh
>>>> Error: Variable sh not in netcdf file
>>>> Data Request Error: Error for variable 'sh'
>>>> Error ocurred at column 1
>>>> DISPLAY error: Invalid expression
>>>> Expression = sh
>>>>
>>>> Thanks,
>>>>
>>>> David
>>>>
>>>>
>>>> On Wed, Jun 18, 2014 at 11:58 PM, James T. Potemra <jimp at hawaii.edu>
>>>> wrote:
>>>>
>>>>> If you enter "q file" at the GrADS prompt it should list the
>>>>> variables.
>>>>>
>>>>>
>>>>> On 6/18/14 5:52 PM, David Stanfel wrote:
>>>>>
>>>>> How do I know what variable name will work? I've tried u, v, w, and z
>>>>> and still only get:
>>>>>
>>>>> ga-> d v
>>>>> Error: Variable v not in netcdf file
>>>>> Data Request Error: Error for variable 'v'
>>>>> Error ocurred at column 1
>>>>> DISPLAY error: Invalid expression
>>>>> Expression = v
>>>>>
>>>>> Thanks,
>>>>>
>>>>> David
>>>>>
>>>>>
>>>>> On Wed, Jun 18, 2014 at 11:13 PM, Hosmay Lopez <hlopez at rsmas.miami.edu
>>>>> > wrote:
>>>>>
>>>>>> David,
>>>>>>
>>>>>> You should let GrADS know that the file is a netCDF. You do that by
>>>>>> adding the following text line in your control file:
>>>>>>
>>>>>> DTYPE netcdf
>>>>>>
>>>>>> Insert such after the UNDEF line.
>>>>>>
>>>>>> Good luck!
>>>>>>
>>>>>> Hosmay Lopez
>>>>>> UM/CIMAS/RSMAS NOAA/AOML/PHOD
>>>>>> 4301 Rickenbacker Causeway,
>>>>>> Miami, FL 33149, USA
>>>>>> Phone: (305) 361-4329
>>>>>>
>>>>>> ------------------------------
>>>>>> *From:* gradsusr-bounces at gradsusr.org [gradsusr-bounces at gradsusr.org]
>>>>>> on behalf of David Stanfel [dstanfel at ualberta.ca]
>>>>>> *Sent:* Wednesday, June 18, 2014 10:58 PM
>>>>>> *To:* GrADS Users Forum
>>>>>> *Subject:* [gradsusr] Displaying a .nc file
>>>>>>
>>>>>> So I figured out how to use a descriptor file but I am still
>>>>>> having troubles opening the file. My descriptor file is as follows:
>>>>>>
>>>>>> DSET ^atmos_month.nc.0000
>>>>>> UNDEF 1.e-10
>>>>>> TITLE 6 Months Sample Model Output
>>>>>> *
>>>>>> XDEF 96 LINEAR 0.0 3.75
>>>>>> *
>>>>>> YDEF 80 GAUSR30 1
>>>>>> *
>>>>>> ZDEF 18 LEVELS 1000 950 900 850 800 750 700 650 600 550 500 450 400
>>>>>> 350 300
>>>>>> 250 200 150
>>>>>> *
>>>>>> TDEF 804 LINEAR JAN0 1MO
>>>>>> *
>>>>>> VARS 7
>>>>>> u 18 0 u
>>>>>> v 18 0 v
>>>>>> w 18 0 v
>>>>>> t 18 0 v
>>>>>> sh 18 0 v
>>>>>> rh 18 0 v
>>>>>> z 18 0 v
>>>>>> ENDVARS
>>>>>>
>>>>>> It was able to open it without issue:
>>>>>>
>>>>>> ga-> open cont.ctl
>>>>>> Scanning description file: cont.ctl
>>>>>> Data file atmos_month.nc.0000 is open as file 1
>>>>>> LON set to 0 360
>>>>>> LAT set to -88.29 88.29
>>>>>> LEV set to 1000 1000
>>>>>> Time values set: 0:1:1:0 0:1:1:0
>>>>>> E set to 1 1
>>>>>>
>>>>>> However, I am having trouble displaying the data. I tried to use the
>>>>>> display command (d) with this result:
>>>>>>
>>>>>> ga-> d atmos_month.nc.0000
>>>>>> Syntax error: Bad file number for variable atmos_month
>>>>>> Error ocurred at column 1
>>>>>> DISPLAY error: Invalid expression
>>>>>> Expression = atmos_month.nc.0000
>>>>>>
>>>>>> Is my syntax off?
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> David
>>>>>>
>>>>>> _______________________________________________
>>>>>> gradsusr mailing list
>>>>>> gradsusr at gradsusr.org
>>>>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gradsusr mailing listgradsusr at gradsusr.orghttp://gradsusr.org/mailman/listinfo/gradsusr
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> gradsusr mailing list
>>>>> gradsusr at gradsusr.org
>>>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> gradsusr mailing list
>>>> gradsusr at gradsusr.org
>>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>>
>>>>
>>> _______________________________________________
>>> gradsusr mailing list
>>> gradsusr at gradsusr.org
>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>
>>>
>>> --
>>> Jennifer M. Adams
>>> Center for Ocean-Land-Atmosphere Studies (COLA)
>>> 111 Research Hall, Mail Stop 2B3
>>> George Mason University
>>> 4400 University Drive
>>> Fairfax, VA 22030
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> gradsusr mailing list
>>> gradsusr at gradsusr.org
>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>
>>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>> --
>> Jennifer M. Adams
>> Center for Ocean-Land-Atmosphere Studies (COLA)
>> 111 Research Hall, Mail Stop 2B3
>> George Mason University
>> 4400 University Drive
>> Fairfax, VA 22030
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
> --
> Jennifer M. Adams
> Center for Ocean-Land-Atmosphere Studies (COLA)
> 111 Research Hall, Mail Stop 2B3
> George Mason University
> 4400 University Drive
> Fairfax, VA 22030
>
>
>
>
>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20140620/56eac5db/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2014-06-20 at 4.09.17 PM.png
Type: image/png
Size: 43145 bytes
Desc: not available
Url : http://gradsusr.org/pipermail/gradsusr/attachments/20140620/56eac5db/attachment-0001.png
More information about the gradsusr
mailing list