forked from diwg/diwg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswath_GHRSST_L2P.cdl
249 lines (229 loc) · 13 KB
/
swath_GHRSST_L2P.cdl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
// Purpose: 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 (or scan) 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).
// Part of an ongoing project by NASA's Dataset Interoperability Working Group
// (DIWG)
// Provided by: Ed Armstrong (NASA JPL)
netcdf swath_GHRSST_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";
}