undef with unpack in dtype netcdf

Don Hooper hoop at COLORADO.EDU
Fri Mar 11 00:04:57 EST 2005


Diane, Jennifer -

Well, this is interesting:  In 1.8SL10, on Solaris 8, I've no difficulty
displaying that variable with either gradsnc or gradshdf.  Maybe I missed
something; was the dtype_netcdf DDF (and hence 1.9 per force) involved in
that gradshdf-only problem?  It seemed fine with sdfopen in this situation....
If I didn't miss anything, maybe we're back to Diane's suggestion of a build
problem.

-Hoop
> From owner-gradsusr at LIST.CINECA.IT  Thu Mar 10 19:03:51 2005
>
> Hi, All --
>
> > Thanks, Jennifer, for the suggestion to set the "file-wide" value to
> > -10.0017.  I'll suggest that to the user.  On the off chance that one
> > of
> > the other fields has a point with value close enough to -10.0017, would
> > that point then be considered missing too?  (I just want to know what
> > to
> > tell him so he knows he has the choice of taking that risk vs using the
> > maskout function).
> With that mix of variable types in the file, it will probably almost
> certainly be a problem. Perhaps what he'll need is one descriptor with
> the one variable and it's funky undef value, and another nearly
> identical descriptor with the more general undef entry and the other
> variables in the list.
>
>
> > Thanks, Hoop, for directing me to the CF conventions.  As you
> > mentioned,
> > the general manual was vague.  The CF convention says:
> >
> > "The missing values of a variable with scale_factor and/or add_offset
> > attributes (see section 8.1) are interpreted relative to the variable's
> > external values, i.e., the values stored in the netCDF file.
> > Applications that process variables that have attributes to indicate
> > both a transformation (via a scale and/or offset) and missing values
> > should first check that a data value is valid, and then apply the
> > transformation.
> Well, that's clear enough. It's not a huge change to the I/O code, but
> I must have done it the other way in the first place for a good reason.
> Maybe I could add a third arg to undef to make it as flexible as
> possible...
>
> > Also, if it wasn't noticed at the bottom of my orig msg,
> Yep, missed that chunk entirely. Oops!
>
> > there is still
> > the issue that gradshdf cannot seem to handle having a mix of packed vs
> > non-packed variables.  Has anyone else noticed the same, or might it be
> > a problem with my build?
> The gradsnc and gradshdf use different versions of the netcdf libraries
> and there are two different chunks of GrADS code to handle the I/O
> depending on which build you're using (DON'T ASK) . I'll have to look
> to see why the hdf version doesn't follow the same protocol as the nc
> version.
>
>
> > A sample data file is temporarily available at:
> >   ftp://ftpprd.ncep.noaa.gov/pub/cmb/misc/cola/00010101.ocean_month.nc
> Yes, I will definitely need this. Thanks for thinking of that ahead of
> time!
>
> Jennifer
>
> >
> >    Thanks!
> >       Diane
> >
> >
> >
> > Don Hooper wrote:
> >
> >> Jennifer,
> >>
> >> With regard to NetCDF conventions, the picture isn't perfectly clear.
> >> Unidata's documentation is unclear because, packed variables have two
> >> types:  the packed type and the unpacked type.  However, their doc
> >> doesn't
> >> seem to go into that distinction, and just talks about "the type of
> >> the
> >> variable".  I would presume that they mean the type displayed by
> >> ncdump,
> >> and hence the packed type.  Generally, that's how folks do
> >> missing_value
> >> and _FillValue.  This is handy when the packed type is an integer
> >> one, as
> >> one can do exact comparisions for equality, rather than the threshold
> >> type
> >> you described GrADS doing for floating point values.  However, the
> >> application
> >> is then left to decide what value to replace missings with during
> >> unpacking.
> >> Actually NetCDF conventions, like CF, I *think* specifically require
> >> these
> >> attributes to be of the packed type, but I don't feel like wading
> >> through
> >> those web pages right now.  %}
> >>
> >> I dunno if any of this helps....
> >>
> >> -Hoop, who's getting used to having his main contribution be as a bad
> >> example....
> >>
> >>> From owner-gradsusr at LIST.CINECA.IT  Thu Mar 10 13:13:54 2005
> >>>
> >>> Hi, Diane --
> >>> First, a clarification of terminology:
> >>>
> >>>> undef -1.e+34f missing_value
> >>>
> >>> In this undef entry, you've provided a "file-wide" undef value of
> >>> -1e+34 and an "undef attribute name". When you provide the attribute
> >>> name, this tells GrADS that variables in the file may have different
> >>> undef values and it needs to retrieve those along with the data when
> >>> it
> >>> does the I/O. Then, each variable is tested against its own missing
> >>> value. If data are determined to be missing, then the missing value
> >>> is
> >>> changed to the file-wide undef, so that after I/O all variables
> >>> appear
> >>> to have the same undef value. This makes it possible to compare
> >>> variables with different undefs without confusing GrADS.  If no undef
> >>> attribute name is given, the file-wide undef is used for each
> >>> variable,
> >>> and the missing value attribute is not retrieved during I/O.
> >>>
> >>> I believe your issue has to do with whether the missing value
> >>> attribute
> >>> corresponds to a packed or unpacked data value. The way it has been
> >>> implemented in the dtype netcdf interface is the latter: GrADS
> >>> unpacks
> >>> first, then does a "fuzzy" test to see if data values are within
> >>> epsilon of the missing value -- if so, then they are assigned the
> >>> file-wide undef.
> >>>
> >>> Since the missing value in your data set corresponds to a packed data
> >>> value, then I suggest trying this as a solution: put the unpacked
> >>> value
> >>> of the undef as your file-wide undef without the undef attribute
> >>> name:
> >>>   undef -10.0017
> >>>
> >>> I have no idea what the NetCDF convention is for missing_value and
> >>> _FillValue -- whether these are meant to correspond to packed or
> >>> unpacked values. Anyone else know the answer to this?
> >>>
> >>> Jennifer
> >>>
> >>>
> >>> On Mar 10, 2005, at 2:17 PM, Diane Stokes wrote:
> >>>
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm running GrADS 1.9b3 on AIX:
> >>>>
> >>>> Config: v1.9b3 32-bit big-endian readline sdf/xdf netcdf lats
> >>>> printim
> >>>>
> >>>>
> >>>> I'm trying to help someone here read a netcdf file, using the new
> >>>> "dtype
> >>>> netcdf" entry in the data descriptor file.  This data includes a
> >>>> packed
> >>>> variable, temp.
> >>>>
> >>>> The data descriptor file and output from ncdump -c are attached.
> >>>>
> >>>> When I include the "upack" line in the descriptor file, temp
> >>>> displays
> >>>> correctly *except* for the fact that the missing points are not
> >>>> masked
> >>>> out.  GrADS sees these values as -10.0017.
> >>>>
> >>>> If I remove the "undef" line, the missing values are seen as -32768
> >>>> and
> >>>> are masked out correctly, but, of course, the wrong values are
> >>>> displayed
> >>>> for the temperature (because they haven't been unpacked).
> >>>>
> >>>> Is the problem that GrADS is expecting -32768 but seeing -10.0017?
> >>>> Or
> >>>> might it be a roundoff issue, eg, GrADS is expecting -10, but seeing
> >>>> -10.0017?  Either way, any suggestions?
> >>>>
> >>>> We could use sdfopen to read one file, but we are templating a time
> >>>> series of files.  We have to use "dtype netcdf" instead to avoid
> >>>> core
> >>>> dumps.
> >>>>
> >>>> Maskout will work in the meantime, but that is not an ideal
> >>>> solution.
> >>>>
> >>>>
> >>>>
> >>>> *ALSO*, I can display the non-packed packed variables version using
> >>>> gradsnc.  I get, eg:
> >>>>
> >>>> ga-> d eta_t
> >>>> Warning: Scale Factor Attribute Value Not Retrieved ... setting to
> >>>> 1.0
> >>>> Warning: Offset Attribute Value Not Retrieved ... setting to 0.0
> >>>> Contouring: -1.8 to 0.6 interval 0.3
> >>>>
> >>>> But with gradshdf, I get:
> >>>>
> >>>> ga-> d eta_t
> >>>> ncattget: ncid 4: Attribute not found
> >>>>
> >>>> and GrADS exits. (No core dump).
> >>>>
> >>>> I'll start a new thread with this one if you like, but then you'd
> >>>> get
> >>>> another copy of the same ncdump -c output.
> >>>>
> >>>>  Thanks in advance for any help.
> >>>>     Diane
> >>>>
> >>>> --
> >>>> Diane Stokes
> >>>> Environmental Modeling Center
> >>>> National Weather Service/NOAA
> >>>>
> >>>> DSET /ptmp/wx20wn/SIMU_OUT/TS/%y4%m201.ocean_month.nc
> >>>> dtype netcdf
> >>>> options template
> >>>> undef -1.e+34f missing_value
> >>>> unpack scale_factor add_offset
> >>>> title operational godas time_mean files
> >>>> *
> >>>>
> >>>> XDEF 360 LINEAR 0.5 1.0
> >>>> YDEF 200 LEVELS -74.5  -73.5  -72.5  -71.5  -70.5  -69.5  -68.5
> >>>> -67.5
> >>>> -66.5
> >>>>    -65.5  -64.5  -63.5  -62.5  -61.5  -60.5  -59.5  -58.5  -57.5
> >>>> -56.5
> >>>>    -55.5  -54.5  -53.5  -52.5  -51.5  -50.5  -49.5  -48.5  -47.5
> >>>> -46.5
> >>>>    -45.5  -44.5  -43.5  -42.5  -41.5  -40.5  -39.5  -38.5  -37.5
> >>>> -36.5
> >>>>    -35.5  -34.5  -33.5  -32.5  -31.5  -30.5  -29.50046  -28.50319
> >>>>    -27.51137  -26.52855  -25.5582  -24.60365  -23.66805  -22.75435
> >>>>    -21.86525  -21.00319  -20.17032  -19.36844  -18.59905  -17.86328
> >>>>    -17.16186  -16.4952  -15.86328  -15.26573  -14.70179  -14.17033
> >>>>    -13.66988  -13.19861  -12.75437  -12.33475  -11.93702  -11.55824
> >>>>    -11.19526  -10.84474  -10.50324  -10.16717  -9.833385  -9.500055
> >>>>    -9.166725  -8.833395  -8.500065  -8.166735  -7.833405  -7.500075
> >>>>    -7.166745  -6.833415  -6.500085  -6.166755  -5.833425  -5.500095
> >>>>    -5.166765  -4.833435  -4.500105  -4.166775  -3.833445  -3.500115
> >>>>    -3.166785  -2.833455  -2.500125  -2.166795  -1.833465  -1.500135
> >>>>    -1.166805  -0.833475  -0.500145  -0.166815  0.166515  0.499845
> >>>> 0.833175
> >>>>    1.166505  1.499835  1.833165  2.166495  2.499825  2.833155
> >>>> 3.166485
> >>>>    3.499815  3.833145  4.166475  4.499805  4.833135  5.166465
> >>>> 5.499795
> >>>>    5.833125  6.166455  6.499785  6.833115  7.166445  7.499775
> >>>> 7.833105
> >>>>    8.166435  8.499765  8.833095  9.166425  9.499755  9.833085
> >>>> 10.16687
> >>>>    10.50294  10.84444  11.19496  11.55794  11.93672  12.33445
> >>>> 12.75407
> >>>>    13.19831  13.66958  14.17003  14.70149  15.26543  15.86298
> >>>> 16.4949
> >>>>    17.16156  17.86298  18.59875  19.36814  20.17002  21.00289
> >>>> 21.86495
> >>>>    22.75405  23.66775  24.60335  25.5579  26.52825  27.51107
> >>>> 28.50289
> >>>>    29.50016  30.4997  31.4997  32.4997  33.4997  34.4997  35.4997
> >>>> 36.4997
> >>>>    37.4997  38.4997  39.4997  40.4997  41.4997  42.4997  43.4997
> >>>> 44.4997
> >>>>    45.4997  46.4997  47.4997  48.4997  49.4997  50.4997  51.4997
> >>>> 52.4997
> >>>>    53.4997  54.4997  55.4997  56.4997  57.4997  58.4997  59.4997
> >>>> 60.4997
> >>>>    61.4997  62.4997  63.4997  64.4997
> >>>>
> >>>> ZDEF 40 levels 5  15  25  35  45  55  65  75  85  95  105  115  125
> >>>> 135  145  155
> >>>>    165  175  185  195  205  215  225  238.4779  262.2945  303.0287
> >>>>    366.7978  459.091  584.6193  747.187  949.5881  1193.53  1479.588
> >>>>    1807.187  2174.619  2579.091  3016.798  3483.029  3972.294
> >>>> 4478.478
> >>>>
> >>>> TDEF 14 LINEAR 16jan0001 1mo
> >>>>
> >>>> vars 6
> >>>> eta_t    0 t,y,x   ssh
> >>>> temp    40 t,z,y,x   temp
> >>>> salt    40 t,z,y,x   salt
> >>>> mld      0 t,y,x   mld
> >>>> sfc_hflux      0 t,y,x   heat flux
> >>>> pme      0 t,y,x   precip-evap
> >>>> endvars
> >>>>
> >>>> netcdf 00010101.ocean_month {
> >>>> dimensions:
> >>>>        xt_ocean = 360 ;
> >>>>        yt_ocean = 200 ;
> >>>>        Time = UNLIMITED ; // (1 currently)
> >>>>        nv = 2 ;
> >>>>        zt_ocean = 40 ;
> >>>>        zt_edges_ocean = 41 ;
> >>>>        zw_ocean = 40 ;
> >>>>        zw_edges_ocean = 41 ;
> >>>> variables:
> >>>>        float xt_ocean(xt_ocean) ;
> >>>>                xt_ocean:long_name = "tcell longitude" ;
> >>>>                xt_ocean:units = "degrees_E" ;
> >>>>                xt_ocean:cartesian_axis = "X" ;
> >>>>        float yt_ocean(yt_ocean) ;
> >>>>                yt_ocean:long_name = "tcell latitude" ;
> >>>>                yt_ocean:units = "degrees_N" ;
> >>>>                yt_ocean:cartesian_axis = "Y" ;
> >>>>        double Time(Time) ;
> >>>>                Time:long_name = "Time" ;
> >>>>                Time:units = "days since 0001-01-01 00:00:00" ;
> >>>>                Time:cartesian_axis = "T" ;
> >>>>                Time:calendar_type = "JULIAN" ;
> >>>>                Time:calendar = "JULIAN" ;
> >>>>                Time:bounds = "Time_bounds" ;
> >>>>        float nv(nv) ;
> >>>>                nv:long_name = "vertex number" ;
> >>>>                nv:units = "none" ;
> >>>>                nv:cartesian_axis = "N" ;
> >>>>        float zt_ocean(zt_ocean) ;
> >>>>                zt_ocean:long_name = "tcell depth" ;
> >>>>                zt_ocean:units = "meters" ;
> >>>>                zt_ocean:cartesian_axis = "Z" ;
> >>>>                zt_ocean:positive = "down" ;
> >>>>                zt_ocean:edges = "zt_edges_ocean" ;
> >>>>        float zt_edges_ocean(zt_edges_ocean) ;
> >>>>                zt_edges_ocean:long_name = "tcell depth edges" ;
> >>>>                zt_edges_ocean:units = "meters" ;
> >>>>                zt_edges_ocean:cartesian_axis = "Z" ;
> >>>>                zt_edges_ocean:positive = "down" ;
> >>>>        float zw_ocean(zw_ocean) ;
> >>>>                zw_ocean:long_name = "ucell depth" ;
> >>>>                zw_ocean:units = "meters" ;
> >>>>                zw_ocean:cartesian_axis = "Z" ;
> >>>>                zw_ocean:positive = "down" ;
> >>>>                zw_ocean:edges = "zw_edges_ocean" ;
> >>>>        float zw_edges_ocean(zw_edges_ocean) ;
> >>>>                zw_edges_ocean:long_name = "ucell depth edges" ;
> >>>>                zw_edges_ocean:units = "meters" ;
> >>>>                zw_edges_ocean:cartesian_axis = "Z" ;
> >>>>                zw_edges_ocean:positive = "down" ;
> >>>>        float eta_t(Time, yt_ocean, xt_ocean) ;
> >>>>                eta_t:long_name = "surface height on T cells" ;
> >>>>                eta_t:units = "meter" ;
> >>>>                eta_t:valid_range = -10.f, 10.f ;
> >>>>                eta_t:missing_value = -10.f ;
> >>>>                eta_t:cell_methods = "time: mean" ;
> >>>>                eta_t:time_avg_info =
> >>>> "average_T1,average_T2,average_DT" ;
> >>>>        short temp(Time, zt_ocean, yt_ocean, xt_ocean) ;
> >>>>                temp:long_name = "Potential temperature" ;
> >>>>                temp:units = "deg_C" ;
> >>>>                temp:valid_range = -32767s, 32767s ;
> >>>>                temp:missing_value = -32768s ;
> >>>>                temp:packing = 4 ;
> >>>>                temp:scale_factor = 0.001678518f ;
> >>>>                temp:add_offset = 45.f ;
> >>>>                temp:cell_methods = "time: mean" ;
> >>>>                temp:time_avg_info =
> >>>> "average_T1,average_T2,average_DT" ;
> >>>>        short salt(Time, zt_ocean, yt_ocean, xt_ocean) ;
> >>>>                salt:long_name = "Salinity" ;
> >>>>                salt:units = "psu" ;
> >>>>                salt:valid_range = -32767s, 32767s ;
> >>>>                salt:missing_value = -32768s ;
> >>>>                salt:packing = 4 ;
> >>>>                salt:scale_factor = 0.001678518f ;
> >>>>                salt:add_offset = 45.f ;
> >>>>                salt:cell_methods = "time: mean" ;
> >>>>                salt:time_avg_info =
> >>>> "average_T1,average_T2,average_DT" ;
> >>>>        float wt(Time, zw_ocean, yt_ocean, xt_ocean) ;
> >>>>                wt:long_name = "vertical velocity T-points" ;
> >>>>                wt:units = "m/sec" ;
> >>>>                wt:valid_range = -10.f, 10.f ;
> >>>>                wt:missing_value = -10.f ;
> >>>>                wt:cell_methods = "time: mean" ;
> >>>>                wt:time_avg_info =
> >>>> "average_T1,average_T2,average_DT" ;
> >>>>        float mld(Time, yt_ocean, xt_ocean) ;
> >>>>                mld:long_name = "mixed layer depth" ;
> >>>>                mld:units = "m" ;
> >>>>                mld:valid_range = 0.f, 1000000.f ;
> >>>>                mld:missing_value = 0.f ;
> >>>>                mld:cell_methods = "time: mean" ;
> >>>>                mld:time_avg_info =
> >>>> "average_T1,average_T2,average_DT"
> >>>> ;
> >>>>        float sfc_hflux(Time, yt_ocean, xt_ocean) ;
> >>>>                sfc_hflux:long_name = "surface heat flux" ;
> >>>>                sfc_hflux:units = "Watts/m^2" ;
> >>>>                sfc_hflux:valid_range = -10000.f, 10000.f ;
> >>>>                sfc_hflux:missing_value = -1.e+10f ;
> >>>>                sfc_hflux:cell_methods = "time: mean" ;
> >>>>                sfc_hflux:time_avg_info =
> >>>> "average_T1,average_T2,average_DT" ;
> >>>>        float pme(Time, yt_ocean, xt_ocean) ;
> >>>>                pme:long_name = "precip-evap (liquid, frozen,
> >>>> evaporation)" ;
> >>>>                pme:units = "m/sec" ;
> >>>>                pme:valid_range = -10.f, 10.f ;
> >>>>                pme:missing_value = -1.e+10f ;
> >>>>                pme:cell_methods = "time: mean" ;
> >>>>                pme: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" ;
> >>>>        double average_T2(Time) ;
> >>>>                average_T2:long_name = "End time for average period"
> >>>> ;
> >>>>                average_T2:units = "days since 0001-01-01 00:00:00" ;
> >>>>        double average_DT(Time) ;
> >>>>                average_DT:long_name = "Length of average period" ;
> >>>>                average_DT:units = "days" ;
> >>>>        double Time_bounds(Time, nv) ;
> >>>>                Time_bounds:long_name = "Time axis boundaries" ;
> >>>>                Time_bounds:units = "days" ;
> >>>>
> >>>> // global attributes:
> >>>>                :filename = "ocean_month.nc" ;
> >>>>                :title = "indian ocean exp" ;
> >>>> data:
> >>>>
> >>>> xt_ocean = 0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5,
> >>>> 11.5,
> >>>>    12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, 21.5, 22.5,
> >>>> 23.5,
> >>>>    24.5, 25.5, 26.5, 27.5, 28.5, 29.5, 30.5, 31.5, 32.5, 33.5, 34.5,
> >>>> 35.5,
> >>>>    36.5, 37.5, 38.5, 39.5, 40.5, 41.5, 42.5, 43.5, 44.5, 45.5, 46.5,
> >>>> 47.5,
> >>>>    48.5, 49.5, 50.5, 51.5, 52.5, 53.5, 54.5, 55.5, 56.5, 57.5, 58.5,
> >>>> 59.5,
> >>>>    60.5, 61.5, 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5, 69.5, 70.5,
> >>>> 71.5,
> >>>>    72.5, 73.5, 74.5, 75.5, 76.5, 77.5, 78.5, 79.5, 80.5, 81.5, 82.5,
> >>>> 83.5,
> >>>>    84.5, 85.5, 86.5, 87.5, 88.5, 89.5, 90.5, 91.5, 92.5, 93.5, 94.5,
> >>>> 95.5,
> >>>>    96.5, 97.5, 98.5, 99.5, 100.5, 101.5, 102.5, 103.5, 104.5, 105.5,
> >>>> 106.5,
> >>>>    107.5, 108.5, 109.5, 110.5, 111.5, 112.5, 113.5, 114.5, 115.5,
> >>>> 116.5,
> >>>>    117.5, 118.5, 119.5, 120.5, 121.5, 122.5, 123.5, 124.5, 125.5,
> >>>> 126.5,
> >>>>    127.5, 128.5, 129.5, 130.5, 131.5, 132.5, 133.5, 134.5, 135.5,
> >>>> 136.5,
> >>>>    137.5, 138.5, 139.5, 140.5, 141.5, 142.5, 143.5, 144.5, 145.5,
> >>>> 146.5,
> >>>>    147.5, 148.5, 149.5, 150.5, 151.5, 152.5, 153.5, 154.5, 155.5,
> >>>> 156.5,
> >>>>    157.5, 158.5, 159.5, 160.5, 161.5, 162.5, 163.5, 164.5, 165.5,
> >>>> 166.5,
> >>>>    167.5, 168.5, 169.5, 170.5, 171.5, 172.5, 173.5, 174.5, 175.5,
> >>>> 176.5,
> >>>>    177.5, 178.5, 179.5, 180.5, 181.5, 182.5, 183.5, 184.5, 185.5,
> >>>> 186.5,
> >>>>    187.5, 188.5, 189.5, 190.5, 191.5, 192.5, 193.5, 194.5, 195.5,
> >>>> 196.5,
> >>>>    197.5, 198.5, 199.5, 200.5, 201.5, 202.5, 203.5, 204.5, 205.5,
> >>>> 206.5,
> >>>>    207.5, 208.5, 209.5, 210.5, 211.5, 212.5, 213.5, 214.5, 215.5,
> >>>> 216.5,
> >>>>    217.5, 218.5, 219.5, 220.5, 221.5, 222.5, 223.5, 224.5, 225.5,
> >>>> 226.5,
> >>>>    227.5, 228.5, 229.5, 230.5, 231.5, 232.5, 233.5, 234.5, 235.5,
> >>>> 236.5,
> >>>>    237.5, 238.5, 239.5, 240.5, 241.5, 242.5, 243.5, 244.5, 245.5,
> >>>> 246.5,
> >>>>    247.5, 248.5, 249.5, 250.5, 251.5, 252.5, 253.5, 254.5, 255.5,
> >>>> 256.5,
> >>>>    257.5, 258.5, 259.5, 260.5, 261.5, 262.5, 263.5, 264.5, 265.5,
> >>>> 266.5,
> >>>>    267.5, 268.5, 269.5, 270.5, 271.5, 272.5, 273.5, 274.5, 275.5,
> >>>> 276.5,
> >>>>    277.5, 278.5, 279.5, 280.5, 281.5, 282.5, 283.5, 284.5, 285.5,
> >>>> 286.5,
> >>>>    287.5, 288.5, 289.5, 290.5, 291.5, 292.5, 293.5, 294.5, 295.5,
> >>>> 296.5,
> >>>>    297.5, 298.5, 299.5, 300.5, 301.5, 302.5, 303.5, 304.5, 305.5,
> >>>> 306.5,
> >>>>    307.5, 308.5, 309.5, 310.5, 311.5, 312.5, 313.5, 314.5, 315.5,
> >>>> 316.5,
> >>>>    317.5, 318.5, 319.5, 320.5, 321.5, 322.5, 323.5, 324.5, 325.5,
> >>>> 326.5,
> >>>>    327.5, 328.5, 329.5, 330.5, 331.5, 332.5, 333.5, 334.5, 335.5,
> >>>> 336.5,
> >>>>    337.5, 338.5, 339.5, 340.5, 341.5, 342.5, 343.5, 344.5, 345.5,
> >>>> 346.5,
> >>>>    347.5, 348.5, 349.5, 350.5, 351.5, 352.5, 353.5, 354.5, 355.5,
> >>>> 356.5,
> >>>>    357.5, 358.5, 359.5 ;
> >>>>
> >>>> yt_ocean = -74.5, -73.5, -72.5, -71.5, -70.5, -69.5, -68.5, -67.5,
> >>>> -66.5,
> >>>>    -65.5, -64.5, -63.5, -62.5, -61.5, -60.5, -59.5, -58.5, -57.5,
> >>>> -56.5,
> >>>>    -55.5, -54.5, -53.5, -52.5, -51.5, -50.5, -49.5, -48.5, -47.5,
> >>>> -46.5,
> >>>>    -45.5, -44.5, -43.5, -42.5, -41.5, -40.5, -39.5, -38.5, -37.5,
> >>>> -36.5,
> >>>>    -35.5, -34.5, -33.5, -32.5, -31.5, -30.5, -29.50046, -28.50319,
> >>>>    -27.51137, -26.52855, -25.5582, -24.60365, -23.66805, -22.75435,
> >>>>    -21.86525, -21.00319, -20.17032, -19.36844, -18.59905, -17.86328,
> >>>>    -17.16186, -16.4952, -15.86328, -15.26573, -14.70179, -14.17033,
> >>>>    -13.66988, -13.19861, -12.75437, -12.33475, -11.93702, -11.55824,
> >>>>    -11.19526, -10.84474, -10.50324, -10.16717, -9.833385, -9.500055,
> >>>>    -9.166725, -8.833395, -8.500065, -8.166735, -7.833405, -7.500075,
> >>>>    -7.166745, -6.833415, -6.500085, -6.166755, -5.833425, -5.500095,
> >>>>    -5.166765, -4.833435, -4.500105, -4.166775, -3.833445, -3.500115,
> >>>>    -3.166785, -2.833455, -2.500125, -2.166795, -1.833465, -1.500135,
> >>>>    -1.166805, -0.833475, -0.500145, -0.166815, 0.166515, 0.499845,
> >>>> 0.833175,
> >>>>    1.166505, 1.499835, 1.833165, 2.166495, 2.499825, 2.833155,
> >>>> 3.166485,
> >>>>    3.499815, 3.833145, 4.166475, 4.499805, 4.833135, 5.166465,
> >>>> 5.499795,
> >>>>    5.833125, 6.166455, 6.499785, 6.833115, 7.166445, 7.499775,
> >>>> 7.833105,
> >>>>    8.166435, 8.499765, 8.833095, 9.166425, 9.499755, 9.833085,
> >>>> 10.16687,
> >>>>    10.50294, 10.84444, 11.19496, 11.55794, 11.93672, 12.33445,
> >>>> 12.75407,
> >>>>    13.19831, 13.66958, 14.17003, 14.70149, 15.26543, 15.86298,
> >>>> 16.4949,
> >>>>    17.16156, 17.86298, 18.59875, 19.36814, 20.17002, 21.00289,
> >>>> 21.86495,
> >>>>    22.75405, 23.66775, 24.60335, 25.5579, 26.52825, 27.51107,
> >>>> 28.50289,
> >>>>    29.50016, 30.4997, 31.4997, 32.4997, 33.4997, 34.4997, 35.4997,
> >>>> 36.4997,
> >>>>    37.4997, 38.4997, 39.4997, 40.4997, 41.4997, 42.4997, 43.4997,
> >>>> 44.4997,
> >>>>    45.4997, 46.4997, 47.4997, 48.4997, 49.4997, 50.4997, 51.4997,
> >>>> 52.4997,
> >>>>    53.4997, 54.4997, 55.4997, 56.4997, 57.4997, 58.4997, 59.4997,
> >>>> 60.4997,
> >>>>    61.4997, 62.4997, 63.4997, 64.4997 ;
> >>>>
> >>>> Time = 15.5 ;
> >>>>
> >>>> nv = 1, 2 ;
> >>>>
> >>>> zt_ocean = 5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 105, 115, 125,
> >>>> 135,
> >>>> 145,
> >>>>    155, 165, 175, 185, 195, 205, 215, 225, 238.4779, 262.2945,
> >>>> 303.0287,
> >>>>    366.7978, 459.091, 584.6193, 747.187, 949.5881, 1193.53,
> >>>> 1479.588,
> >>>>    1807.187, 2174.619, 2579.091, 3016.798, 3483.029, 3972.294,
> >>>> 4478.478 ;
> >>>>
> >>>> zt_edges_ocean = -0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110,
> >>>> 120, 130,
> >>>>    140, 150, 160, 170, 180, 190, 200, 210, 220, 231.7389, 250.3862,
> >>>>    282.6616, 334.9132, 412.9444, 521.8552, 665.9031, 848.3875,
> >>>> 1071.559,
> >>>>    1336.559, 1643.388, 1990.903, 2376.855, 2797.944, 3249.913,
> >>>> 3727.662,
> >>>>    4225.386, 4736.739 ;
> >>>>
> >>>> zw_ocean = 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130,
> >>>> 140, 150,
> >>>>    160, 170, 180, 190, 200, 210, 220, 231.7389, 250.3862, 282.6616,
> >>>>    334.9132, 412.9444, 521.8552, 665.9031, 848.3875, 1071.559,
> >>>> 1336.559,
> >>>>    1643.388, 1990.903, 2376.855, 2797.944, 3249.913, 3727.662,
> >>>> 4225.386,
> >>>>    4736.739 ;
> >>>>
> >>>> zw_edges_ocean = 5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 105, 115,
> >>>> 125, 135,
> >>>>    145, 155, 165, 175, 185, 195, 205, 215, 225, 238.4779, 262.2945,
> >>>>    303.0287, 366.7978, 459.091, 584.6193, 747.187, 949.5881,
> >>>> 1193.53,
> >>>>    1479.588, 1807.187, 2174.619, 2579.091, 3016.798, 3483.029,
> >>>> 3972.294,
> >>>>    4478.478, 4736.739 ;
> >>>> }
> >>
> >>
> >
> > --
> > Diane Stokes
> > Environmental Modeling Center
> > National Weather Service/NOAA
> >
> >
> --
> Jennifer M. Adams
> IGES/COLA
> 4041 Powder Mill Rd., Suite 302
> Calverton, MD 20705
> jma at cola.iges.org



More information about the gradsusr mailing list