BEAT-II Record: GOME_L1
Fields
The table below gives an overview of possible fields that can be returned from an ingestion of GOME_L1 data. The 'default' column indicates whether the specified data item is included in the ingestion by default or not. You can change which data items are ingested by making use of the include and exclude filter options (see below).
| field name | type | dimensions | default | description |
|---|---|---|---|---|
type | string | included | reference to the type of data in this record | |
elements_per_file | int32 | [file] | included | |
time | double | [main] | included | The time of the measurement at end of integration time (in seconds since 2000-01-01 00:00:00) |
latitude | double | [main] | included | Tangent latitude of the measurement |
longitude | double | [main] | included | Tangent longitude of the measurement |
corner_latitude | double | [main, 4] | included | Corner latitudes for the (co-added) ground pixel of the measurement |
corner_longitude | double | [main, 4] | included | Corner latitudes for the (co-added) ground pixel of the measurement |
spectral_readout | double | [main, spectra] | included | The dector readouts |
spectral_readout_unit | string | included | BU | |
wavelength | double | [main, spectra] | included | The nominal wavelength assignment for each of the detector pixels |
wavelength_unit | string | included | nm | |
integration_time | double | [main] | included | The minimum integration time for all ingested bands |
pixel_integration_time | double | [main, spectra] | excluded | The integration time for each pixel |
pixel_noise | double | [main, spectra] | excluded | Instrument noise for each of the detector pixels |
pmd_offset | double | [main, 3] | excluded | Three PMD offset values |
pmd_noise | double | [main] | excluded | PMD noise |
dark_current | double | [main] | excluded | Dark current |
pixel_to_pixel_gain_per_file | double | [file, spectra] | excluded | The pixel to pixel gain |
scan_subset_counter | uint8 | [main] | excluded | The relative index (0-3) of this measurement within a scan (forward + backward) |
scan_direction | string | [main] | excluded | The scan direction for each measurement: 'forward', 'backward', or 'mixed' (for a measurement that consisted of both a forward and backward scan) |
solar_zenith_angle | double | [main] | excluded | Solar zenith angle at instrument |
solar_azimuth_angle | double | [main] | excluded | Solar azimuth angle at instrument |
los_zenith_angle | double | [main] | excluded | Solar zenith angle at instrument |
los_azimuth_angle | double | [main] | excluded | Solar azimuth angle at instrument |
Ingestion filter options
Ingestion filter options are passed as a ',' or ';' separated string to the ingestion function. Each filter option needs to be formulated as option_name=value[ value value] (some options accept more than one value). For example, if a product has filter options 'altitude_min' and 'time_min' you can provide a filter option string "latitude_min=30,time_min=2003-01-01" to get all measurements at or above 30km and on or after January 1st 2003.
| option name | type | description |
|---|---|---|
product_version | integer | If multiple product format versions for this product type exist, you can use this filter option to select from which ones data should be ingested (i.e. you can provide a space-separated list of allowed product format version numbers). The list of available version numbers for this product type can be found in the CODA Product Format Definitions documentation. |
include | string | Provide a space-separated list of field names to ingest additional data items (i.e. fields that are not ingested by default). You can use the special case include=* to indicate that you want to ingest all available data items. |
exclude | string | Provide a space-separated list of field names that you don't want ingested. Mind that the exclude filter is processed after the include filter. |
time_min | time* | Only include elements for which the value is greater than or equal to the provided filter option value |
time_max | time* | Only include elements for which the value is less than or equal to the provided filter option value |
time | time* | Only include elements that match the list of given filter option values |
latitude_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
latitude_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
latitude | double | Only include elements that match the list of given filter option values |
longitude_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
longitude_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
longitude | double | Only include elements that match the list of given filter option values |
integration_time_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
integration_time_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
integration_time | double | Only include elements that match the list of given filter option values |
pmd_noise_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
pmd_noise_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
pmd_noise | double | Only include elements that match the list of given filter option values |
dark_current_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
dark_current_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
dark_current | double | Only include elements that match the list of given filter option values |
scan_subset_counter_min | integer | Only include elements for which the value is greater than or equal to the provided filter option value |
scan_subset_counter_max | integer | Only include elements for which the value is less than or equal to the provided filter option value |
scan_subset_counter | integer | Only include elements that match the list of given filter option values |
scan_direction | string | Only include elements that match the list of given filter option values |
solar_zenith_angle_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
solar_zenith_angle_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
solar_zenith_angle | double | Only include elements that match the list of given filter option values |
solar_azimuth_angle_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
solar_azimuth_angle_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
solar_azimuth_angle | double | Only include elements that match the list of given filter option values |
los_zenith_angle_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
los_zenith_angle_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
los_zenith_angle | double | Only include elements that match the list of given filter option values |
los_azimuth_angle_min | double | Only include elements for which the value is greater than or equal to the provided filter option value |
los_azimuth_angle_max | double | Only include elements for which the value is less than or equal to the provided filter option value |
los_azimuth_angle | double | Only include elements that match the list of given filter option values |
wavelength_min | double | Only include data where the wavelength is greater then or equal to the value provided (in nm) |
wavelength_max | double | Only include data where the wavelength is less than or equal to the value provided (in nm) |
band | string | Only include data from the specified bands ('band-1a', 'band-1b', 'band-2a', 'band-2b', 'band-3', 'band-4', 'blind-1a', 'straylight-1a', 'straylight-1b', 'straylight-2a') |
* Time values can be passed as either 'yyyy-mm-dd', 'yyyy-mm-ddThh:mm:ss', 'yyyy-mm-ddThh:mm:ss.uuuuuu' or a floating point value indicating the amount of seconds since 2000-01-01 00:00:00.
Mapping description
Below a description is provided on how each data item in the ingested record was retrieved from the product.
It is important to note that in a GOME level 1 product all measurement times are end times and if there is a high integration time measurement it will be ingested together with the last measurement of the low integration time measurements (instead of ingesting it together with the first measurement). If for a certain measurement time only measurements with a high integration time (> 1.5 seconds) are ingested the associated geolocation information will be co-added accordingly. The number N of geolocation (pcd.glr) records that need to be co-added is determined by dividing the integration time by 1.5. The last of the N geolocation records is in the same pcd record that has the ind_spb index to the measurement. The other geolocation records can be found in the preceding pcd records. If not all N geolocation records for a co-adding are available the data for the co-added geolocation record will be filled with NaN values
| field name | mapping description | |
|---|---|---|
time |
path | /pcd[]/glr/datetime |
latitude |
path | /pcd[]/glr/corners[4]/lat |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/corners[4] | |
| description | The latitude of the geographic average of the center coordinate of the second record (subset_counter=1) and the center coordinate of the last record (subset_counter=3) | |
longitude |
path | /pcd[]/glr/corners[4]/lon |
| description | Each longitude will be transformed from a value in the range 0 - 360 to a value in the range -180 - 180 | |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/corners[4] | |
| description | The longitude of the geographic average of the center coordinate of the second record (subset_counter=1) and the center coordinate of the last record (subset_counter=3). Each longitude will be transformed from a value in the range 0 - 360 to a value in the range -180 - 180 | |
corner_latitude |
path | /pcd[]/glr/corners[0:3]/lat |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/corners[0:3]/lat | |
| description | /glr/corners[0] and /glr/corners[2] are taken from the N-th record, /glr/corners[1] is taken from the first record (subset_counter = 0), and /glr/corners[3] is taken from the third record (subset_counter = 2). The corners are rearranged in the following way: 1,3,0,2 | |
corner_longitude |
path | /pcd[]/glr/corners[0:3]/lon |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/corners[0:3]/lon | |
| description | /glr/corners[0] and /glr/corners[2] are taken from the N-th record, /glr/corners[1] is taken from the first record (subset_counter = 0), and /glr/corners[3] is taken from the third record (subset_counter = 2). Each longitude will be transformed from a value in the range 0 - 360 to a value in the range -180 - 180. The corners are rearranged in the following way: 1,3,0,2 | |
spectral_readout |
path | /bdr/band_1a[]/data_arr[], /bdr/band_1b[]/data_arr[], /bdr/band_2a[]/data_arr[], /bdr/band_2b[]/data_arr[], /bdr/band_3[]/data_arr[], /bdr/band_4[]/data_arr[], /bdr/blnd_pix[]/data_arr[], /bdr/strpix_1a[]/data_arr[], /bdr/strpix_1b[]/data_arr[], /bdr/strpix_2a[]/data_arr[] |
spectral_readout_unit |
description | Will be set to "BU" |
wavelength |
path | /fcd/spec_par[,0-23], /pcd[]/ind_spc |
| description | The wavelengths for a measurement are calculated based on the pcd[]/ind_spc-th parameter set in fcd.spec_par. This calculation of a wavelength array is performed as follows: spec_par[0-23] = fcd.spec_par[ind_spc,0-23] for detector = 0 to 3 do for i = 0 to 4 do p[i] = spec_par[5 * detector + i] end for i = 0 to (1024 - 1) do wavelength[detector * 1024 + i] = p[0] + p[1] * i + p[2] * i^2 + p[3] * i^3 + p[4] * i^4 end end. The value will be NaN for pixels that have a high integration time and for which the measurement is not yet finished | |
wavelength_unit |
description | Will be set to "nm" |
integration_time |
path | /bdr/band_1a[]/time_int, /bdr/band_1b[]/time_int, /bdr/band_2a[]/time_int, /bdr/band_2b[]/time_int, /bdr/band_3[]/time_int, /bdr/band_4[]/time_int, /bdr/blnd_pix[]/time_int, /bdr/strpix_1a[]/time_int, /bdr/strpix_1b[]/time_int, /bdr/strpix_2a[]/time_int |
| description | The minimum integration time of only those bands from which pixel data is ingested | |
pixel_integration_time |
path | /bdr/band_1a[]/time_int, /bdr/band_1b[]/time_int, /bdr/band_2a[]/time_int, /bdr/band_2b[]/time_int, /bdr/band_3[]/time_int, /bdr/band_4[]/time_int, /bdr/blnd_pix[]/time_int, /bdr/strpix_1a[]/time_int, /bdr/strpix_1b[]/time_int, /bdr/strpix_2a[]/time_int |
pixel_noise |
path | /fcd/noise_arr[,0:4095], /pcd[]/ind_leak |
| description | Each measurement can have a different ind_leak. This leakage index is retrieved from pcd[]/ind_leak. The value will be NaN for pixels that have a high integration time and for which the measurement is not yet finished | |
pmd_offset |
path | /fcd/noise_arr[,4096:4098], /pcd[]/ind_leak |
| description | Each measurement can have a different ind_leak. This leakage index is retrieved from pcd[]/ind_leak. The value will be NaN for pixels that have a high integration time and for which the measurement is not yet finished | |
pmd_noise |
path | /fcd/noise_arr[,4099], /pcd[]/ind_leak |
| description | Each measurement can have a different ind_leak. This leakage index is retrieved from pcd[]/ind_leak. The value will be NaN for pixels that have a high integration time and for which the measurement is not yet finished | |
dark_current |
path | /fcd/noise_arr[,4100], /pcd[]/ind_leak |
| description | Each measurement can have a different ind_leak. This leakage index is retrieved from pcd[]/ind_leak. The value will be NaN for pixels that have a high integration time and for which the measurement is not yet finished | |
pixel_to_pixel_gain_per_file |
path | /fcd/p2p_gain[] |
scan_subset_counter |
path | /pcd[]/ihr_sdp/subset_counter |
| description | if a measurement consisted of multiple ground pixels, the subset counter of the last pixel is taken | |
scan_direction |
path | /pcd[]/ihr_sdp/subset_counter |
| description | When the integration time is higher than 1.5s we are dealing with a mixed pixel, otherwise the scan direction is based on the subset_counter of the measurement (0-2 = forward, 3 = backward) | |
solar_zenith_angle |
path | /pcd[]/glr/sza_n[1]/solarzn |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/sza_n[1]/solarzn | |
| description | Take the average of solarzn of the second record and solarzn of the last record | |
solar_azimuth_angle |
path | /pcd[]/glr/sza_n[1]/azmang |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/sza_n[1]/azmang | |
| description | Take the average of azmang of the second record and azmang of the last record | |
los_zenith_angle |
path | /pcd[]/glr/line_sight_s[1]/linosght |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/line_sight_s[1]/linosght | |
| description | Take the average of linosght of the second record and linosght of the last record | |
los_azimuth_angle |
path | /pcd[]/glr/line_sight_s[1]/azmang |
| condition | minimum integration time for ingested bands for a pcd record > 1.5 seconds | |
| path | /pcd[]/glr/line_sight_s[1]/azmang | |
| description | Take the average of azmang of the second record and azmang of the last record | |