[Thread Prev][Thread Next][Index]

[las_users] Declaring mooring data in LAS



Hi,

I would like to declare some datasets in LAS. They are mooring data which respect the OceanSites convention [1] (COARDS compliant).

However, these datasets are not gridded data and it is my understanding gridded data is a requirement for LAS. As we can see in the file structure [2], as the DEPH, LONGITUDE and LATITUDE dimensions are always equals to 1, only the variable TEMP depends on TIME.

So I've changed the file structure so that the dataset may be recognized by LAS. I've changed the TEMP variable and its depends now on 4 dimensions : LONGITUDE, LATITUDE, DEPH and TIME [3]. The DDS returned by Thredds shows us the grid is found [4] (the same for the Ferret command line). Thus, the addXml.sh script is now able to generate the declaration xml and after a configuration restart I can access to this dataset in LAS.

However, it's impossible to select a correct coordinate. The North & South coordinates is initialized with a "NaN N" value (but we can select others latitudes), and the East & West coordinates is always blocked at 2.5 E" ! [5] LAS suggests only timeseries plots so we can conclude it detects correctly the data dimensions. But why doesn't it select correctly the only longitude/latitude filled in the dataset ? (the depth value seams to be recognized)

Thanks for your help,
Cheer,

Adrien


[1] http://www.oceansites.org/docs/oceansites_user_manual.pdf

[2]
dimensions:
    TIME = 16798 ;
    DEPH = 1 ;
    LONGITUDE = 1 ;
    LATITUDE = 1 ;

variables:
    double TIME(TIME) ;
        TIME:long_name = "DECIMAL JULIAN DAY (UTC) OF EACH MEASUREMENT" ;
        TIME:standard_name = "time" ;
        TIME:units = "days since 1950-01-01T00:00:00Z" ;
TIME:conventions = "Relative julian days with decimal part (as parts of the day) from REFERENCE_DATE_TIME" ;
        TIME:valid_min = "0." ;
        TIME:valid_max = "90000." ;
        TIME:format = "%9.5lf" ;
        TIME:epic_code = "601." ;
        TIME:axis = "T" ;
        TIME:comment = "Julian day of the measurement" ;
        TIME:coordinate = "TIME" ;
    double LATITUDE(LATITUDE) ;
        LATITUDE:long_name = "LATITUDE OF THE MEASUREMENT" ;
        LATITUDE:standard_name = "latitude" ;
        LATITUDE:units = "degree_north" ;
        LATITUDE:valid_min = "-90." ;
        LATITUDE:valid_max = "90." ;
        LATITUDE:format = "%+8.4lf" ;
        LATITUDE:_FillValue = "9999" ;
        LATITUDE:epic_code = "500." ;
        LATITUDE:axis = "Y" ;
        LATITUDE:comment = "Latitude of the measurement (decimal)" ;
        LATITUDE:coordinate = "LATITUDE" ;
    double LONGITUDE(LONGITUDE) ;
        LONGITUDE:long_name = "LONGITUDE OF THE MEASUREMENT" ;
        LONGITUDE:standard_name = "longitude" ;
        LONGITUDE:units = "degree_east" ;
        LONGITUDE:valid_min = "-180." ;
        LONGITUDE:valid_max = "180." ;
        LONGITUDE:format = "%+9.4lf" ;
        LONGITUDE:_FillValue = "9999" ;
        LONGITUDE:epic_code = "501." ;
        LONGITUDE:axis = "X" ;
        LONGITUDE:comment = "Latitude of the measurement (decimal)" ;
        LONGITUDE:coordinate = "LONGITUDE" ;
    double DEPH(DEPH) ;
        DEPH:long_name = "SEA WATER DEPH" ;
        DEPH:standard_name = "deph" ;
        DEPH:units = "m" ;
        DEPH:positive = "up" ;
        DEPH:format = "%7.2lf" ;
        DEPH:_FillValue = "9999" ;
        DEPH:axis = "Z" ;
        DEPH:comment = "Pressure of the measurement " ;
        DEPH:coordinate = "LEVEL" ;
    byte TEMP_QC(TIME) ;
        TEMP_QC:_FillValue = "0" ;
    double TEMP(TIME) ;
        TEMP:long_name = "SEA TEMPERATURE" ;
        TEMP:units = "Celsius degree" ;
        TEMP:valid_max = "30.0" ;
        TEMP:valid_min = "0.0" ;
        TEMP:_FillValue = "99999.0" ;
        TEMP:resolution = "0.001" ;
        TEMP:format = "%6.3lf" ;

// global attributes:
        :data_type = "time-series" ;
        :type_position = "GPS" ;
        :cycle_mesure = "ANSEVA01_199704" ;
        :time_coverage_start = "1997-04-15T22:55:00Z" ;
        :time_coverage_end = "1997-10-07T22:15:00Z" ;
        :project_name = "COTIERES-NOUMEA" ;
        :pi_name = "Varillon" ;
        :platform_code = "ANSEVA01" ;
        :cycle_traitement = "0A" ;
        :type_instrument = "StowAway-TEMP (C) ONSET -4C TO 38C" ;
        :number_instrument = "69" ;
        :conventions = "OceanSITES 1.1, CF1.4" ;

[3]
netcdf ANSE {
dimensions:
    LATITUDE = 1 ;
    LONGITUDE = 1 ;
    TIME = 16798 ;
    DEPH = 1 ;

variables:
    double LATITUDE(LATITUDE) ;
        LATITUDE:_FillValue = 9.969209968386869e+36 ;
        LATITUDE:axis = "Y" ;
        LATITUDE:comment = "Latitude of the measurement (decimal)" ;
        LATITUDE:coordinate = "LATITUDE" ;
        LATITUDE:epic_code = "500." ;
        LATITUDE:format = "%+8.4lf" ;
        LATITUDE:long_name = "LATITUDE OF THE MEASUREMENT" ;
        LATITUDE:standard_name = "latitude" ;
        LATITUDE:units = "degree_north" ;
        LATITUDE:valid_max = "90." ;
        LATITUDE:valid_min = "-90." ;
    double LONGITUDE(LONGITUDE) ;
        LONGITUDE:_FillValue = 9.969209968386869e+36 ;
        LONGITUDE:axis = "X" ;
        LONGITUDE:comment = "Latitude of the measurement (decimal)" ;
        LONGITUDE:coordinate = "LONGITUDE" ;
        LONGITUDE:epic_code = "501." ;
        LONGITUDE:format = "%+9.4lf" ;
        LONGITUDE:long_name = "LONGITUDE OF THE MEASUREMENT" ;
        LONGITUDE:standard_name = "longitude" ;
        LONGITUDE:units = "degree_east" ;
        LONGITUDE:valid_max = "180." ;
        LONGITUDE:valid_min = "-180." ;
    double TIME(TIME) ;
        TIME:long_name = "DECIMAL JULIAN DAY (UTC) OF EACH MEASUREMENT" ;
        TIME:standard_name = "time" ;
        TIME:units = "days since 1950-01-01T00:00:00Z" ;
TIME:conventions = "Relative julian days with decimal part (as parts of the day) from REFERENCE_DATE_TIME" ;
        TIME:valid_min = "0." ;
        TIME:valid_max = "90000." ;
        TIME:format = "%9.5lf" ;
        TIME:epic_code = "601." ;
        TIME:axis = "T" ;
        TIME:comment = "Julian day of the measurement" ;
        TIME:coordinate = "TIME" ;
    double DEPH(DEPH) ;
        DEPTH:long_name = "SEA WATER DEPH" ;
        DEPTH:standard_name = "deph" ;
        DEPTH:units = "m" ;
        DEPTH:positive = "up" ;
        DEPTH:format = "%7.2lf" ;
        DEPTH:_FillValue = 9.969209968386869e+36 ;
        DEPTH:axis = "Z" ;
        DEPTH:comment = "Pressure of the measurement " ;
        DEPTH:coordinate = "LEVEL" ;
    double TEMP(LONGITUDE, LATITUDE, DEPH, TIME) ;
        TEMP_ADJUSTED:long_name = "SEA TEMPERATURE" ;
        TEMP_ADJUSTED:units = "Celsius degree" ;
        TEMP_ADJUSTED:valid_max = "30.0" ;
        TEMP_ADJUSTED:valid_min = "0.0" ;
        TEMP_ADJUSTED:_FillValue = 9.969209968386869e+36 ;
        TEMP_ADJUSTED:resolution = "0.001" ;
        TEMP_ADJUSTED:format = "%6.3lf" ;
    byte TEMP_QC(TIME) ;

// global attributes:
        :data_type = "time-series" ;
        :type_position = "GPS" ;
        :cycle_mesure = "ANSEVA01_199704" ;
        :time_coverage_start = "1997-04-15T22:55:00Z" ;
        :time_coverage_end = "1997-10-07T22:15:00Z" ;
        :project_name = "COTIERES-NOUMEA" ;
        :pi_name = "Varillon" ;
        :platform_code = "ANSEVA01" ;
        :cycle_traitement = "0A" ;
        :type_instrument = "StowAway-TEMP (C) ONSET -4C TO 38C" ;
        :number_instrument = "69" ;
        :conventions = "OceanSITES 1.1, CF1.4" ;
}

[4]
Dataset {
    Float64 LATITUDE[LATITUDE = 1];
    Float64 LONGITUDE[LONGITUDE = 1];
    Float64 TIME[TIME = 16798];
    Float64 DEPH[DEPH = 1];
    Grid {
     ARRAY:
        Float64 TEMP[LONGITUDE = 1][LATITUDE = 1][DEPH = 1][TIME = 16798];
     MAPS:
        Float64 LONGITUDE[LONGITUDE = 1];
        Float64 LATITUDE[LATITUDE = 1];
        Float64 DEPH[DEPH = 1];
        Float64 TIME[TIME = 16798];
    } TEMP;
    Byte TEMP_QC[TIME = 16798];
} oceano_series/grid/ANSE.nc;

[5] see "las_timeseries_coordinates_error.jpg" in the attached file

Attachment: las_timeseries_coordinates_error.jpg
Description: JPEG image


[Thread Prev][Thread Next][Index]


Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement