[Thread Prev][Thread Next][Index]

Re: problem adding gridded model data



Katherine,

There are various aspects of your file that might cause problems.  It would be
most convenient for me to debug if you could make your dataset OPeNDAP
accessible.  Then I could sick addXml.pl on the DODS URL and debug from my end.

I had a very positive experience setting up an OPeNDAP netCDF server on our
Linux machine.  It only took ten minutes.

http://ferret.pmel.noaa.gov/Ferret/LAS/FAQ/DODS_installation.htm


-- Jon


"K. A. Bouton" wrote:

> I've got LAS v 6 up and running with the two given sample datasets.
> Now I am trying to add one of our own - a gridded model output file, just as
> a test.
>
> Knowing we are not CF compliant, and only close to COADS compliant, I
> followed instructions and first checked ncdump and ferret.
>
> ncdump -h show no obvious errors (that I can see ;) ) and ferret --gui
> displays the data just fine.
> (with error "units on axis 'unspecified' are not recognized" but I was
> thinking that's not a biggie?)
>
> when I try to add it with addXml.pl I get the following errors
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
> Argument "00\0" isn't numeric in addition(+) at ../xml/perl/LASNetCDF.pm
> line 475.
>
> So... where do I start?
> Thanks
> Katherine
> Centre for Global Atmospheric Modelling
> U Reading
>
> ncdump -h xaabaa.paj2apr.nc produces
> **************
> netcdf xaabaa.paj2apr {
> dimensions:
>         longitude = 288 ;
>         latitude = 217 ;
>         unspecified = 1 ;
>         t = UNLIMITED ; // (1 currently)
>         toa = 1 ;
>         surface = 1 ;
>         hybrid_p_x1000 = 1 ;
>         longitude_1 = 288 ;
>         latitude_1 = 216 ;
>         ht = 1 ;
>         msl = 1 ;
> variables:
>         float longitude(longitude) ;
>                 longitude:units = "degrees_east" ;
>                 longitude:point_spacing = "even" ;
>                 longitude:modulo = " " ;
>         float latitude(latitude) ;
>                 latitude:units = "degrees_north" ;
>                 latitude:point_spacing = "even" ;
>         float unspecified(unspecified) ;
>                 unspecified:units = "unspecified" ;
>                 unspecified:positive = "up" ;
>         float t(t) ;
>                 t:units = "days since 1991-03-01 00:00:00" ;
>                 t:calendar = "360_day" ;
>                 t:time_origin = "01-MAR-1991:00:00:00" ;
>         float field33(t, unspecified, latitude, longitude) ;
>                 field33:source = "Model Output:" ;
>                 field33:name = "field33" ;
>                 field33:title = "Low cloud" ;
>                 field33:date = "01/03/91" ;
>                 field33:time = "00:00" ;
>                 field33:long_name = "Low cloud" ;
>                 field33:units = " " ;
>                 field33:missing_value = 2.e+20f ;
>                 field33:_FillValue = 2.e+20f ;
>                 field33:valid_min = 0.f ;
>                 field33:valid_max = 0.9554197f ;
>         float field32(t, unspecified, latitude, longitude) ;
>                 field32:source = "Model Output:" ;
>                 field32:name = "field32" ;
>                 field32:title = "Medium cloud" ;
>                 field32:date = "01/03/91" ;
>                 field32:time = "00:00" ;
>                 field32:long_name = "Medium cloud" ;
>                 field32:units = " " ;
>                 field32:missing_value = 2.e+20f ;
>                 field32:_FillValue = 2.e+20f ;
>                 field32:valid_min = 0.f ;
>                 field32:valid_max = 0.6959992f ;
>         float field31(t, unspecified, latitude, longitude) ;
>                 field31:source = "Model Output:" ;
>                 field31:name = "field31" ;
>                 field31:title = "High cloud" ;
>                 field31:date = "01/03/91" ;
>                 field31:time = "00:00" ;
>                 field31:long_name = "High cloud" ;
>                 field31:units = " " ;
>                 field31:missing_value = 2.e+20f ;
>                 field31:_FillValue = 2.e+20f ;
>                 field31:valid_min = 1.464651e-05f ;
>                 field31:valid_max = 0.9038805f ;
>         float toa(toa) ;
>                 toa:units = "level" ;
>                 toa:positive = "up" ;
>         float field200(t, toa, latitude, longitude) ;
>                 field200:source = "Model Output" ;
>                 field200:name = "field200" ;
>                 field200:title = "Downward solar" ;
>                 field200:date = "01/03/91" ;
>                 field200:time = "00:00" ;
>                 field200:long_name = "Downward solar" ;
>                 field200:units = "W m-2" ;
>                 field200:missing_value = 2.e+20f ;
>                 field200:_FillValue = 2.e+20f ;
>                 field200:valid_min = 0.f ;
>                 field200:valid_max = 440.8022f ;
>         float field201(t, toa, latitude, longitude) ;
>                 field201:source = "Model Output:" ;
>                 field201:name = "field201" ;
>                 field201:title = "Upward solar" ;
>                 field201:date = "01/03/91" ;
>                 field201:time = "00:00" ;
>                 field201:long_name = "Upward solar" ;
>                 field201:units = "W m-2" ;
>                 field201:missing_value = 2.e+20f ;
>                 field201:_FillValue = 2.e+20f ;
>                 field201:valid_min = 0.f ;
>                 field201:valid_max = 264.1255f ;
>         float surface(surface) ;
>                 surface:units = "level" ;
>                 surface:positive = "up" ;
>         float field203(t, surface, latitude, longitude) ;
>                 field203:source = "Model Output:" ;
>                 field203:name = "field203" ;
>                 field203:title = "Total downward surface solar flux over
> sea-ice." ;
>                 field203:date = "01/03/91" ;
>                 field203:time = "00:00" ;
>                 field203:long_name = "Total downward surface solar flux over
> sea-ice." ;
>                 field203:units = "W m-2" ;
>                 field203:missing_value = 2.e+20f ;
>                 field203:_FillValue = 2.e+20f ;
>                 field203:valid_min = 0.f ;
>                 field203:valid_max = 360.395f ;
>         float longwave(t, surface, latitude, longitude) ;
>                 longwave:source = "Model Output:" ;
>                 longwave:name = "longwave" ;
>                 longwave:title = "Net long wave radiation flux" ;
>                 longwave:date = "01/03/91" ;
>                 longwave:time = "00:00" ;
>                 longwave:long_name = "Net long wave radiation flux" ;
>                 longwave:units = "W m-2" ;
>                 longwave:missing_value = 2.e+20f ;
>                 longwave:_FillValue = 2.e+20f ;
>                 longwave:valid_min = -175.6057f ;
>                 longwave:valid_max = 124.8047f ;
>         float olr(t, toa, latitude, longitude) ;
>                 olr:source = "Model Output:" ;
>                 olr:name = "olr" ;
>                 olr:title = "IR up" ;
>                 olr:date = "01/03/91" ;
>                 olr:time = "00:00" ;
>                 olr:long_name = "IR up" ;
>                 olr:units = "W m-2" ;
>                 olr:missing_value = 2.e+20f ;
>                 olr:_FillValue = 2.e+20f ;
>                 olr:valid_min = 108.2147f ;
>                 olr:valid_max = 323.81f ;
>         float hybrid_p_x1000(hybrid_p_x1000) ;
>                 hybrid_p_x1000:units = "level" ;
>                 hybrid_p_x1000:positive = "down" ;
>         float sh(t, hybrid_p_x1000, latitude, longitude) ;
>                 sh:source = "Model Output:" ;
>                 sh:name = "sh" ;
>                 sh:title = "Sensible heat flux" ;
>                 sh:date = "01/03/91" ;
>                 sh:time = "00:00" ;
>                 sh:long_name = "Sensible heat flux" ;
>                 sh:units = "W m-2" ;
>                 sh:missing_value = 2.e+20f ;
>                 sh:_FillValue = 2.e+20f ;
>                 sh:valid_min = -68.30801f ;
>                 sh:valid_max = 350.8785f ;
>         float longitude_1(longitude_1) ;
>                 longitude_1:units = "degrees_east" ;
>                 longitude_1:point_spacing = "even" ;
>                 longitude_1:modulo = " " ;
>         float latitude_1(latitude_1) ;
>                 latitude_1:units = "degrees_north" ;
>                 latitude_1:point_spacing = "even" ;
>         float taux(t, hybrid_p_x1000, latitude_1, longitude_1) ;
>                 taux:source = "Model Output:" ;
>                 taux:name = "taux" ;
>                 taux:title = "x component of wind stress" ;
>                 taux:date = "01/03/91" ;
>                 taux:time = "00:00" ;
>                 taux:long_name = "x component of wind stress" ;
>                 taux:units = "N m-2" ;
>                 taux:missing_value = 2.e+20f ;
>                 taux:_FillValue = 2.e+20f ;
>                 taux:valid_min = -1.416225f ;
>                 taux:valid_max = 0.9669483f ;
>         float tauy(t, hybrid_p_x1000, latitude_1, longitude_1) ;
>                 tauy:source = "Model Output:" ;
>                 tauy:name = "tauy" ;
>                 tauy:title = "y component of wind stress" ;
>                 tauy:date = "01/03/91" ;
>                 tauy:time = "00:00" ;
>                 tauy:long_name = "y component of wind stress" ;
>                 tauy:units = "N m-2" ;
>                 tauy:missing_value = 2.e+20f ;
>                 tauy:_FillValue = 2.e+20f ;
>                 tauy:valid_min = -0.6759923f ;
>                 tauy:valid_max = 1.494136f ;
>         float lh(t, surface, latitude, longitude) ;
>                 lh:source = "Model Output:" ;
>                 lh:name = "lh" ;
>                 lh:title = "Latent heat flux" ;
>                 lh:date = "01/03/91" ;
>                 lh:time = "00:00" ;
>                 lh:long_name = "Latent heat flux" ;
>                 lh:units = "W m-2" ;
>                 lh:missing_value = 2.e+20f ;
>                 lh:_FillValue = 2.e+20f ;
>                 lh:valid_min = -36.32294f ;
>                 lh:valid_max = 329.0427f ;
>         float ht(ht) ;
>                 ht:units = "m" ;
>                 ht:positive = "up" ;
>         float temp(t, ht, latitude, longitude) ;
>                 temp:source = "Model Output:" ;
>                 temp:name = "temp" ;
>                 temp:title = "Temperature T" ;
>                 temp:date = "01/03/91" ;
>                 temp:time = "00:00" ;
>                 temp:long_name = "Temperature T" ;
>                 temp:units = "K" ;
>                 temp:missing_value = 2.e+20f ;
>                 temp:_FillValue = 2.e+20f ;
>                 temp:valid_min = 205.2691f ;
>                 temp:valid_max = 306.7886f ;
>         float q(t, ht, latitude, longitude) ;
>                 q:source = "Model Output:" ;
>                 q:name = "q" ;
>                 q:title = "Specific humidity q" ;
>                 q:date = "01/03/91" ;
>                 q:time = "00:00" ;
>                 q:long_name = "Specific humidity q" ;
>                 q:units = "kg kg-1" ;
>                 q:missing_value = 2.e+20f ;
>                 q:_FillValue = 2.e+20f ;
>                 q:valid_min = 6.711171e-06f ;
>                 q:valid_max = 0.022496f ;
>         float lsrain(t, surface, latitude, longitude) ;
>                 lsrain:source = "Model Output:" ;
>                 lsrain:name = "lsrain" ;
>                 lsrain:title = "Dynamic rainfall rate" ;
>                 lsrain:date = "01/03/91" ;
>                 lsrain:time = "00:00" ;
>                 lsrain:long_name = "Dynamic rainfall rate" ;
>                 lsrain:units = "kg m-2 s-1" ;
>                 lsrain:missing_value = 2.e+20f ;
>                 lsrain:_FillValue = 2.e+20f ;
>                 lsrain:valid_min = 0.f ;
>                 lsrain:valid_max = 0.0002123097f ;
>         float lssnow(t, surface, latitude, longitude) ;
>                 lssnow:source = "Model Output:" ;
>                 lssnow:name = "lssnow" ;
>                 lssnow:title = "Large scale snowfall rate mm/s" ;
>                 lssnow:date = "01/03/91" ;
>                 lssnow:time = "00:00" ;
>                 lssnow:long_name = "Large scale snowfall rate mm/s" ;
>                 lssnow:units = "kg m-2 s-1" ;
>                 lssnow:missing_value = 2.e+20f ;
>                 lssnow:_FillValue = 2.e+20f ;
>                 lssnow:valid_min = 0.f ;
>                 lssnow:valid_max = 0.000179284f ;
>         float cvrain(t, surface, latitude, longitude) ;
>                 cvrain:source = "Model Output:" ;
>                 cvrain:name = "cvrain" ;
>                 cvrain:title = "Convective rainfall rate" ;
>                 cvrain:date = "01/03/91" ;
>                 cvrain:time = "00:00" ;
>                 cvrain:long_name = "Convective rainfall rate" ;
>                 cvrain:units = "kg m-2 s-1" ;
>                 cvrain:missing_value = 2.e+20f ;
>                 cvrain:_FillValue = 2.e+20f ;
>                 cvrain:valid_min = -5.882173e-24f ;
>                 cvrain:valid_max = 0.000399252f ;
>         float cvsnow(t, surface, latitude, longitude) ;
>                 cvsnow:source = "Model Output:" ;
>                 cvsnow:name = "cvsnow" ;
>                 cvsnow:title = "Convective snowfall rate mm/s" ;
>                 cvsnow:date = "01/03/91" ;
>                 cvsnow:time = "00:00" ;
>                 cvsnow:long_name = "Convective snowfall rate mm/s" ;
>                 cvsnow:units = "kg m-2 s-1" ;
>                 cvsnow:missing_value = 2.e+20f ;
>                 cvsnow:_FillValue = 2.e+20f ;
>                 cvsnow:valid_min = -3.235195e-24f ;
>                 cvsnow:valid_max = 3.776073e-05f ;
>         float precip(t, surface, latitude, longitude) ;
>                 precip:source = "Model Output:" ;
>                 precip:name = "precip" ;
>                 precip:title = "Total precipitation rate" ;
>                 precip:date = "01/03/91" ;
>                 precip:time = "00:00" ;
>                 precip:long_name = "Total precipitation rate" ;
>                 precip:units = "kg m-2" ;
>                 precip:missing_value = 2.e+20f ;
>                 precip:_FillValue = 2.e+20f ;
>                 precip:valid_min = -5.097883e-24f ;
>                 precip:valid_max = 0.0004739228f ;
>         float sm(t, surface, latitude, longitude) ;
>                 sm:source = "Model Output:" ;
>                 sm:name = "sm" ;
>                 sm:title = "Total soil moisture content (levels 1-4)" ;
>                 sm:date = "01/03/91" ;
>                 sm:time = "00:00" ;
>                 sm:long_name = "Total soil moisture content (levels 1-4)" ;
>                 sm:units = "kg m-2" ;
>                 sm:missing_value = 2.e+20f ;
>                 sm:_FillValue = 2.e+20f ;
>                 sm:valid_min = 0.f ;
>                 sm:valid_max = 680.0269f ;
>         float msl(msl) ;
>                 msl:units = "level" ;
>                 msl:positive = "up" ;
>         float p(t, msl, latitude, longitude) ;
>                 p:source = "Model Output:" ;
>                 p:name = "p" ;
>                 p:title = "Pressure" ;
>                 p:date = "01/03/91" ;
>                 p:time = "00:00" ;
>                 p:long_name = "Pressure" ;
>                 p:units = "Pa" ;
>                 p:missing_value = 2.e+20f ;
>                 p:_FillValue = 2.e+20f ;
>                 p:valid_min = 96689.13f ;
>                 p:valid_max = 102847.1f ;
> }



[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement