Difference between revisions of "NetCDF-CF File Examples for Satellite Swath Data"
From Earth Science Information Partners (ESIP)
m (Ajelenak moved page NetCDF/CF example -- satellite swath data to NetCDF-CF File Examples With Satellite Swath Data) |
|
(No difference)
| |
Revision as of 21:27, May 1, 2013
The following CDL represents an example of the structure of a GHRSST Level 2P file for an SST data set derived from the Sentinel-3A Sea and Land Surface Temperature (SLSTR) data set. Its straight from the GHRSST Data Processing Specification version 2
The dimensions ni and nj represent the satellite across and along track coordinates respectively. Other important variables are time, lon, lat for positioning satellite observations/information found in the sea_surface_temperature, sst_dtime, sses_bias, sses_standard_deviation, and quality_level variables (and others).
netcdf l2p {
dimensions:
ni = 1760;
nj = 40000;
time = 1;
variables:
float lat(nj, ni) ;
lat:standard_name = "latitude" ;
lat:units = "degrees_north" ;
lat:valid_min = -90. ;
lat:valid_max = 90. ;
lat:comment = "Geographical coordinates, WGS84 datum" ;
float lon(nj, ni) ;
lon:standard_name = "longitude" ;
lon:units = "degrees_east" ;
lon:valid_min = -180. ;
lon:valid_max = 180. ;
lon:comment = "Geographical coordinates, WGS84 datum" ;
int time(time);
time:long_name = "reference time of SST file";
time:units = "seconds since 1981-01-01 00:00:00";
time:comment = "Includes leap seconds since 1981" ;
short sea_surface_temperature(time, nj, ni);
sea_surface_temperature:long_name = "sea surface skin temperature";
sea_surface_temperature:standard_name = "sea_surface_skin_temperature";
sea_surface_temperature:units = "kelvin";
sea_surface_temperature:add_offset = 290.0;
sea_surface_temperature:scale_factor = 1.0e-3;
sea_surface_temperature:valid_min = -32767s;
sea_surface_temperature:valid_max = 32767s;
sea_surface_temperature:_FillValue = -32768s;
sea_surface_temperature:coordinates = "lon lat";
sea_surface_temperature:comment = "Skin temperature of the ocean";
short sst_dtime (time, nj, ni);
sst_dtime:long_name = "time difference from reference time";
sst_dtime:units = "second";
sst_dtime:add_offset = 0s;
sst_dtime:scale_factor = 1s;
sst_dtime:valid_min = -32767s;
sst_dtime:valid_max = 32767s;
sst_dtime:_FillValue = -32768s;
sst_dtime:coordinates = "lon lat";
sst_dtime:comment = "Variable time plus sst_dtime gives seconds after 00:00:00 UTC January 1, 1981";
byte sses_bias (time, nj, ni);
sses_bias:long_name = "SSES bias estimate";
sses_bias:units = "kelvin";
sses_bias:add_offset = 0.0;
sses_bias:scale_factor = 0.02;
sses_bias:valid_min = -127b;
sses_bias:valid_max = 127b;
sses_bias:_FillValue = -128b;
sses_bias:coordinates = "lon lat";
sses_bias:comment = "Estimated bias as described at http://www.ghrsst.org/SSES-Description-of-schemes.html";
byte sses_standard_deviation (time, nj, ni);
sses_standard_deviation:long_name = "SSES standard deviation";
sses_standard_deviation:units = "kelvin";
sses_standard_deviation:add_offset = 1.27;
sses_standard_deviation:scale_factor = 0.01;
sses_standard_deviation:valid_min = -127b;
sses_standard_deviation:valid_max = 127b;
sses_standard_deviation:_FillValue = -128b;
sses_standard_deviation:coordinates = "lon lat";
sses_standard_deviation:comment = "Estimated standard deviation as described at http://www.ghrsst.org/SSES-Description-of-schemes.html";
byte dt_analysis (time, nj, ni);
dt_analysis:long_name = "deviation from SST reference climatology";
dt_analysis:units = "kelvin";
dt_analysis:add_offset = 0.;
dt_analysis:scale_factor = 0.1;
dt_analysis:valid_min = -127b;
dt_analysis:valid_max = 127b;
dt_analysis:_FillValue = -128b;
dt_analysis:coordinates = "lon lat";
dt_analysis:comment = "Reference is GHRSST L4 OSTIA";
byte wind_speed (time, nj, ni);
wind_speed:long_name = "10m wind speed";
wind_speed:standard_name = "wind_speed";
wind_speed:units = "m s-1";
wind_speed:height = "10 m";
wind_speed:add_offset = 25.4;
wind_speed:scale_factor = 0.2;
wind_speed:valid_min = -127b;
wind_speed:valid_max = 127b;
wind_speed:_FillValue = -128b;
wind_speed:coordinates = "lon lat";
wind_speed:sources = "ECMWF_A";
wind_speed:comment = "These wind speeds were created by the ECMWF and represent winds at 10 metres above the sea surface.";
byte wind_speed_dtime_from_sst (time, nj, ni);
wind_speed_dtime_from_sst :long_name = "time difference of wind speed measurement from sst measurement";
wind_speed_dtime_from_sst:units = "hour";
wind_speed_dtime_from_sst:add_offset = 12.7;
wind_speed_dtime_from_sst:scale_factor = 0.1;
wind_speed_dtime_from_sst:valid_min = -127b;
wind_speed_dtime_from_sst:valid_max = 127b;
wind_speed_dtime_from_sst:_FillValue = -128b;
wind_speed_dtime_from_sst:coordinates = "lon lat";
wind_speed_dtime_from_sst:comment = "The hours between the wind speed measurement and the SST observation using variable sst_dtime as the reference";
byte sea_ice_fraction(time, nj, ni);
sea_ice_fraction:long_name = "sea ice fraction";
sea_ice_fraction:standard_name = "sea_ice_area_fraction";
sea_ice_fraction:units = "1";
sea_ice_fraction:add_offset = 0.;
sea_ice_fraction:scale_factor = 0.01 ;
sea_ice_fraction:valid_min = 0b;
sea_ice_fraction:valid_max = 100b;
sea_ice_fraction:_FillValue = -128b;
sea_ice_fraction:coordinates = "lon lat";
sea_ice_fraction:sources = "ECMWF_A";
sea_ice_fraction:comment = "Fractional sea ice cover from the ECMWF_A ice product";
byte sea_ice_fraction_dtime_from_sst (time, nj, ni);
sea_ice_fraction_dtime_from_sst :long_name = "time difference of sea ice fraction measurement from sst measurement";
sea_ice_fraction_dtime_from_sst:units = "hour";
sea_ice_fraction_dtime_from_sst:add_offset = 0.;
sea_ice_fraction_dtime_from_sst:scale_factor = 0.1;
sea_ice_fraction_dtime_from_sst:valid_min = -127b;
sea_ice_fraction_dtime_from_sst:valid_max = 127b;
sea_ice_fraction_dtime_from_sst:_FillValue = -128b;
sea_ice_fraction_dtime_from_sst:coordinates = "lon lat";
sea_ice_fraction_dtime_from_sst:comment = “The hours between the sea ice measurement and the SST observation using variable sst_dtime as the reference";
byte aerosol_dynamic_indicator(time, nj, ni);
aerosol_dynamic_indicator:long_name = "aerosol dynamic indicator";
aerosol_dynamic_indicator:units = " ";
aerosol_dynamic_indicator:_FillValue = -128b;
aerosol_dynamic_indicator:add_offset = 0.;
aerosol_dynamic_indicator:scale_factor = 1.;
aerosol_dynamic_indicator:valid_min = -127b;
aerosol_dynamic_indicator:valid_max = 127b;
aerosol_dynamic_indicator:coordinates = "lon lat";
aerosol_dynamic_indicator:sources = "SDI";
aerosol_dynamic_indicator:comment = "Estimate of the potential for aerosol contamination based on the SDI product ";
byte adi_dtime_from_sst(time, nj, ni);
adi_dtime_from_sst:long_name = "time difference of ADI data from sst measurement";
adi_dtime_from_sst:units = "hour";
adi_dtime_from_sst:_FillValue = -128b;
adi_dtime_from_sst:add_offset = 0.;
adi_dtime_from_sst:scale_factor = 0.1;
adi_dtime_from_sst:valid_min = -127b;
adi_dtime_from_sst:valid_max = 127b;
adi_dtime_from_sst:coordinates = "lon lat";
adi_dtime_from_sst:comment = "The hours between the aerosol measurement and the SST observation using variable sst_dtime as the reference";
short l2p_flags(time, nj, ni);
l2p_flags:long_name = "L2P flags";
l2p_flags:coordinates = "lon lat";
l2p_flags:valid_min = 0s;
l2p_flags:valid_max = 65535s;
l2p_flags:flag_meanings = "microwave land ice lake river reserved_for_future_use no_retrieval N2_retrieval N3R_retrieval N3_retrieval D2_retrieval D3_retrieval cloud sun_glint cosmetic_fill validation";
l2p_flags:flag_masks = 1s, 2s, 4s, 8s, 16s, 32s, 64s, 128s, 256s, 512s, 1024s, 2048s, 4096s, 8192s, 16384s, 32768s ;
l2p_flags:comment = "These flags can be used to further filter data variables";
byte quality_level (time, nj, ni);
quality_level:long_name = "SST measurement quality" ;
quality_level:coordinates = "lon lat" ;
quality_level:_FillValue = -128b;
quality_level:valid_min = 0b;
quality_level:valid_max = 5b;
quality_level:flag_meanings = "no_data bad_data worst_quality low_quality acceptable_quality best_quality";
quality_level:flag_values = 0b, 1b, 2b, 3b, 4b, 5b;
quality_level:comment = " These are the overall quality indicators and are used for all GHRSST SSTs";
byte satellite_zenith_angle(time, nj, ni) ;
satellite_zenith_angle:long_name = "satellite zenith angle" ;
satellite_zenith_angle:standard_name = " zenith_angle";
satellite_zenith_angle:units = "angular_degree" ;
satellite_zenith_angle:_FillValue = -128b ;
satellite_zenith_angle:add_offset = 0. ;
satellite_zenith_angle:scale_factor = 1. ;
satellite_zenith_angle:valid_min = -90b ;
satellite_zenith_angle:valid_max = 90b ;
satellite_zenith_angle:coordinates = "lon lat" ;
satellite_zenith_angle:grid_mapping = "polar_stereographic" ;
satellite_zenith_angle:comment = “The satellite zenith angle at the time of the SST observations; Optional L2P field” ;
// global attributes:
:Conventions = "CF-1.4";
:title = "SENTINEL-3A SLSTR L2P product";
:summary = "The L2P product for the Sentinel-3A mission. This data set is the follow-on the ATSR-1, ATSR-2, and AATSR series of instruments dating back to 1991.";
:references = "http://sentinel.esa.int/handbooks/SLSTR_product_handbook.pdf";
:institution = "ESA";
:history = "processor XXX.YY";
:comment = "SST from Sentinel-3A";
:license = "These data are available free of charge under the GMES data policy.";
:id = "SLSTR-EUR-L2P-Sentinel3A-v1";
:naming_authority = "org.ghrsst";
:product_version = "1.0";
:uuid = "D7A88FA8-7421-4039-807C-B551D638EDC6";
:gds_version_id = "2.0";
:necdf_version_id = "4.1";
:date_created = "20100201T120000Z";
:file_quality_level=1;
:spatial_resolution = "1 km";
:start_time = "20100131T001223Z";
:time_coverage_start = "20100131T001223Z";
:stop_time = "20100131T001418Z";
:time_coverage_end = "20100131T001418Z";
:northernmost_latitude = 85.;
:sourthenmost_latitude = -85.;
:westernmost_longitude = -180.;
:easternmost_longitude = 180.;
:source = "S3A_SLSTR OSTIA ECMWF_A";
:platform = "SENTINEL_3A";
:sensor = "SLSTR";
:Metadata_Conventions = "Unidata Observation Dataset v1.0";
:metadata_link = "http://data.nodc.noaa.gov/waf/FGDC-GHRSST_all-SLSTR-EUR-L2P-Sentinel3A-v1.html";
:keywords = "Oceans > Ocean Temperature > Sea Surface Temperature";
:keywords_vocabulary = "NASA Global Change Master Directory (GCMD) Science Keywords";
:standard_name_vocabulary = "NetCDF Climate and Forecast (CF) Metadata Convention";
:geospatial_lat_units = "degrees north";
:geospatial_lat_resolution = "0.01";
:geospatial_lon_units = "degrees east";
:geospatial_lon_resolution = "0.01";
:acknowledgment = "Please acknowledge the use of these data with the following statement: These data were provided by GHRSST and its European Regional Data Assembly Center";
:creator_name = "European Space Agency";
:creator_email ="eohelp@esa.int";
:creator_url = "http://sentinel.esa.int";
:project = "Group for High Resolution SST";
:publisher_name = "GHRSST Project Office";
:publisher_url ="http://www.ghrsst.org";
:publisher_email ="ghrsst-po@nceo.ac.uk";
:processing_level = "L2P";
:cdm_data_type = "swath";
}