diff --git a/doc/bufr_table_samples/satellite_IASI_mnemonics.txt b/doc/bufr_table_samples/satellite_IASI_mnemonics.txt new file mode 100644 index 000000000..5dfaa8367 --- /dev/null +++ b/doc/bufr_table_samples/satellite_IASI_mnemonics.txt @@ -0,0 +1,112 @@ +Here is the DX table that was generated: + +.------------------------------------------------------------------------------. +| ------------ USER DEFINITIONS FOR TABLE-A TABLE-B TABLE D -------------- | +|------------------------------------------------------------------------------| +| MNEMONIC | NUMBER | DESCRIPTION | +|----------|--------|----------------------------------------------------------| +| | | | +| NC021241 | A61207 | MTYP 021-241 IASI 1C RADIANCES (VARIABLE CHNS) (METOP) | +| | | | +| NC021241 | SAID GCLONG SIID SCLF YEAR MNTH DAYS HOUR MINU 202131 | +| NC021241 | 201138 SECO 201000 202000 CLATH CLONH SAZA BEARAZ SOZA | +| NC021241 | SOLAZI FOVN ORBN 201133 SLNM 201000 201132 MJFC 201000 | +| NC021241 | 202126 SELV 202000 QGFQ QGQI QGQIL QGQIR QGQIS QGSSQ | +| NC021241 | "IASIL1CB"10 (IASICHN) SIID AVHCST "IASIL1CS"7 | +| | | | +| IASIL1CB | 340002 | IASI LEVEL 1C BAND DESCRIPTION SEQUENCE | +| IASIL1CS | 340004 | IASI LEVEL 1C AVHRR SINGLE SCENE SEQUENCE | +| IASICHN | 361137 | IASI LEVEL 1C SCALED RADIANCE SEQUENCE | +| | | +| IASIL1CB | STCH ENCH CHSF | +| | | +| IASIL1CS | YAPCG ZAPCG FCPH "AVHRCHN"6 | +| | | +| AVHRCHN | 361139 | IASI LEVEL 1C MEAN AND STANDARD DEVIATION RADIANCE SEQ | +| AVHRCHN | CHNM CHSF SMRA CHSF SSDR | +| | | +| IASICHN | 201136 CHNM 201000 SCRA | +| | | | +| SAID | 001007 | SATELLITE IDENTIFIER | +| GCLONG | 001031 | ORIGINATING/GENERATING CENTER | +| SIID | 002019 | SATELLITE INSTRUMENTS | +| SCLF | 002020 | SATELLITE CLASSIFICATION | +| YEAR | 004001 | YEAR | +| MNTH | 004002 | MONTH | +| DAYS | 004003 | DAY | +| HOUR | 004004 | HOUR | +| MINU | 004005 | MINUTE | +| SECO | 004006 | SECOND | +| CLATH | 005001 | LATITUDE (HIGH ACCURACY) | +| CLONH | 006001 | LONGITUDE (HIGH ACCURACY) | +| SAZA | 007024 | SATELLITE ZENITH ANGLE | +| SOZA | 007025 | SOLAR ZENITH ANGLE | +| BEARAZ | 005021 | BEARING OR AZIMUTH | +| SOLAZI | 005022 | SOLAR AZIMUTH | +| FOVN | 005043 | FIELD OF VIEW NUMBER | +| ORBN | 005040 | ORBIT NUMBER | +| SLNM | 005041 | SCAN LINE NUMBER | +| MJFC | 025070 | MAJOR FRAME COUNT | +| SELV | 007001 | HEIGHT OF STATION | +| QGFQ | 033060 | INDIVIDUAL IASI-SYSTEM QUALITY FLAG | +| QGQI | 033061 | INSTR. NOISE PERF. INDICATOR (SPECTRAL & RADIOMETRIC) | +| QGQIL | 033062 | GEOMETRIC QUALITY INDEX INDICATOR | +| QGQIR | 033063 | INSTR. NOISE PERF. INDICATOR (RADIOMETRIC CALIBRATION) | +| QGQIS | 033064 | INSTRUMENT NOISE PERF. INDICATOR (SPECTRAL CALIBRATION) | +| QGSSQ | 033065 | OUTPUT OF TEC FUNCTION | +| AVHCST | 025051 | AVHRR CHANNEL COMBINATION | +| STCH | 025140 | START CHANNEL | +| ENCH | 025141 | END CHANNEL | +| CHSF | 025142 | CHANNEL SCALE FACTOR | +| YAPCG | 005060 | Y ANGULAR POSITION OF CENTER OF GRAVITY | +| ZAPCG | 005061 | Z ANGULAR POSITION OF CENTER OF GRAVITY | +| FCPH | 025085 | FRACTION OF CLEAR PIXELS IN HIRS FOV | +| CHNM | 005042 | CHANNEL NUMBER | +| SMRA | 014047 | SCALED MEAN AVHRR RADIANCE | +| SSDR | 014048 | SCALED STANDARD DEVIATION OF AVHRR RADIANCE | +| SCRA | 014046 | SCALED IASI RADIANCE | +| | | +|------------------------------------------------------------------------------| +| MNEMONIC | SCAL | REFERENCE | BIT | UNITS |-------------| +|----------|------|-------------|-----|--------------------------|-------------| +| | | | | |-------------| +| SAID | 0 | 0 | 10 | CODE TABLE |-------------| +| GCLONG | 0 | 0 | 16 | CODE TABLE |-------------| +| SIID | 0 | 0 | 11 | CODE TABLE |-------------| +| SCLF | 0 | 0 | 9 | CODE TABLE |-------------| +| YEAR | 0 | 0 | 12 | YEAR |-------------| +| MNTH | 0 | 0 | 4 | MONTH |-------------| +| DAYS | 0 | 0 | 6 | DAY |-------------| +| HOUR | 0 | 0 | 5 | HOUR |-------------| +| MINU | 0 | 0 | 6 | MINUTE |-------------| +| SECO | 0 | 0 | 6 | SECOND |-------------| +| CLATH | 5 | -9000000 | 25 | DEGREE |-------------| +| CLONH | 5 | -18000000 | 26 | DEGREE |-------------| +| SAZA | 2 | -9000 | 15 | DEGREE |-------------| +| SOZA | 2 | -9000 | 15 | DEGREE |-------------| +| BEARAZ | 2 | 0 | 16 | DEGREE TRUE |-------------| +| SOLAZI | 2 | 0 | 16 | DEGREE TRUE |-------------| +| FOVN | 0 | 0 | 8 | NUMERIC |-------------| +| ORBN | 0 | 0 | 24 | NUMERIC |-------------| +| SLNM | 0 | 0 | 8 | NUMERIC |-------------| +| MJFC | 0 | 0 | 4 | NUMERIC |-------------| +| SELV | 0 | -400 | 15 | M |-------------| +| QGFQ | 0 | 0 | 2 | CODE TABLE |-------------| +| QGQI | 0 | 0 | 7 | % |-------------| +| QGQIL | 0 | 0 | 7 | % |-------------| +| QGQIR | 0 | 0 | 7 | % |-------------| +| QGQIS | 0 | 0 | 7 | % |-------------| +| QGSSQ | 0 | 0 | 24 | NUMERIC |-------------| +| AVHCST | 0 | 0 | 7 | FLAG TABLE |-------------| +| STCH | 0 | 0 | 14 | NUMERIC |-------------| +| ENCH | 0 | 0 | 14 | NUMERIC |-------------| +| CHSF | 0 | 0 | 6 | NUMERIC |-------------| +| YAPCG | 6 | -8000000 | 24 | DEGREE |-------------| +| ZAPCG | 6 | -8000000 | 24 | DEGREE |-------------| +| FCPH | 0 | 0 | 7 | NUMERIC |-------------| +| CHNM | 0 | 0 | 6 | NUMERIC |-------------| +| SMRA | 0 | 0 | 31 | W M**-2 SR**-1 M |-------------| +| SSDR | 0 | 0 | 31 | W M**-2 SR**-1 M |-------------| +| SCRA | 0 | 0 | 16 | W M**-2 SR**-1 M |-------------| +| | | | | |-------------| +`------------------------------------------------------------------------------' diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 2f90693fa..cacb8fe73 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -133,13 +133,29 @@ if( iodaconv_bufr_ENABLED ) testinput/bufr_tables testinput/gdas.t18z.1bmhs.tm00.bufr_d testinput/gdas.t00z.1bhrs4.tm00.bufr_d + testinput/gdas.t00z.airsev.tm00.bufr_d + testinput/gdas.t00z.1bamua.tm00.bufr_d + testinput/gdas.t00z.avcsam.tm00.bufr_d + testinput/gdas.t00z.atms.tm00.bufr_d testinput/gdas.t06z.adpsfc.tm00.bufr_d + testinput/gdas.t00z.crisf4.tm00.bufr_d + testinput/gdas.t00z.mtiasi.tm00.bufr_d + testinput/gdas.t00z.sevcsr.tm00.bufr_d + testinput/gdas.t00z.ssmisu.tm00.bufr_d testinput/bufr_read_2_dim_blocks.bufr testinput/bufr_read_wmo_radiosonde.bufr testinput/bufr_satwnd_new_format.bufr testinput/bufr_satwnd_old_format.bufr - testinput/bufr_mhs.yaml + testinput/bufr_airs.yaml + testinput/bufr_amsua.yaml + testinput/bufr_atms.yaml + testinput/bufr_avhrr.yaml + testinput/bufr_cris.yaml testinput/bufr_hrs.yaml + testinput/bufr_iasi.yaml + testinput/bufr_mhs.yaml + testinput/bufr_seviri.yaml + testinput/bufr_ssmis.yaml testinput/bufr_filtering.yaml testinput/bufr_splitting.yaml testinput/bufr_filter_split.yaml @@ -181,8 +197,16 @@ if( iodaconv_bufr_ENABLED ) testoutput/gdas.t18z.1bmhs.tm00.filtering.nc testoutput/gdas.t18z.1bmhs.tm00.15.seven.split.nc testoutput/gdas.t18z.1bmhs.tm00.15.7.filter_split.nc + testoutput/gdas.t00z.airsev.tm00.nc + testoutput/gdas.t00z.1bamsua.tm00.nc + testoutput/gdas.t00z.avcsam.tm00.nc + testoutput/gdas.t00z.atms.tm00.nc testoutput/gdas.t06z.adpsfc.tm00.nc testoutput/gdas.t06z.adpsfc_snow.tm00.nc + testoutput/gdas.t00z.crisf4.tm00.nc + testoutput/gdas.t00z.mtiasi.tm00.nc + testoutput/gdas.t00z.sevcsr.tm00.nc + testoutput/gdas.t00z.ssmisu.tm00.nc testoutput/bufr_read_2_dim_blocks.nc testoutput/bufr_read_wmo_radiosonde.nc testoutput/NC005031.nc @@ -847,6 +871,51 @@ if(iodaconv_bufr_ENABLED) gdas.t18z.1bmhs.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} DEPENDS bufr2ioda.x ) + ecbuild_add_test( TARGET test_iodaconv_bufr_airs2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_airs.yaml" + gdas.t00z.airsev.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_amsua2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_amsua.yaml" + gdas.t00z.1bamsua.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_atms2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_atms.yaml" + gdas.t00z.atms.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_avhrr2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_avhrr.yaml" + gdas.t00z.avcsam.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_cris2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_cris.yaml" + gdas.t00z.crisf4.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + ecbuild_add_test( TARGET test_iodaconv_bufr_hrs2ioda TYPE SCRIPT COMMAND bash @@ -856,6 +925,33 @@ if(iodaconv_bufr_ENABLED) gdas.t00z.1bhrs4.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} DEPENDS bufr2ioda.x ) + ecbuild_add_test( TARGET test_iodaconv_bufr_iasi2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_iasi.yaml" + gdas.t00z.mtiasi.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_seviri2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_seviri.yaml" + gdas.t00z.sevcsr.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_bufr_ssmis2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_ssmis.yaml" + gdas.t00z.ssmisu.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + ecbuild_add_test( TARGET test_iodaconv_bufr_filtering TYPE SCRIPT COMMAND bash diff --git a/test/testinput/bufr_airs_v2.yaml b/test/testinput/bufr_airs.yaml similarity index 63% rename from test/testinput/bufr_airs_v2.yaml rename to test/testinput/bufr_airs.yaml index 80126e211..6a554197f 100644 --- a/test/testinput/bufr_airs_v2.yaml +++ b/test/testinput/bufr_airs.yaml @@ -6,14 +6,16 @@ observations: - obs space: name: bufr - obsdatain: "./testinput/gdas.t12z.airsev.tm00.bufr_d" + obsdatain: "./testinput/gdas.t00z.airsev.tm00.bufr_d" mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLATH, CLONH] - - mnemonics: [SAID, SIID, FOVN, SAZA, SOZA, BEARAZ, SOLAZI, TOCC] -# - mnemonics: [ALBD] -# channels: 1-4 - - mnemonics: [CHNM, LOGRCW, TMBR] - channels: 1-10 + - mnemonics: [SAID, SLNM, SOZA, SOLAZI] + - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, SECO] + - mnemonics: [CLATH, CLONH, SAZA, BEARAZ, FOVN] + - mnemonics: [ALBD] + channels: 1-4 + - mnemonics: [CHNM, TMBR] + channels: 1-15 + - mnemonics: [TOCC] exports: variables: @@ -24,18 +26,15 @@ observations: day: DAYS hour: HOUR minute: MINU + second: SECO latitude: mnemonic: CLATH longitude: mnemonic: CLONH - satelliteId: + satelliteIdentifier: mnemonic: SAID - sensorID: - mnemonic: SIID - channelNumber: + sensorChannelNumber: mnemonic: CHNM - centralWavenumber: - mnemonic: LOGRCW fieldOfViewNumber: mnemonic: FOVN solarZenithAngle: @@ -48,127 +47,123 @@ observations: mnemonic: BEARAZ cloudAmount: mnemonic: TOCC + transforms: + - scale: 0.01 # albedo: # mnemonic: ALBD +# transforms: +# - scale: 0.01 brightnessTemperature: mnemonic: TMBR ioda: backend: netcdf - obsdataout: "./testrun/gdas.t12z.airsev.tm00.nc" + obsdataout: "./testrun/gdas.t00z.airsev.tm00.nc" dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" size: variables/brightnessTemperature.ncols -# - name: "nchans_albedo" -# size: variables/albedo.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string value: "AIRS" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-249 EVERY FOV AIRS/AMSU-A/HSB 1B BTEMPS(AQUA)" variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" - units: "" - - - name: "MetaData/centralWavenumber" - source: variables/centralWavenumber - dimensions: ["nchans"] - longName: "Central wavenumber (log10)" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" units: "" - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - name: "MetaData/fieldOfViewNumber" source: variables/fieldOfViewNumber - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Field of view number" units: "" - name: "MetaData/solarZenithAngle" source: variables/solarZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar zenith angle" units: "degrees" range: [0, 180] - name: "MetaData/solarAzimuthAngle" source: variables/solarAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar azimuth angle" units: "degrees" range: [0, 360] - name: "MetaData/sensorZenithAngle" source: variables/sensorZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor zenith angle" units: "degrees" range: [0, 90] - name: "MetaData/sensorAzimuthAngle" source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor azimuth angle" units: "degrees" range: [0, 360] - - name: "MetaData/cloudAmount" + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + + - name: "ObsValue/cloudAmount" coordinates: "longitude latitude" source: variables/cloudAmount - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Cloud fraction" - units: "percent" - range: [0, 100] + units: "1" + range: [0, 1] # - name: "ObsValue/albedo" -# coordinates: "longitude latitude nchans_albedo" +# coordinates: "longitude latitude Channel" # source: variables/albedo -# dimensions: ["nlocs", "nchans_albedo"] +# dimensions: ["Location", "Channel"] # longName: "albedo" -# units: "percent" -# range: [0, 100] +# units: "1" +# range: [0, 1] # chunks: [1000, 15] # compressionLevel: 4 - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" + coordinates: "longitude latitude Channel" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [120, 500] diff --git a/test/testinput/bufr_amsua_v2.yaml b/test/testinput/bufr_amsua.yaml similarity index 71% rename from test/testinput/bufr_amsua_v2.yaml rename to test/testinput/bufr_amsua.yaml index 16c179110..d7a898804 100644 --- a/test/testinput/bufr_amsua_v2.yaml +++ b/test/testinput/bufr_amsua.yaml @@ -8,8 +8,8 @@ observations: name: bufr obsdatain: "./testinput/gdas.t00z.1bamua.tm00.bufr_d" mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLAT, CLON] - - mnemonics: [SAID, SIID, FOVN, SAZA, SOZA, BEARAZ, SOLAZI] + - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, SECO, CLAT, CLON] + - mnemonics: [SAID, FOVN, LSQL, SAZA, SOZA, SOLAZI, BEARAZ] - mnemonics: [CHNM, TMBR] channels: 1-15 @@ -22,16 +22,13 @@ observations: day: DAYS hour: HOUR minute: MINU + second: SECO latitude: mnemonic: CLAT longitude: mnemonic: CLON - satelliteId: + satelliteIdentifier: mnemonic: SAID - sensorID: - mnemonic: SIID - channelNumber: - mnemonic: CHNM fieldOfViewNumber: mnemonic: FOVN solarZenithAngle: @@ -42,6 +39,8 @@ observations: mnemonic: SAZA sensorAzimuthAngle: mnemonic: BEARAZ + sensorChannelNumber: + mnemonic: CHNM brightnessTemperature: mnemonic: TMBR @@ -50,96 +49,96 @@ observations: obsdataout: "./testrun/gdas.t00z.1bamsua.tm00.nc" dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" size: variables/brightnessTemperature.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string value: "AMSUA" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-023 PROC AMSU-A 1B Tb (NOAA-15-19, METOP-1,2)" - - name: "MetaData/sensorCentralFrequency" - type: floatVector - value: [23.8, 31.4, 50.3, 52.8, 53.596, 54.4, 54.94, 55.5, 57.290, - 57.290, 57.290, 57.290, 57.290, 57.290, 89.0] +# - name: "sensorCentralFrequency" +# type: floatVector +# value: [23.8, 31.4, 50.3, 52.8, 53.596, 54.4, 54.94, 55.5, 57.290, +# 57.290, 57.290, 57.290, 57.290, 57.290, 89.0] variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" units: "" - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - name: "MetaData/fieldOfViewNumber" source: variables/fieldOfViewNumber - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Field of view number" units: "" - name: "MetaData/solarZenithAngle" source: variables/solarZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar zenith angle" units: "degrees" range: [0, 180] - name: "MetaData/solarAzimuthAngle" source: variables/solarAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar azimuth angle" units: "degrees" range: [0, 360] - name: "MetaData/sensorZenithAngle" source: variables/sensorZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor zenith angle" units: "degrees" range: [0, 90] - name: "MetaData/sensorAzimuthAngle" source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor azimuth angle" units: "degrees" range: [0, 360] + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" + coordinates: "longitude latitude Channel" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [120, 500] diff --git a/test/testinput/bufr_atms_v2.yaml b/test/testinput/bufr_atms.yaml similarity index 65% rename from test/testinput/bufr_atms_v2.yaml rename to test/testinput/bufr_atms.yaml index afe99788a..0c5fb404c 100644 --- a/test/testinput/bufr_atms_v2.yaml +++ b/test/testinput/bufr_atms.yaml @@ -8,8 +8,10 @@ observations: name: bufr obsdatain: "./testinput/gdas.t00z.atms.tm00.bufr_d" mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLATH, CLONH] - - mnemonics: [SAID, SIID, FOVN, SAZA, SOZA, BEARAZ, SOLAZI] + - mnemonics: [SAID, YEAR, MNTH, DAYS, HOUR, MINU, SECO] + - mnemonics: [SLNM, FOVN, ATMSSQ] + - mnemonics: [CLATH, CLONH] + - mnemonics: [SAZA, BEARAZ, SOZA, SOLAZI] - mnemonics: [CHNM, TMBR] channels: 1-22 @@ -22,26 +24,29 @@ observations: day: DAYS hour: HOUR minute: MINU + second: SECO latitude: mnemonic: CLATH longitude: mnemonic: CLONH - satelliteId: + satelliteIdentifier: mnemonic: SAID - sensorID: - mnemonic: SIID - channelNumber: - mnemonic: CHNM + scanLineNumber: + mnemonic: SLNM fieldOfViewNumber: mnemonic: FOVN - solarZenithAngle: - mnemonic: SOZA - solarAzimuthAngle: - mnemonic: SOLAZI + qualityFlags: + mnemonic: ATMSSQ sensorZenithAngle: mnemonic: SAZA sensorAzimuthAngle: mnemonic: BEARAZ + solarZenithAngle: + mnemonic: SOZA + solarAzimuthAngle: + mnemonic: SOLAZI + sensorChannelNumber: + mnemonic: CHNM brightnessTemperature: mnemonic: TMBR @@ -50,98 +55,104 @@ observations: obsdataout: "./testrun/gdas.t00z.atms.tm00.nc" dimensions: - - name: "nlocs" + - name: "Location" size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Channel" size: variables/brightnessTemperature.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string value: "ATMS" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-203 ATMS BRIGHTNESS TEMPERATURE DATA" - - name: "MetaData/sensorCentralFrequency" - type: floatVector - value: [23.8, 31.4, 50.3, 51.76, 52.8, 53.596, 54.40, 54.94, 55.50, - 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, - 88.20, 165.5, 183.31, 183.31, 183.31, 183.31, 183.31] +# - name: "sensorCentralFrequency" +# type: floatVector +# value: [23.8, 31.4, 50.3, 51.76, 52.8, 53.596, 54.40, 54.94, 55.50, +# 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, +# 88.20, 165.5, 183.31, 183.31, 183.31, 183.31, 183.31] variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" units: "" - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - name: "MetaData/fieldOfViewNumber" source: variables/fieldOfViewNumber - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Field of view number" units: "" + - name: "MetaData/scanLineNumber" + source: variables/scanLineNumber + dimensions: ["Location"] + longName: "Scan line number" + units: "" + - name: "MetaData/solarZenithAngle" source: variables/solarZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar zenith angle" units: "degrees" range: [0, 180] - name: "MetaData/solarAzimuthAngle" source: variables/solarAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar azimuth angle" units: "degrees" range: [0, 360] - name: "MetaData/sensorZenithAngle" source: variables/sensorZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor zenith angle" units: "degrees" range: [0, 90] - name: "MetaData/sensorAzimuthAngle" source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor azimuth angle" units: "degrees" range: [0, 360] + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" + coordinates: "longitude latitude Channel" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [120, 500] - chunks: [1000, 15] + chunks: [1000, 22] diff --git a/test/testinput/bufr_avhrr_v2.yaml b/test/testinput/bufr_avhrr.yaml similarity index 65% rename from test/testinput/bufr_avhrr_v2.yaml rename to test/testinput/bufr_avhrr.yaml index 240b7d5d7..1f8b3ccea 100644 --- a/test/testinput/bufr_avhrr_v2.yaml +++ b/test/testinput/bufr_avhrr.yaml @@ -8,8 +8,9 @@ observations: name: bufr obsdatain: "./testinput/gdas.t00z.avcsam.tm00.bufr_d" mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLATH, CLONH] - - mnemonics: [SAID, FOVN, SAZA, SOZA] + - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU] + - mnemonics: [CLATH, CLONH, SAID] + - mnemonics: [FOVN, SAZA, SOZA] - mnemonics: [INCN, ALBD, TMBR] channels : 1-5 @@ -26,113 +27,115 @@ observations: mnemonic: CLATH longitude: mnemonic: CLONH - satelliteId: + satelliteIdentifier: mnemonic: SAID - channelNumber: - mnemonic: INCN fieldOfViewNumber: mnemonic: FOVN solarZenithAngle: mnemonic: SOZA sensorZenithAngle: mnemonic: SAZA + sensorChannelNumber: + mnemonic: INCN albedo: mnemonic: ALBD + transforms: + - scale: 0.01 brightnessTemperature: mnemonic: TMBR ioda: backend: netcdf - obsdataout: "./testrun/gdas.t12z.avcsam.tm00.nc" + obsdataout: "./testrun/gdas.t00z.avcsam.tm00.nc" dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" size: variables/brightnessTemperature.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string value: "AVHRR" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-051 PROC AVHRR(GAC) 1B Tb-CLR & SEA (N-17,N-18,M-2)" - - name: "MetaData/sensorCentralWavelength" - type: floatVector - value: [0.630, 0.865, 3.74, 10.8, 12.0] # μm +# - name: "sensorCentralWavelength" +# type: floatVector +# value: [0.630, 0.865, 3.74, 10.8, 12.0] # μm variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" units: "" - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - name: "MetaData/fieldOfViewNumber" source: variables/fieldOfViewNumber - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Field of view number" units: "" - name: "MetaData/solarZenithAngle" source: variables/solarZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar zenith angle" units: "degrees" range: [0, 180] - name: "MetaData/sensorZenithAngle" source: variables/sensorZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor zenith angle" units: "degrees" range: [0, 90] + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + - name: "ObsValue/albedo" - coordinates: "longitude latitude nchans" - source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + source: variables/albedo + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] longName: "Albedo" - units: "" - range: [120, 500] - chunks: [1000, 15] + units: "1" + range: [0, 1.0] + chunks: [1000, 5] compressionLevel: 4 - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [120, 500] - chunks: [1000, 15] + chunks: [1000, 5] compressionLevel: 4 diff --git a/test/testinput/bufr_cris.yaml b/test/testinput/bufr_cris.yaml new file mode 100644 index 000000000..52119aee5 --- /dev/null +++ b/test/testinput/bufr_cris.yaml @@ -0,0 +1,189 @@ +# (C) Copyright 2021 UCAR +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + +observations: + - obs space: + name: bufr + obsdatain: "./testinput/gdas.t00z.crisf4.tm00.bufr_d" + mnemonicSets: + - mnemonics: [SAID, YEAR, MNTH, DAYS, HOUR, MINU, SECO, CLATH, CLONH] + - mnemonics: [SAZA, BEARAZ, SOZA, SOLAZI, STKO] + - mnemonics: [SLNM, FOVN, HOLS] + - mnemonics: [TOCC, HOCT, NSQF] + - mnemonics: [STCH, ENCH, CHSF] + - mnemonics: [CHNM, SRAD] + channels : 1-430 +# - mnemonics: [CHNM, SCHRAD] # VIIRS radiance +# channels : 1-16 + + exports: + variables: + timestamp: + datetime: + year: YEAR + month: MNTH + day: DAYS + hour: HOUR + minute: MINU + second: SECO + latitude: + mnemonic: CLATH + longitude: + mnemonic: CLONH + satelliteIdentifier: + mnemonic: SAID + scanLineNumber: + mnemonic: SLNM + satelliteAscendingFlag: + mnemonic: STKO + fieldOfViewNumber: + mnemonic: FOVN + solarZenithAngle: + mnemonic: SOZA + solarAzimuthAngle: + mnemonic: SOLAZI + sensorZenithAngle: + mnemonic: SAZA + sensorAzimuthAngle: + mnemonic: BEARAZ + cloudAmount: + mnemonic: TOCC + transforms: + - scale: 0.01 + heightOfTopOfCloud: + mnemonic: HOCT + qualityFlags: + mnemonic: NSQF + sensorChannelStart: + mnemonic: STCH + sensorChannelEnd: + mnemonic: ENCH + channelScaleFactor: + mnemonic: CHSF + sensorChannelNumber: + mnemonic: CHNM + radiance: # This is actually a scaled radiance, needs a fix + mnemonic: SRAD + + ioda: + backend: netcdf + obsdataout: "./testrun/gdas.t00z.crisf4.tm00.nc" + + dimensions: + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" + size: variables/radiance.ncols + + globals: + - name: "platformCommonName" + type: string + value: "SNPP" + + - name: "platformLongDescription" + type: string + value: "MTYP 021-206 CrIS FULL SPCTRL RADIANCE (431 CHN SUBSET)" + + variables: + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" + units: "" + + - name: "MetaData/latitude" + source: variables/latitude + dimensions: ["Location"] + longName: "Latitude" + units: "degrees_north" + range: [-90, 90] + + - name: "MetaData/longitude" + source: variables/longitude + dimensions: ["Location"] + longName: "Longitude" + units: "degrees_east" + range: [-180, 180] + + - name: "MetaData/dateTime" + source: variables/timestamp + dimensions: ["Location"] + longName: "dateTime" + units: "seconds since 1970-01-01T00:00:00Z" + + - name: "MetaData/fieldOfViewNumber" + source: variables/fieldOfViewNumber + dimensions: ["Location"] + longName: "Field of view number" + units: "" + + - name: "MetaData/solarZenithAngle" + source: variables/solarZenithAngle + dimensions: ["Location"] + longName: "Solar zenith angle" + units: "degrees" + range: [0, 180] + + - name: "MetaData/solarAzimuthAngle" + source: variables/solarAzimuthAngle + dimensions: ["Location"] + longName: "Solar azimuth angle" + units: "degrees" + range: [0, 360] + + - name: "MetaData/sensorZenithAngle" + source: variables/sensorZenithAngle + dimensions: ["Location"] + longName: "Sensor zenith angle" + units: "degrees" + range: [0, 90] + + - name: "MetaData/sensorAzimuthAngle" + source: variables/sensorAzimuthAngle + dimensions: ["Location"] + longName: "Sensor azimuth angle" + units: "degrees" + range: [0, 360] + + - name: "MetaData/scanLineNumber" + source: variables/scanLineNumber + dimensions: ["Location"] + longName: "Sensor scan line number" + units: "" + + - name: "MetaData/qualityFlags" + source: variables/qualityFlags + dimensions: ["Location"] + longName: "Scan level quality flags" + units: "" + + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + + - name: "ObsValue/cloudAmount" + source: variables/cloudAmount + coordinates: "longitude latitude" + dimensions: ["Location"] + longName: "Cloud fraction" + units: "1" + + - name: "ObsValue/heightOfTopOfCloud" + source: variables/heightOfTopOfCloud + coordinates: "longitude latitude" + dimensions: ["Location"] + longName: "Cloud top height" + units: "m" + + - name: "ObsValue/radiance" + source: variables/radiance + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] + longName: "radiance" + units: "W m-2 sr-1" + chunks: [1000, 430] + compressionLevel: 4 diff --git a/test/testinput/bufr_cris_v2.yaml b/test/testinput/bufr_cris_v2.yaml deleted file mode 100644 index 54f8030d9..000000000 --- a/test/testinput/bufr_cris_v2.yaml +++ /dev/null @@ -1,234 +0,0 @@ -# (C) Copyright 2021 UCAR -# -# This software is licensed under the terms of the Apache Licence Version 2.0 -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. - -observations: - - obs space: - name: bufr - obsdatain: "./testinput/gdas.t00z.crisf4.tm00.bufr_d" - mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLAT, CLON] - - mnemonics: [SAID, SIID, MYPE, SLNM, FORN, FOVN, SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [TOCC, HOCT, SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [NSQF, QMRKH] - - mnemonics: [NCQF, NFQF] - channels : 1-3 - - mnemonics: [CHNM, SRAD] - channels : 1-616 - - mnemonics: [CHNM, SCHRAD] - channels : 1-16 - - exports: - variables: - timestamp: - datetime: - year: YEAR - month: MNTH - day: DAYS - hour: HOUR - minute: MINU - latitude: - mnemonic: CLAT - longitude: - mnemonic: CLON - satelliteId: - mnemonic: SAID - sensorID: - mnemonic: SIID - measurementType: - mnemonic: MTYP - channelNumber: - mnemonic: CHNM - sensorScanLineNumber: - mnemonic: SLNM - fieldOfRegardNumber: - mnemonic: FORN - fieldOfViewNumber: - mnemonic: FOVN - solarZenithAngle: - mnemonic: SOZA - solarAzimuthAngle: - mnemonic: SOLAZI - sensorZenithAngle: - mnemonic: SAZA - sensorAzimuthAngle: - mnemonic: BEARAZ - cloudAmount: - mnemonic: TOCC - cloudTopHeight: - mnemonic: HOCT - qualityInfo: - mnemonic: QMRKH - qualityFlagsScan: - mnemonic: NSQF - qualityFlagsCalibration: - mnemonic: NCQF - qualityFlagsFieldOfView: - mnemonic: NFQF - radiance: - mnemonic: SRAD - radianceVIIRS: - mnemonic: SCHRAD - - ioda: - backend: netcdf - obsdataout: "./testrun/gdas.t00z.crisf4.tm00.nc" - - dimensions: - - name: "nlocs" - size: variables/radiance.nrows - - name: "nchans" - size: variables/radiance.ncols - - name: "nchans2" - size: variables/radianceVIIRS.ncols - - name: "nqualityFlags" - size: variables/qualityFlagsCalibration.ncols - - globals: - - name: "MetaData/platformCommonName" - type: string - value: "SNPP" - - - name: "MetaData/platformLongDescription" - type: string - value: "MTYP 021-206 CrIS FULL SPCTRL RADIANCE (431 CHN SUBSET)" - - variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" - units: "" - - - name: "MetaData/measurementType" - source: variables/measurementType - dimensions: ["nchans"] - longName: "Measurement type" - units: "" - - - name: "MetaData/latitude" - source: variables/latitude - dimensions: ["nlocs"] - longName: "Latitude" - units: "degrees_north" - range: [-90, 90] - - - name: "MetaData/longitude" - source: variables/longitude - dimensions: ["nlocs"] - longName: "Longitude" - units: "degrees_east" - range: [-180, 180] - - - name: "MetaData/dateTime" - source: variables/timestamp - dimensions: ["nlocs"] - longName: "dateTime" - units: "seconds since 1970-01-01T00:00:00Z" - - - name: "MetaData/fieldOfRegardNumber" - source: variables/fieldOfRegardNumber - dimensions: ["nlocs"] - longName: "Field of regard number" - units: "" - - - name: "MetaData/fieldOfViewNumber" - source: variables/fieldOfViewNumber - dimensions: ["nlocs"] - longName: "Field of view number" - units: "" - - - name: "MetaData/solarZenithAngle" - source: variables/solarZenithAngle - dimensions: ["nlocs"] - longName: "Solar zenith angle" - units: "degrees" - range: [0, 180] - - - name: "MetaData/solarAzimuthAngle" - source: variables/solarAzimuthAngle - dimensions: ["nlocs"] - longName: "Solar azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "MetaData/sensorZenithAngle" - source: variables/sensorZenithAngle - dimensions: ["nlocs"] - longName: "Sensor zenith angle" - units: "degrees" - range: [0, 90] - - - name: "MetaData/sensorAzimuthAngle" - source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] - longName: "Sensor azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "MetaData/sensorScanLineNumber" - source: variables/sensorScanLineNumber - dimensions: ["nlocs"] - longName: "Sensor scan line number" - units: "" - - - name: "MetaData/cloudAmount" - source: variables/cloudAmount - dimensions: ["nlocs"] - longName: "Cloud fraction" - units: "percent" - - - name: "MetaData/cloudTopHeight" - source: variables/cloudTopHeight - dimensions: ["nlocs"] - longName: "Cloud top height" - units: "m" - - - name: "MetaData/qualityInfo" - source: variables/qualityInfo - dimensions: ["nlocs"] - longName: "Quality information" - units: "" - - - name: "MetaData/qualityFlagsScan" - source: variables/qualityFlagsScan - dimensions: ["nlocs"] - longName: "Scan level quality flags" - units: "" - - - name: "MetaData/qualityFlagsCalibration" - source: variables/qualityFlagsCalibration - dimensions: ["nlocs", "nqualityFlags"] - longName: "Calibration quality flags" - units: "" - - - name: "MetaData/qualityFlagsFieldOfView" - source: variables/qualityFlagsFieldOfView - dimensions: ["nlocs", "nqualityFlags"] - longName: "Field of view quality flags" - units: "" - - - name: "ObsValue/radiance" - coordinates: "longitude latitude nchans" - source: variables/radiance - dimensions: ["nlocs", "nchans"] - longName: "radiance" - units: "W m-2 sr-1 cm" - chunks: [1000, 15] - compressionLevel: 4 - - - name: "ObsValue/radianceVIIRS" - coordinates: "longitude latitude nchans" - source: variables/radianceVIIRS - dimensions: ["nlocs", "nchans2"] - longName: "radiance" - units: "W m-2 sr-1 um-1" - chunks: [1000, 15] - compressionLevel: 4 diff --git a/test/testinput/bufr_hirs_v2.yaml b/test/testinput/bufr_hirs_v2.yaml deleted file mode 100644 index 310acfa1b..000000000 --- a/test/testinput/bufr_hirs_v2.yaml +++ /dev/null @@ -1,147 +0,0 @@ -# (C) Copyright 2021 UCAR -# -# This software is licensed under the terms of the Apache Licence Version 2.0 -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. - -observations: - - obs space: - name: bufr - obsdatain: "./testinput/gdas.t00z.1bhrs4.tm00.bufr_d" - mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLAT, CLON] - - mnemonics: [SAID, SIID, FOVN, SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [CHNM, TMBR] - channels: 1-20 - - exports: - variables: - timestamp: - datetime: - year: YEAR - month: MNTH - day: DAYS - hour: HOUR - minute: MINU - latitude: - mnemonic: CLAT - longitude: - mnemonic: CLON - satelliteId: - mnemonic: SAID - sensorID: - mnemonic: SIID - channelNumber: - mnemonic: CHNM - fieldOfViewNumber: - mnemonic: FOVN - solarZenithAngle: - mnemonic: SOZA - solarAzimuthAngle: - mnemonic: SOLAZI - sensorZenithAngle: - mnemonic: SAZA - sensorAzimuthAngle: - mnemonic: BEARAZ - brightnessTemperature: - mnemonic: TMBR - - ioda: - backend: netcdf - obsdataout: "./testrun/gdas.t00z.hirs.tm00.nc" - - dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" - size: variables/brightnessTemperature.ncols - - globals: - - name: "MetaData/platformCommonName" - type: string - value: "HIRS" - - - name: "MetaData/platformLongDescription" - type: string - value: "MTYP 021-028 PROC HIRS-4 1B Tb (NOAA-18-19, METOP-1,2)" - -# - name: "MetaData/sensorCentralFrequency" -# type: floatVector -# value: [23.8, 31.4, 50.3, 51.76, 52.8, 53.596, 54.40, 54.94, 55.50, -# 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, -# 88.20, 165.5, 183.31, 183.31, 183.31, 183.31, 183.31] - - variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" - units: "" - - - name: "MetaData/latitude" - source: variables/latitude - dimensions: ["nlocs"] - longName: "Latitude" - units: "degrees_north" - range: [-90, 90] - - - name: "MetaData/longitude" - source: variables/longitude - dimensions: ["nlocs"] - longName: "Longitude" - units: "degrees_east" - range: [-180, 180] - - - name: "MetaData/dateTime" - source: variables/timestamp - dimensions: ["nlocs"] - longName: "dateTime" - units: "seconds since 1970-01-01T00:00:00Z" - - - name: "MetaData/fieldOfViewNumber" - source: variables/fieldOfViewNumber - dimensions: ["nlocs"] - longName: "Field of view number" - units: "" - - - name: "MetaData/solarZenithAngle" - source: variables/solarZenithAngle - dimensions: ["nlocs"] - longName: "Solar zenith angle" - units: "degrees" - range: [0, 180] - - - name: "MetaData/solarAzimuthAngle" - source: variables/solarAzimuthAngle - dimensions: ["nlocs"] - longName: "Solar azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "MetaData/sensorZenithAngle" - source: variables/sensorZenithAngle - dimensions: ["nlocs"] - longName: "Sensor zenith angle" - units: "degrees" - range: [0, 90] - - - name: "MetaData/sensorAzimuthAngle" - source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] - longName: "Sensor azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" - source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] - longName: "Brightness temperature" - units: "K" - range: [120, 500] - chunks: [1000, 15] diff --git a/test/testinput/bufr_hrs.yaml b/test/testinput/bufr_hrs.yaml index c4d05b635..e81783828 100644 --- a/test/testinput/bufr_hrs.yaml +++ b/test/testinput/bufr_hrs.yaml @@ -10,10 +10,10 @@ observations: obsdatain: "./testinput/gdas.t00z.1bhrs4.tm00.bufr_d" mnemonicSets: - - mnemonics: [SAID, FOVN, YEAR, MNTH, DAYS, HOUR, MINU, SECO, CLAT, CLON, CLATH, CLONH, HOLS] - - mnemonics: [SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [TMBR] - channels : 1-19 + - mnemonics: [SAID, FOVN, YEAR, MNTH, DAYS, HOUR, MINU, SECO, CLAT, CLON, HOLS] + - mnemonics: [FOVN, SAZA, SOZA, BEARAZ, SOLAZI] + - mnemonics: [CHNM, TMBR] + channels : 1-20 exports: variables: @@ -29,7 +29,23 @@ observations: mnemonic: CLON latitude: mnemonic: CLAT - radiance: + satelliteIdentifier: + mnemonic: SAID + heightOfSurface: + mnemonic: HOLS + fieldOfViewNumber: + mnemonic: FOVN + solarZenithAngle: + mnemonic: SOZA + solarAzimuthAngle: + mnemonic: SOLAZI + sensorZenithAngle: + mnemonic: SAZA + sensorAzimuthAngle: + mnemonic: BEARAZ + sensorChannelNumber: + mnemonic: CHNM + brightnessTemperature: mnemonic: TMBR ioda: @@ -37,36 +53,104 @@ observations: obsdataout: "./testrun/gdas.t00z.1bhrs4.tm00.nc" dimensions: - - name: "nlocs" - size: variables/radiance.nrows - - name: "nchans" - size: variables/radiance.ncols + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" + size: variables/brightnessTemperature.ncols + globals: + - name: "platformCommonName" + type: string + value: "HIRS" + + - name: "platformLongDescription" + type: string + value: "MTYP 021-028 PROC HIRS-4 1B Tb (NOAA-18-19, METOP-1,2)" + +# - name: "sensorCentralFrequency" +# type: floatVector +# value: [23.8, 31.4, 50.3, 51.76, 52.8, 53.596, 54.40, 54.94, 55.50, +# 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, 57.2903, +# 88.20, 165.5, 183.31, 183.31, 183.31, 183.31, 183.31] +# variables: - - name: "dateTime@MetaData" + - name: "MetaData/dateTime" source: variables/timestamp - dimensions: [ "nlocs" ] + dimensions: [ "Location" ] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - - name: "latitude@MetaData" + - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - - name: "longitude@MetaData" + - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - - name: "radiance@ObsValue" - coordinates: "longitude latitude nchans" - source: variables/radiance - dimensions: ["nlocs", "nchans"] - longName: "Radiance" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identification" + units: "" + + - name: "MetaData/heightOfSurface" + source: variables/heightOfSurface + dimensions: ["Location"] + longName: "Height of Land Surface" + units: "m" + + - name: "MetaData/fieldOfViewNumber" + source: variables/fieldOfViewNumber + dimensions: ["Location"] + longName: "Field of View Number" + units: "none" + + - name: "MetaData/solarZenithAngle" + source: variables/solarZenithAngle + dimensions: ["Location"] + longName: "Solar Zenith Angle" + units: "degrees" + range: [0, 180] + + - name: "MetaData/solarAzimuthAngle" + source: variables/solarAzimuthAngle + dimensions: ["Location"] + longName: "Solar Azimuth Angle" + units: "degrees" + range: [-180, 180] + + - name: "MetaData/sensorZenithAngle" + source: variables/sensorZenithAngle + dimensions: ["Location"] + longName: "Sensor Zenith Angle" + units: "degrees" + range: [0, 180] + + - name: "MetaData/sensorAzimuthAngle" + source: variables/sensorAzimuthAngle + dimensions: ["Location"] + longName: "Sensor Azimuth Angle" + units: "degrees" + range: [-180, 180] + + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + + - name: "ObsValue/brightnessTemperature" + source: variables/brightnessTemperature + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] + longName: "brightnessTemperature" units: "K" range: [120, 500] + chunks: [1000, 20] diff --git a/test/testinput/bufr_iasi.yaml b/test/testinput/bufr_iasi.yaml new file mode 100644 index 000000000..2bc2beed8 --- /dev/null +++ b/test/testinput/bufr_iasi.yaml @@ -0,0 +1,176 @@ +# (C) Copyright 2022 UCAR +# +# This software is licensed under the terms of the Apache Licence Version 2.0 +# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. + +observations: + - obs space: + name: bufr + obsdatain: "./testinput/gdas.t00z.mtiasi.tm00.bufr_d" + mnemonicSets: + - mnemonics: [SAID, YEAR, MNTH, DAYS, HOUR, MINU, SECO] + - mnemonics: [CLATH, CLONH, SAZA, BEARAZ, SOZA, SOLAZI, FOVN, SLNM] + - mnemonics: [STCH, ENCH, CHSF] + channels: 1-10 + - mnemonics: [CHNM, SCRA] + channels: 1-616 + + exports: + variables: + timestamp: + datetime: + year: YEAR + month: MNTH + day: DAYS + hour: HOUR + minute: MINU + second: SECO + latitude: + mnemonic: CLATH + longitude: + mnemonic: CLONH + satelliteIdentifier: + mnemonic: SAID + scanLineNumber: + mnemonic: SLNM + fieldOfViewNumber: + mnemonic: FOVN + solarZenithAngle: + mnemonic: SOZA + solarAzimuthAngle: + mnemonic: SOLAZI + sensorZenithAngle: + mnemonic: SAZA + sensorAzimuthAngle: + mnemonic: BEARAZ + sensorChannelStart: + mnemonic: STCH + sensorChannelEnd: + mnemonic: ENCH + channelScaleFactor: + mnemonic: CHSF + sensorChannelNumber: + mnemonic: CHNM + radiance: # This is actually a scaled radiance, needs a fix + mnemonic: SCRA + + ioda: + backend: netcdf + obsdataout: "./testrun/gdas.t00z.mtiasi.tm00.nc" + + dimensions: + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" + size: variables/radiance.ncols + # - name: "ChannelBlock" + # size: variables/sensorChannelStart.ncols + + globals: + - name: "platformCommonName" + type: string + value: "IASI" + + - name: "platformLongDescription" + type: string + value: "MTYP 021-241 IASI 1C RADIANCES (VARIABLE CHNS) (METOP)" + + variables: + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" + units: "" + + - name: "MetaData/latitude" + source: variables/latitude + dimensions: ["Location"] + longName: "Latitude" + units: "degrees_north" + range: [-90, 90] + + - name: "MetaData/longitude" + source: variables/longitude + dimensions: ["Location"] + longName: "Longitude" + units: "degrees_east" + range: [-180, 180] + + - name: "MetaData/dateTime" + source: variables/timestamp + dimensions: ["Location"] + longName: "dateTime" + units: "seconds since 1970-01-01T00:00:00Z" + + - name: "MetaData/fieldOfViewNumber" + source: variables/fieldOfViewNumber + dimensions: ["Location"] + longName: "Field of view number" + units: "" + + - name: "MetaData/scanLineNumber" + source: variables/scanLineNumber + dimensions: ["Location"] + longName: "Scan line number" + units: "" + + - name: "MetaData/solarZenithAngle" + source: variables/solarZenithAngle + dimensions: ["Location"] + longName: "Solar zenith angle" + units: "degrees" + range: [0, 180] + + - name: "MetaData/solarAzimuthAngle" + source: variables/solarAzimuthAngle + dimensions: ["Location"] + longName: "Solar azimuth angle" + units: "degrees" + range: [0, 360] + + - name: "MetaData/sensorZenithAngle" + source: variables/sensorZenithAngle + dimensions: ["Location"] + longName: "Sensor zenith angle" + units: "degrees" + range: [0, 90] + + - name: "MetaData/sensorAzimuthAngle" + source: variables/sensorAzimuthAngle + dimensions: ["Location"] + longName: "Sensor azimuth angle" + units: "degrees" + range: [0, 360] + +# - name: "MetaData/sensorChannelStart" +# source: variables/sensorChannelStart +# dimensions: ["ChannelBlock"] +# longName: "Starting channel number" +# units: "" + +# - name: "MetaData/sensorChannelEnd" +# source: variables/sensorChannelEnd +# dimensions: ["ChannelBlock"] +# longName: "Ending channel number" +# units: "" + +# - name: "MetaData/channelScaleFactor" +# source: variables/channelScaleFactor +# dimensions: ["ChannelBlock"] +# longName: "Channel scale factor" +# units: "" + + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + + - name: "ObsValue/radiance" + source: variables/radiance + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] + longName: "Scaled radiance" + units: "W m-2 sr-1" + chunks: [1000, 616] + compressionLevel: 4 diff --git a/test/testinput/bufr_mhs.yaml b/test/testinput/bufr_mhs.yaml index 98404134e..4fc7f3bb5 100644 --- a/test/testinput/bufr_mhs.yaml +++ b/test/testinput/bufr_mhs.yaml @@ -11,7 +11,7 @@ observations: - mnemonics: [SAID, SIID, FOVN, YEAR, MNTH, DAYS, HOUR, MINU, SECO, CLAT, CLON, CLATH, CLONH] - mnemonics: [LSQL, HOLS, HMSL] - mnemonics: [SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [TMBR] + - mnemonics: [CHNM, TMBR] channels : 1-5 exports: @@ -24,27 +24,33 @@ observations: hour: HOUR minute: MINU second: SECO - height: + latitude: + mnemonic: CLAT + longitude: + mnemonic: CLON + satelliteIdentifier: + mnemonic: SAID + stationElevation: mnemonic: HMSL - hols: + heightOfSurface: mnemonic: HOLS - fovn: + fieldOfViewNumber: mnemonic: FOVN - lsql: + landOrSeaQualifier: mnemonic: LSQL - longitude: - mnemonic: CLON - latitude: - mnemonic: CLAT - sza: + fieldOfViewNumber: + mnemonic: FOVN + solarZenithAngle: mnemonic: SOZA - saz: + solarAzimuthAngle: mnemonic: SOLAZI - vza: + sensorZenithAngle: mnemonic: SAZA - vaz: + sensorAzimuthAngle: mnemonic: BEARAZ - radiance: + sensorChannelNumber: + mnemonic: CHNM + brightnessTemperature: mnemonic: TMBR ioda: @@ -52,103 +58,111 @@ observations: obsdataout: "./testrun/gdas.t18z.1bmhs.tm00.nc" dimensions: - - name: "nlocs" - size: variables/radiance.nrows - - name: "nchans" - size: variables/radiance.ncols + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" + size: variables/brightnessTemperature.ncols globals: - - name: "sensorCentralFrequency@MetaData" - type: floatVector - value: [89.0, 157.0, 183.311, 183.311, 190.311] - - name: "platformCommonName@MetaData" + - name: "platformCommonName" type: string value: "MHS" - - variables: - - - name: "stationElevation@MetaData" - source: variables/height - dimensions: ["nlocs"] - longName: "Station Elevation" - units: "meters" - - - name: "heightOfSurface@MetaData" - source: variables/hols - dimensions: ["nlocs"] - longName: "Height of Land Surface" - units: "meters" - - name: "fieldOfViewNumber@MetaData" - source: variables/fovn - dimensions: ["nlocs"] - longName: "Field of View Number" - units: "none" + - name: "platformLongDescription" + type: string + value: "MTYP 021-027 PROCESSED MHS Tb (NOAA-18-19, METOP-1,2)" - - name: "landSeaQualifier@MetaData" - source: variables/lsql - dimensions: ["nlocs"] - longName: "Land/Sea Qualifier" - units: "none" +# - name: "sensorCentralFrequency" +# type: floatVector +# value: [89.0, 157.0, 183.311, 183.311, 190.311] + + variables: - - name: "dateTime@MetaData" + - name: "MetaData/dateTime" source: variables/timestamp - dimensions: [ "nlocs" ] + dimensions: [ "Location" ] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - - name: "latitude@MetaData" + - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - - name: "longitude@MetaData" + - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - - name: "solarZenithAngle@MetaData" - source: variables/sza - dimensions: ["nlocs"] + - name: "MetaData/stationElevation" + source: variables/stationElevation + dimensions: ["Location"] + longName: "Height" + units: "m" + + - name: "MetaData/heightOfSurface" + source: variables/heightOfSurface + dimensions: ["Location"] + longName: "Height of Land Surface" + units: "m" + + - name: "MetaData/fieldOfViewNumber" + source: variables/fieldOfViewNumber + dimensions: ["Location"] + longName: "Field of View Number" + units: "none" + + - name: "MetaData/landOrSeaQualifier" + source: variables/landOrSeaQualifier + dimensions: ["Location"] + longName: "Land/Sea Qualifier" + units: "none" + + - name: "MetaData/solarZenithAngle" + source: variables/solarZenithAngle + dimensions: ["Location"] longName: "Solar Zenith Angle" units: "degrees" range: [0, 180] - - name: "solarAzimuthAngle@MetaData" - source: variables/saz - dimensions: ["nlocs"] + - name: "MetaData/solarAzimuthAngle" + source: variables/solarAzimuthAngle + dimensions: ["Location"] longName: "Solar Azimuth Angle" units: "degrees" range: [-180, 180] - - name: "sensorZenithAngle@MetaData" - source: variables/vza - dimensions: ["nlocs"] + - name: "MetaData/sensorZenithAngle" + source: variables/sensorZenithAngle + dimensions: ["Location"] longName: "Sensor Zenith Angle" units: "degrees" range: [0, 180] - - name: "sensorAzimuthAngle@MetaData" - source: variables/vaz - dimensions: ["nlocs"] + - name: "MetaData/sensorAzimuthAngle" + source: variables/sensorAzimuthAngle + dimensions: ["Location"] longName: "Sensor Azimuth Angle" units: "degrees" range: [-180, 180] - - name: "brightnessTemperature@ObsValue" - coordinates: "longitude latitude nchans" - source: variables/radiance - dimensions: ["nlocs", "nchans"] + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" + + - name: "ObsValue/brightnessTemperature" + source: variables/brightnessTemperature + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] longName: "Brightness Temperature" units: "K" range: [120, 500] - chunks: [1000, 15] + chunks: [1000, 5] compressionLevel: 4 - - - diff --git a/test/testinput/bufr_mhs_v2.yaml b/test/testinput/bufr_mhs_v2.yaml deleted file mode 100644 index 52bbdfe23..000000000 --- a/test/testinput/bufr_mhs_v2.yaml +++ /dev/null @@ -1,146 +0,0 @@ -# (C) Copyright 2021 UCAR -# -# This software is licensed under the terms of the Apache Licence Version 2.0 -# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. - -observations: - - obs space: - name: bufr - obsdatain: "./testinput/gdas.t18z.1bmhs.tm00.bufr_d" - mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLAT, CLON] - - mnemonics: [SAID, SIID, FOVN, SAZA, SOZA, BEARAZ, SOLAZI] - - mnemonics: [CHNM, TMBR] - channels : 1-5 - - exports: - variables: - timestamp: - datetime: - year: YEAR - month: MNTH - day: DAYS - hour: HOUR - minute: MINU - latitude: - mnemonic: CLAT - longitude: - mnemonic: CLON - satelliteId: - mnemonic: SAID - sensorID: - mnemonic: SIID - channelNumber: - mnemonic: CHNM - fieldOfViewNumber: - mnemonic: FOVN - solarZenithAngle: - mnemonic: SOZA - solarAzimuthAngle: - mnemonic: SOLAZI - sensorZenithAngle: - mnemonic: SAZA - sensorAzimuthAngle: - mnemonic: BEARAZ - brightnessTemperature: - mnemonic: TMBR - - ioda: - backend: netcdf - obsdataout: "./testrun/gdas.t18z.1bmhs.tm00.nc" - - dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" - size: variables/brightnessTemperature.ncols - - globals: - - name: "MetaData/platformCommonName" - type: string - value: "MHS" - - - name: "MetaData/platformLongDescription" - type: string - value: "MTYP 021-027 PROCESSED MHS Tb (NOAA-18-19, METOP-1,2)" - - - name: "MetaData/sensorCentralFrequency" - type: floatVector - value: [89.0, 157.0, 183.311, 183.311, 190.311] - - variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" - units: "" - - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" - units: "" - - - name: "MetaData/latitude" - source: variables/latitude - dimensions: ["nlocs"] - longName: "Latitude" - units: "degrees_north" - range: [-90, 90] - - - name: "MetaData/longitude" - source: variables/longitude - dimensions: ["nlocs"] - longName: "Longitude" - units: "degrees_east" - range: [-180, 180] - - - name: "MetaData/dateTime" - source: variables/timestamp - dimensions: ["nlocs"] - longName: "dateTime" - units: "seconds since 1970-01-01T00:00:00Z" - - - name: "MetaData/fieldOfViewNumber" - source: variables/fieldOfViewNumber - dimensions: ["nlocs"] - longName: "Field of view number" - units: "" - - - name: "MetaData/solarZenithAngle" - source: variables/solarZenithAngle - dimensions: ["nlocs"] - longName: "Solar zenith angle" - units: "degrees" - range: [0, 180] - - - name: "MetaData/solarAzimuthAngle" - source: variables/solarAzimuthAngle - dimensions: ["nlocs"] - longName: "Solar azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "MetaData/sensorZenithAngle" - source: variables/sensorZenithAngle - dimensions: ["nlocs"] - longName: "Sensor zenith angle" - units: "degrees" - range: [0, 90] - - - name: "MetaData/sensorAzimuthAngle" - source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] - longName: "Sensor azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" - source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] - longName: "Brightness temperature" - units: "K" - range: [120, 500] - chunks: [1000, 15] - compressionLevel: 4 diff --git a/test/testinput/bufr_sevcrs_v2.yaml b/test/testinput/bufr_seviri.yaml similarity index 61% rename from test/testinput/bufr_sevcrs_v2.yaml rename to test/testinput/bufr_seviri.yaml index 45738e714..69c1239c9 100644 --- a/test/testinput/bufr_sevcrs_v2.yaml +++ b/test/testinput/bufr_seviri.yaml @@ -11,7 +11,8 @@ observations: - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLATH, CLONH] - mnemonics: [SAID, SAZA, SOZA] - mnemonics: [CLDMNT, TMBRST, SDTB] - channels: 1-7 + channels: 1-12 + - mnemonics: [SEQNUM] exports: variables: @@ -26,7 +27,7 @@ observations: mnemonic: CLATH longitude: mnemonic: CLONH - satelliteId: + satelliteIdentifier: mnemonic: SAID solarZenithAngle: mnemonic: SOZA @@ -34,93 +35,103 @@ observations: mnemonic: SAZA cloudAmount: mnemonic: CLDMNT + transforms: + - scale: 0.01 brightnessTemperature: mnemonic: TMBRST - brightnessTemperatureStdDev: - mnemonic: SDTB +# brightnessTemperatureStdDev: +# mnemonic: SDTB + observationSequenceNum: + mnemonic: SEQNUM ioda: backend: netcdf obsdataout: "./testrun/gdas.t00z.sevcsr.tm00.nc" dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" size: variables/brightnessTemperature.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string value: "MSG-SEVIRI" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-043 PROC. MSG SEVIRI CLEAR SKY RADIANCES (CSR)" variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] - longName: "Satellite identification" + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] + longName: "Satellite identifier" units: "" - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" - name: "MetaData/solarZenithAngle" source: variables/solarZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Solar zenith angle" units: "degrees" range: [0, 180] - name: "MetaData/sensorZenithAngle" source: variables/sensorZenithAngle - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Sensor zenith angle" units: "degrees" range: [0, 90] + - name: "MetaData/observationSequenceNum" + source: variables/observationSequenceNum + dimensions: ["Location"] + longName: "Channel sequence number" + units: "" + - name: "ObsValue/cloudAmount" - coordinates: "longitude latitude nchans" + coordinates: "longitude latitude Channel" source: variables/cloudAmount - dimensions: ["nlocs", "nchans"] + dimensions: ["Location", "Channel"] longName: "cloud fraction" - units: "%" - range: [0, 100] - chunks: [1000, 15] + units: "1" + range: [0, 1] + chunks: [1000, 12] - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [150, 350] - chunks: [1000, 15] + chunks: [1000, 12] - - name: "ObsValue/brightnessTemperatureStdDev" - coordinates: "longitude latitude nchans" - source: variables/brightnessTemperatureStdDev - dimensions: ["nlocs", "nchans"] - longName: "Brightness temperature standard deviation" - units: "K" - chunks: [1000, 15] +# - name: "ObsValue/brightnessTemperatureStdDev" +# source: variables/brightnessTemperatureStdDev +# coordinates: "longitude latitude Channel" +# dimensions: ["Location", "Channel"] +# longName: "Brightness temperature standard deviation" +# units: "K" +# chunks: [1000, 15] diff --git a/test/testinput/bufr_ssmis_v2.yaml b/test/testinput/bufr_ssmis.yaml similarity index 55% rename from test/testinput/bufr_ssmis_v2.yaml rename to test/testinput/bufr_ssmis.yaml index 67b5c0dbc..7e24e2c15 100644 --- a/test/testinput/bufr_ssmis_v2.yaml +++ b/test/testinput/bufr_ssmis.yaml @@ -8,8 +8,10 @@ observations: name: bufr obsdatain: "./testinput/gdas.t00z.ssmisu.tm00.bufr_d" mnemonicSets: - - mnemonics: [YEAR, MNTH, DAYS, HOUR, MINU, CLAT, CLON] - - mnemonics: [SAID, FOVN, BEARAZ, SFLG, RFLAG] + - mnemonics: [SAID, YEAR, MNTH, DAYS, HOUR, MINU, SECO] + - mnemonics: [SLNM, FOVN] + - mnemonics: [CLAT, CLON] + - mnemonics: [SFLG, RFLAG] - mnemonics: [CHNM, TMBR] channels: 1-24 @@ -22,22 +24,23 @@ observations: day: DAYS hour: HOUR minute: MINU + second: SECO + satelliteIdentifier: + mnemonic: SAID latitude: mnemonic: CLAT longitude: mnemonic: CLON - satelliteId: - mnemonic: SAID - channelNumber: - mnemonic: CHNM + scanLineNumber: + mnemonic: SLNM fieldOfViewNumber: mnemonic: FOVN - sensorAzimuthAngle: - mnemonic: BEARAZ - surfaceFlag: + earthSurfaceType: mnemonic: SFLG - rainFlag: + qualityFlags: mnemonic: RFLAG + sensorChannelNumber: + mnemonic: CHNM brightnessTemperature: mnemonic: TMBR @@ -46,92 +49,90 @@ observations: obsdataout: "./testrun/gdas.t00z.ssmisu.tm00.nc" dimensions: - - name: "nlocs" - size: variables/brightnessTemperature.nrows - - name: "nchans" + - name: "Location" + size: variables/latitude.nrows + - name: "Channel" size: variables/brightnessTemperature.ncols globals: - - name: "MetaData/platformCommonName" + - name: "platformCommonName" type: string - value: "SSMIS" + value: "SSMIS-DMSP18" - - name: "MetaData/platformLongDescription" + - name: "platformLongDescription" type: string value: "MTYP 021-201 DMSP SSM/IS Tb (UNIFIED PRE-PROCESSOR)" - - name: "MetaData/sensorCentralFrequency" - type: floatVector - value: [19.35, 19.35, 22.235, 37.0, 37.0, 50.3, 52.8, 53.596, - 54.4, 55.5, 57.29, 59.4, 63.283248, 60.792668, 60.792668, 60.792668, - 60.792668, 60.792668, 91.665, 91.665, 150, 183.311, 183.311, 183.311] +# - name: "sensorCentralFrequency" +# type: floatVector +# dimensions: ["Channel"] +# value: [19.35, 19.35, 22.235, 37.0, 37.0, 50.3, 52.8, 53.596, +# 54.4, 55.5, 57.29, 59.4, 63.283248, 60.792668, 60.792668, 60.792668, +# 60.792668, 60.792668, 91.665, 91.665, 150, 183.311, 183.311, 183.311] variables: - - name: "MetaData/satelliteId" - source: variables/satelliteId - dimensions: ["nlocs"] + - name: "MetaData/satelliteIdentifier" + source: variables/satelliteIdentifier + dimensions: ["Location"] longName: "Satellite identification" units: "" - - name: "MetaData/channelNumber" - source: variables/channelNumber - dimensions: ["nchans"] - longName: "Channel number" - units: "" - - name: "MetaData/latitude" source: variables/latitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Latitude" units: "degrees_north" range: [-90, 90] - name: "MetaData/longitude" source: variables/longitude - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Longitude" units: "degrees_east" range: [-180, 180] - name: "MetaData/dateTime" source: variables/timestamp - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "dateTime" units: "seconds since 1970-01-01T00:00:00Z" + - name: "MetaData/scanLineNumber" + source: variables/scanLineNumber + dimensions: ["Location"] + longName: "Scan line number" + units: "" + - name: "MetaData/fieldOfViewNumber" source: variables/fieldOfViewNumber - dimensions: ["nlocs"] + dimensions: ["Location"] longName: "Field of view number" units: "" - - name: "MetaData/sensorAzimuthAngle" - source: variables/sensorAzimuthAngle - dimensions: ["nlocs"] - longName: "Sensor azimuth angle" - units: "degrees" - range: [0, 360] - - - name: "MetaData/surfaceFlag" - coordinates: "longitude latitude" - source: variables/surfaceFlag - dimensions: ["nlocs"] + - name: "MetaData/earthSurfaceType" + source: variables/earthSurfaceType + dimensions: ["Location"] longName: "Suface flag" - units: "code" + units: "" - - name: "MetaData/rainFlag" - coordinates: "longitude latitude" - source: variables/rainFlag - dimensions: ["nlocs"] + - name: "MetaData/qualityFlags" + source: variables/qualityFlags + dimensions: ["Location"] longName: "Rain flag" - units: "code" + units: "" + + - name: "MetaData/sensorChannelNumber" + source: variables/sensorChannelNumber + dimensions: ["Channel"] + longName: "Channel number" + units: "" - name: "ObsValue/brightnessTemperature" - coordinates: "longitude latitude nchans" source: variables/brightnessTemperature - dimensions: ["nlocs", "nchans"] + coordinates: "longitude latitude Channel" + dimensions: ["Location", "Channel"] longName: "Brightness temperature" units: "K" range: [120, 500] - chunks: [1000, 15] + chunks: [1000, 24] compressionLevel: 4 diff --git a/test/testinput/gdas.t00z.1bamua.tm00.bufr_d b/test/testinput/gdas.t00z.1bamua.tm00.bufr_d new file mode 100644 index 000000000..2b53e63f3 --- /dev/null +++ b/test/testinput/gdas.t00z.1bamua.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:abd06cad28d4bb5d18ee03ffd90a78bc6099ba543f76d6cdb99b0f8b90f6a5d8 +size 492555 diff --git a/test/testinput/gdas.t00z.1bhrs4.tm00.bufr_d b/test/testinput/gdas.t00z.1bhrs4.tm00.bufr_d index cdc7fe9d2..bbc30b310 100644 --- a/test/testinput/gdas.t00z.1bhrs4.tm00.bufr_d +++ b/test/testinput/gdas.t00z.1bhrs4.tm00.bufr_d @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6aa27e06ca5cca41952f6a39728001b138c2079d41bc2a1f59cad2a436417eb4 -size 501104 +oid sha256:dda9ac9eda2e1c5dffcce9b3774a1836e1d46181003e93984a20abe443b8b74c +size 271749 diff --git a/test/testinput/gdas.t00z.1bmhs.tm00.bufr_d b/test/testinput/gdas.t00z.1bmhs.tm00.bufr_d new file mode 100644 index 000000000..e91430c52 --- /dev/null +++ b/test/testinput/gdas.t00z.1bmhs.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c91f1d846f75c808a3944c6f6c2bb126f3632920dbdd0e167f3178f9e83f11c8 +size 941961 diff --git a/test/testinput/gdas.t00z.airsev.tm00.bufr_d b/test/testinput/gdas.t00z.airsev.tm00.bufr_d new file mode 100644 index 000000000..37b9ad514 --- /dev/null +++ b/test/testinput/gdas.t00z.airsev.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f929d61d06c3ec8612cb56a21c9ae391c9d79376d356bb52c49b67f2131a574 +size 380537 diff --git a/test/testinput/gdas.t00z.atms.tm00.bufr_d b/test/testinput/gdas.t00z.atms.tm00.bufr_d new file mode 100644 index 000000000..b0cd69743 --- /dev/null +++ b/test/testinput/gdas.t00z.atms.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:982c56d7173d765dde58797bfac37bbcfe28b8c2d22bdcf92ef4b7520607f679 +size 584798 diff --git a/test/testinput/gdas.t00z.avcsam.tm00.bufr_d b/test/testinput/gdas.t00z.avcsam.tm00.bufr_d new file mode 100644 index 000000000..445dc3989 --- /dev/null +++ b/test/testinput/gdas.t00z.avcsam.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:20f37fe4b9b0b7f0eca694c562696540f1b84e6851909651cbb466cf0aed41d5 +size 405237 diff --git a/test/testinput/gdas.t00z.crisf4.tm00.bufr_d b/test/testinput/gdas.t00z.crisf4.tm00.bufr_d new file mode 100644 index 000000000..024d7a5fa --- /dev/null +++ b/test/testinput/gdas.t00z.crisf4.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3bb2ebff85458875644569f2a503e0dcfa5da6fa344b8876ec409972c8e64af0 +size 792000 diff --git a/test/testinput/gdas.t00z.mtiasi.tm00.bufr_d b/test/testinput/gdas.t00z.mtiasi.tm00.bufr_d new file mode 100644 index 000000000..9fb5902dc --- /dev/null +++ b/test/testinput/gdas.t00z.mtiasi.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:521fd7f05f1fa15a95386b74cf856dba340180587d4d4d4f2ac43b095cfa242b +size 574611 diff --git a/test/testinput/gdas.t00z.sevcsr.tm00.bufr_d b/test/testinput/gdas.t00z.sevcsr.tm00.bufr_d new file mode 100644 index 000000000..70ee9b2c9 --- /dev/null +++ b/test/testinput/gdas.t00z.sevcsr.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8977151480d41ac15a127354e8393b276e3853b8fa47193e50aad45cbc0de37a +size 499917 diff --git a/test/testinput/gdas.t00z.ssmisu.tm00.bufr_d b/test/testinput/gdas.t00z.ssmisu.tm00.bufr_d new file mode 100644 index 000000000..c01801747 --- /dev/null +++ b/test/testinput/gdas.t00z.ssmisu.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd00bffeef1f3d3a4a5fb8275310a426e97fb77ba87adfdd007d29ba08696868 +size 604509 diff --git a/test/testinput/gdas.t18z.1bmhs.tm00.bufr_d b/test/testinput/gdas.t18z.1bmhs.tm00.bufr_d index 67b2294f5..d85d48ac5 100644 --- a/test/testinput/gdas.t18z.1bmhs.tm00.bufr_d +++ b/test/testinput/gdas.t18z.1bmhs.tm00.bufr_d @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6f8176608de9c3473784affadd9992d64154b443c674e47b6729a5bb444818d8 -size 601592 +oid sha256:c367930a85cc0ef8c649a320e5abdbbcccd52581cae57b63ae40e769fbc3d227 +size 322305 diff --git a/test/testoutput/gdas.t00z.1bamsua.tm00.nc b/test/testoutput/gdas.t00z.1bamsua.tm00.nc new file mode 100644 index 000000000..9d9c40777 --- /dev/null +++ b/test/testoutput/gdas.t00z.1bamsua.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ccfe44e77b5d6e3043b623d82025379a436b72fca7c124e73a06b83878548ff +size 751996 diff --git a/test/testoutput/gdas.t00z.1bhrs4.tm00.nc b/test/testoutput/gdas.t00z.1bhrs4.tm00.nc index 59fb13d91..b7a0e8fe8 100644 --- a/test/testoutput/gdas.t00z.1bhrs4.tm00.nc +++ b/test/testoutput/gdas.t00z.1bhrs4.tm00.nc @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:17b24d16a5d2a80cdd9ac2d9788ba5792405cde725afd023ad83a6a0ef2e732a -size 639909 +oid sha256:9510d0ea36b1d15a187dd8eb189366c0f85850a2e2f15f518d1a68c9d8472513 +size 416277 diff --git a/test/testoutput/gdas.t00z.airsev.tm00.nc b/test/testoutput/gdas.t00z.airsev.tm00.nc new file mode 100644 index 000000000..d5ea4df44 --- /dev/null +++ b/test/testoutput/gdas.t00z.airsev.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4e4add417ebb2b367300fa761c7d7af770496c5f6f793a44a98a282377c9dea4 +size 75289 diff --git a/test/testoutput/gdas.t00z.atms.tm00.nc b/test/testoutput/gdas.t00z.atms.tm00.nc new file mode 100644 index 000000000..76b35bc42 --- /dev/null +++ b/test/testoutput/gdas.t00z.atms.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:77d9251b041da01394737ed1da1cb9f2db6e950244cbb56adc0f5e099f43c89f +size 432204 diff --git a/test/testoutput/gdas.t00z.avcsam.tm00.nc b/test/testoutput/gdas.t00z.avcsam.tm00.nc new file mode 100644 index 000000000..fd78e96cd --- /dev/null +++ b/test/testoutput/gdas.t00z.avcsam.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9137c417faf5a03900c92d3625aac74104a8a0c3795b4e0b034324f4b58609ff +size 178778 diff --git a/test/testoutput/gdas.t00z.crisf4.tm00.nc b/test/testoutput/gdas.t00z.crisf4.tm00.nc new file mode 100644 index 000000000..604003c9e --- /dev/null +++ b/test/testoutput/gdas.t00z.crisf4.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:415e75fbbd176ff5ae7c4fb82a94faf53005beccfb17117293d137f4584caca1 +size 1294387 diff --git a/test/testoutput/gdas.t00z.mtiasi.tm00.nc b/test/testoutput/gdas.t00z.mtiasi.tm00.nc new file mode 100644 index 000000000..790c6cb70 --- /dev/null +++ b/test/testoutput/gdas.t00z.mtiasi.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:18b8d5f75790d58673fcd6ed846a0e9644b327efe4a63155c918209ab0057846 +size 658210 diff --git a/test/testoutput/gdas.t00z.sevcsr.tm00.nc b/test/testoutput/gdas.t00z.sevcsr.tm00.nc new file mode 100644 index 000000000..97a9aeeb8 --- /dev/null +++ b/test/testoutput/gdas.t00z.sevcsr.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eccb8a1979989132422bd72e96594f30b608a15d059317dbb137a8fec0d8f7e8 +size 241049 diff --git a/test/testoutput/gdas.t00z.ssmisu.tm00.nc b/test/testoutput/gdas.t00z.ssmisu.tm00.nc new file mode 100644 index 000000000..cb1e3d33f --- /dev/null +++ b/test/testoutput/gdas.t00z.ssmisu.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:599961c8e519956026aa75900889f594a1021b3f251b0bca98f5e9fd756e1921 +size 732450 diff --git a/test/testoutput/gdas.t12z.avcsam.tm00.nc b/test/testoutput/gdas.t12z.avcsam.tm00.nc new file mode 100644 index 000000000..b2b517da2 --- /dev/null +++ b/test/testoutput/gdas.t12z.avcsam.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:07bfbcf1c8e1f914e7644369d788c70f2881cf598c3f25eb4389a026e1e9aabd +size 178778 diff --git a/test/testoutput/gdas.t18z.1bmhs.tm00.nc b/test/testoutput/gdas.t18z.1bmhs.tm00.nc index f9524b82b..01601ad58 100644 --- a/test/testoutput/gdas.t18z.1bmhs.tm00.nc +++ b/test/testoutput/gdas.t18z.1bmhs.tm00.nc @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dbca2c9687f9350c9a6ca268a7110e6391b6e83e18ba38973e3876ff8d0072a8 -size 797761 +oid sha256:9a224c68c74cf29939a0827c728f4c1d8292ee7ee791bd35ae4cc623aa5c9d99 +size 435383