diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index bf84f03b8..710eed19d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -146,7 +146,6 @@ if( iodaconv_bufr_ENABLED ) testinput/gdas.t12z.mtiasi.tm00.bufr_d testinput/gdas.t18z.1bmhs.tm00.bufr_d testinput/gdas.t00z.1bhrs4.tm00.bufr_d - testinput/gdas.t06z.adpsfc.tm00.bufr_d testinput/gdas.t00z.sevcsr.tm00.bufr_d testinput/gdas.t18z.satwnd_avhrr.tm00.bufr_d testinput/bufr_read_2_dim_blocks.bufr @@ -163,7 +162,11 @@ if( iodaconv_bufr_ENABLED ) testinput/bufr_filtering.yaml testinput/bufr_splitting.yaml testinput/bufr_filter_split.yaml - testinput/bufr_adpsfc.yaml + testinput/bufr_ncep_prepbufr_adpsfc.yaml + testinput/bufr_ncep_adpsfc.yaml + testinput/gdas.t12z.adpsfc.prepbufr + testinput/gdas.t06z.adpsfc.tm00.bufr_d + testinput/gdas.t12z.adpsfc.tm00.bufr_d testinput/bufr_ncep_snow_adpsfc.yaml testinput/bufr_read_2_dim_blocks.yaml testinput/bufr_ncep_1bamua.yaml @@ -216,7 +219,8 @@ if( iodaconv_bufr_ENABLED ) testoutput/gdas.t12z.esamua.tm00.noaa-18.nc testoutput/gdas.t12z.1bmhs.tm00.metop-b.nc testoutput/gdas.t12z.esmhs.tm00.noaa-19.nc - testoutput/gdas.t06z.adpsfc.tm00.nc + testoutput/gdas.t12z.adpsfc.prepbufr.nc + testoutput/gdas.t12z.adpsfc.tm00.nc testoutput/gdas.t06z.adpsfc_snow.tm00.nc testoutput/gdas.t00z.sevcsr.tm00.nc testoutput/bufr_read_2_dim_blocks.nc @@ -983,13 +987,22 @@ if(iodaconv_bufr_ENABLED) gdas.t12z.esmhs.tm00.noaa-19.nc ${IODA_CONV_COMP_TOL_ZERO} DEPENDS bufr2ioda.x ) - ecbuild_add_test( TARGET test_iodaconv_bufr_adpsfc2ioda + ecbuild_add_test( TARGET test_iodaconv_bufr_ncep_adpsfc2ioda + TYPE SCRIPT + COMMAND bash + ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh + netcdf + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_ncep_adpsfc.yaml" + gdas.t12z.adpsfc.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + DEPENDS bufr2ioda.x ) + + ecbuild_add_test( TARGET test_iodaconv_prepbufr_ncep_adpsfc2ioda TYPE SCRIPT COMMAND bash ARGS ${CMAKE_BINARY_DIR}/bin/iodaconv_comp.sh netcdf - "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_adpsfc.yaml" - gdas.t06z.adpsfc.tm00.nc ${IODA_CONV_COMP_TOL_ZERO} + "${CMAKE_BINARY_DIR}/bin/bufr2ioda.x testinput/bufr_ncep_prepbufr_adpsfc.yaml" + gdas.t12z.adpsfc.prepbufr.nc ${IODA_CONV_COMP_TOL_ZERO} DEPENDS bufr2ioda.x ) ecbuild_add_test( TARGET test_iodaconv_bufr_ncep_snowadpsfc2ioda diff --git a/test/testinput/bufr_adpsfc.yaml b/test/testinput/bufr_adpsfc.yaml deleted file mode 100644 index b7d6b890a..000000000 --- a/test/testinput/bufr_adpsfc.yaml +++ /dev/null @@ -1,130 +0,0 @@ -# (C) Copyright 2020 NOAA/NWS/NCEP/EMC -# -# 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.t06z.adpsfc.tm00.bufr_d" - - exports: - variables: - timestamp: - datetime: - year: "[*/YEAR[1], */YEAR]" - month: "[*/MNTH[1], */MNTH]" - day: "[*/DAYS[1], */DAYS]" - hour: "[*/HOUR[1], */HOUR]" - minute: "[*/MINU[1], */MINU]" - WMOBlock: - query: "*/WMOB" - WMOStation: - query: "*/WMOS" - longitude: - query: "*/CLON" - latitude: - query: "*/CLAT" - pressureAir: - query: "*/PRES" - pressureMeanSeaLevel: - query: "*/PMSL" - stationElevation: - query: "*/SELV" - temperatureAir: - query: "*/TMDB" - temperatureDewpoint: - query: "*/TMDP" - windDirection: - query: "*/WDIR" - windSpeed: - query: "*/WSPD" - hourofreceipt: - query: "[*/RCHR, */RCPTIM/RCHR]" - minuteofreceipt: - query: "[*/RCMI, */RCPTIM/RCMI]" - ioda: - backend: netcdf - obsdataout: "./testrun/gdas.t06z.adpsfc.tm00.nc" - - variables: - - name: "dateTime@MetaData" - source: variables/timestamp - longName: "dateTime" - units: "seconds since 1970-01-01T00:00:00Z" - - - name: "WMOBlock@MetaData" - source: variables/WMOBlock - longName: "WMO_BLOCK_NUMBER" - units: "" - - - name: "WMOStation@MetaData" - source: variables/WMOStation - longName: "WMO_STATION_NUMBER" - units: "" - - - name: "latitude@MetaData" - source: variables/latitude - longName: "LATITUDE (COARSE ACCURACY)" - units: "degrees_north" - range: [-90, 90] - - - name: "longitude@MetaData" - source: variables/longitude - longName: "LONGITUDE (COARSE ACCURACY)" - units: "degrees_east" - range: [-180, 180] - - - name: "stationElevation@MetaData" - coordinates: "longitude latitude" - source: variables/stationElevation - longName: "HEIGHT OF STATION" - units: "Meter" - - - name: "pressureAir@ObsValue" - coordinates: "longitude latitude" - source: variables/pressureAir - longName: "PRESSURE" - units: "Pa" - - - name: "pressureMeanSeaLevel@ObsValue" - coordinates: "longitude latitude" - source: variables/pressureMeanSeaLevel - longName: "PRESSURE REDUCED TO MSL" - units: "Pa" - - - name: "temperatureAir@ObsValue" - source: variables/temperatureAir - longName: "TEMPERATURE/DRY BULB TEMPERATURE" - units: "K" - - - name: "temperatureDewpoint@ObsValue" - coordinates: "longitude latitude" - source: variables/temperatureDewpoint - longName: "DEW POINT TEMPERATURE" - units: "K" - - - name: "windDirection@ObsValue" - coordinates: "longitude latitude" - source: variables/windDirection - longName: "WIND DIRECTION" - units: "Degrees True" - - - name: "windSpeed@ObsValue" - coordinates: "longitude latitude" - source: variables/windSpeed - longName: "WIND SPEED" - units: "METERS/SECOND" - - - name: "hourofreceipt@MetaData" - coordinates: "longitude latitude" - source: variables/hourofreceipt - longName: "HOUR - TIME OF RECEIPT" - units: "HOUR" - - - name: "minuteofreceipt@MetaData" - coordinates: "longitude latitude" - source: variables/minuteofreceipt - longName: "MINUTE - TIME OF RECEIPT" - units: "MINUTE" diff --git a/test/testinput/bufr_ncep_adpsfc.yaml b/test/testinput/bufr_ncep_adpsfc.yaml new file mode 100644 index 000000000..43344ed66 --- /dev/null +++ b/test/testinput/bufr_ncep_adpsfc.yaml @@ -0,0 +1,277 @@ +# (C) Copyright 2020 NOAA/NWS/NCEP/EMC +# # +# # 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.t12z.adpsfc.tm00.bufr_d" + + exports: + variables: + # MetaData + timestamp: + datetime: + year: "*/YEAR[1]" + month: "*/MNTH[1]" + day: "*/DAYS[1]" + hour: "*/HOUR[1]" + minute: "*/MINU[1]" + latitude: + query: "[*/CLAT, */CLATH]" + longitude: + query: "[*/CLON, */CLONH]" + stationIdentification: + query: "*/RPID" + stationElevation: + query: "[*/SELV, */HSMSL]" + waterTemperatureMethod: + query: "*/MSST" + + # ObsValue + pressure: + query: "*/PRES" + pressureReducedToMeanSeaLevel: + query: "*/PMSL" + altimeterSettingQnh: + query: "*/ALSE" + airTemperature: + query: "*/TMDB" + dewpointTemperature: + query: "*/TMDP" + windDirection: + query: "*/WDIR" + windSpeed: + query: "*/WSPD" + + # ObsValue - ocean + # DBSS (depth below water surface) not found + waterTemperature: + query: "*/SST1" + heightOfWaves: + query: "*/WAVSQ1/HOWV" + + # ObsValue - cloud, visibility, gust wind, min/max temperature, weather + # CEILING (cloud ceiling) not found + cloudCoverTotal: + query: "*/TOCC" + transforms: + - scale: 0.01 + cloudAmountDescription: + query: "[*/CLDSQ1/CLAM, */MTRCLD/CLAM, NC000100/CLAM, NC000101/CLAM, NC000102/CLAM]" + heightAboveSurfaceOfBaseOfLowestCloud: + query: "*/HBLCS" + heightOfBaseOfCloud: + query: "[*/CLDSQ1/HOCB, */MTRCLD/HOCB, NC000100/HOCB, NC000101/HOCB, NC000102/HOCB]" + verticalSignificanceSurfaceObservations: + query: "[*/CLDSQ1/VSSO, */MTRCLD/VSSO, NC000100/VSSO[1], NC000101/VSSO[1], NC000102/VSSO[1]]" + verticalVisibility: + query: "[*/RPSEC3/VTVI, */VTVI]" + horizontalVisibility: + query: "*/HOVI" + minimumTemperature: + query: "[*/TMPSQ3/MITM, */MTTPSQ/MITM, NC000100/BSYEXTM/MITM[1], NC000101/BSYEXTM/MITM[1], NC000102/BSYEXTM/MITM[1]]" + maximumTemperature: + query: "[*/TMPSQ3/MXTM, */MTTPSQ/MXTM, */BSYEXTM/MXTM]" + maximumWindGustSpeed: + query: "[*/WNDSQ2/MXGS, */MTGUST/MXGS, */BSYWND2/MXGS]" + presentWeather: + query: "[*/PPWSQ1/PRWE, */MTRPRW/PRWE, */PWEATHER/PRWE]" + + # QualityMarker + airTemperatureQM: + query: "*/QMAT" + dewpointTemperatureQM: + query: "*/QMDD" + pressureQM: + query: "*/QMPR" + + ioda: + backend: netcdf + obsdataout: "testrun/gdas.t12z.adpsfc.tm00.nc" + + dimensions: + - name: CloudSequence + path: "*/CLDSQ1" + - name: MaxMinTemperatureSequence + path: "*/MTTPSQ" + - name: SynopticWindSequence + path: "*/BSYWND2" + - name: PresentWeatherSequence + path: "*/MTRPRW" + + variables: + + # MetaData + - name: "MetaData/dateTime" + coordinates: "longitude latitude" + source: variables/timestamp + longName: "Datetime" + units: "seconds since 1970-01-01T00:00:00Z" + + - name: "MetaData/latitude" + coordinates: "longitude latitude" + source: variables/latitude + longName: "Latitude" + units: "degree_north" + range: [-90, 90] + + - name: "MetaData/longitude" + coordinates: "longitude latitude" + source: variables/longitude + longName: "Longitude" + units: "degree_east" + range: [-180, 180] + + - name: "MetaData/stationIdentification" + coordinates: "longitude latitude" + source: variables/stationIdentification + longName: "Station Identification" + + - name: "MetaData/stationElevation" + coordinates: "longitude latitude" + source: variables/stationElevation + longName: "Elevation of Observing Location" + units: "m" + + - name: "MetaData/waterTemperatureMethod" + coordinates: "longitude latitude" + source: variables/waterTemperatureMethod + longName: "Method of Water Temperature Measurement" + + # ObsValue + - name: "ObsValue/altimeterSettingQnh" + coordinates: "longitude latitude" + source: variables/altimeterSettingQnh + longName: "Altimeter Setting Qnh" + + - name: "ObsValue/pressure" + coordinates: "longitude latitude" + source: variables/pressure + longName: "Pressure" + units: "Pa" + + - name: "ObsValue/pressureReducedToMeanSeaLevel" + coordinates: "longitude latitude" + source: variables/pressureReducedToMeanSeaLevel + longName: "Mean Sea-Level Pressure" + units: "Pa" + + - name: "ObsValue/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperature + longName: "Air Temperature" + units: "K" + + - name: "ObsValue/dewpointTemperature" + coordinates: "longitude latitude" + source: variables/dewpointTemperature + longName: "Dewpoint Temperature" + units: "K" + + - name: "ObsValue/windDirection" + coordinates: "longitude latitude" + source: variables/windDirection + longName: "Wind Direction" + units: "degree" + + - name: "ObsValue/windSpeed" + coordinates: "longitude latitude" + source: variables/windSpeed + longName: "Wind Speed" + units: "m s-1" + + # ObsValue - ocean + - name: "ObsValue/waterTemperature" + coordinates: "longitude latitude" + source: variables/waterTemperature + longName: "Water Temperature" + units: "K" + + - name: "ObsValue/heightOfWaves" + coordinates: "longitude latitude" + source: variables/heightOfWaves + longName: "Height of Waves" + units: "m" + + # ObsValue - cloud, visibility, gust wind, min/max temperature, weather + - name: "ObsValue/cloudCoverTotal" + coordinates: "longitude latitude" + source: variables/cloudCoverTotal + longName: "Total Cloud Coverage" + units: "1" + - name: "ObsValue/cloudAmountDescription" + coordinates: "longitude latitude" + source: variables/cloudAmountDescription + longName: "Description of Cloud Amount" + + - name: "ObsValue/heightAboveSurfaceOfBaseOfLowestCloud" + coordinates: "longitude latitude" + source: variables/heightAboveSurfaceOfBaseOfLowestCloud + longName: "Height Above Surface of Base of Lowest Cloud Seen" + units: "m" + + - name: "ObsValue/heightOfBaseOfCloud" + coordinates: "longitude latitude" + source: variables/heightOfBaseOfCloud + longName: "Cloud Base Altitude" + units: "m" + + - name: "ObsValue/verticalSignificanceSurfaceObservations" + coordinates: "longitude latitude" + source: variables/verticalSignificanceSurfaceObservations + longName: "Description of Vertical Significance (Surface Observations)" + + - name: "ObsValue/horizontalVisibility" + coordinates: "longitude latitude" + source: variables/horizontalVisibility + longName: "Horizontal Visibility" + units: "m" + + - name: "ObsValue/verticalVisibility" + coordinates: "longitude latitude" + source: variables/verticalVisibility + longName: "Vertical Visibility" + units: "m" + + - name: "ObsValue/minimumTemperature" + coordinates: "longitude latitude" + source: variables/minimumTemperature + longName: "Minimum Temperature at Height and Over Period Specified" + units: "K" + + - name: "ObsValue/maximumTemperature" + coordinates: "longitude latitude" + source: variables/maximumTemperature + longName: "Maximum Temperature at Height and Over Period Specified" + units: "K" + + - name: "ObsValue/maximumWindGustSpeed" + coordinates: "longitude latitude" + source: variables/maximumWindGustSpeed + longName: "Maximum Wind Gust Speed" + units: "m s-1" + + - name: "ObsValue/presentWeather" + coordinates: "longitude latitude" + source: variables/presentWeather + longName: "Description of Present Weather" + + # QualityMarker + - name: "QualityMarker/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperatureQM + longName: "Quality Indicator for Atmospheric Temperature" + + - name: "QualityMarker/dewpointTemperature" + coordinates: "longitude latitude" + source: variables/dewpointTemperatureQM + longName: "Quality Indicator for Dewpoint Temperature" + + - name: "QualityMarker/pressure" + coordinates: "longitude latitude" + source: variables/pressureQM + longName: "Quality Indicator for Pressure" diff --git a/test/testinput/bufr_ncep_prepbufr_adpsfc.yaml b/test/testinput/bufr_ncep_prepbufr_adpsfc.yaml new file mode 100644 index 000000000..c9f26fade --- /dev/null +++ b/test/testinput/bufr_ncep_prepbufr_adpsfc.yaml @@ -0,0 +1,419 @@ +# (C) Copyright 2020 NOAA/NWS/NCEP/EMC +# +# 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.t12z.adpsfc.prepbufr" + + exports: + variables: + # MetaData + obsTimeMinusCycleTime: + query: "*/DHR" + prepbufrDataLevelCategory: + query: "*/CAT" + prepbufrReportType: + query: "*/TYP" + dumpReportType: + query: "*/T29" + longitude: + query: "*/XOB" + latitude: + query: "*/YOB" + stationIdentification: + query: "*/SID" + stationElevation: + query: "*/ELV" + waterTemperatureMethod: + query: "*/SST_INFO/MSST" + + # ObsValue + heightOfObservation: + query: "*/Z___INFO/Z__EVENT/ZOB" + pressure: + query: "*/P___INFO/P__EVENT/POB" + transforms: + - scale: 100 + pressureReducedToMeanSeaLevel: + query: "*/PMSL_SEQ/PMO" + transforms: + - scale: 100 + airTemperature: + query: "*/T___INFO/T__EVENT/TOB" + transforms: + - offset: 273.15 + dewpointTemperature: + query: "*/Q___INFO/TDO" + transforms: + - offset: 273.15 + specificHumidity: + query: "*/Q___INFO/Q__EVENT/QOB" + transforms: + - scale: 0.000001 + windEastward: + query: "*/W___INFO/W__EVENT/UOB" + windNorthward: + query: "*/W___INFO/W__EVENT/VOB" + + # ObsValue - ocean + waterTemperature: + query: "*/SST_INFO/SSTEVENT/SST1" + heightOfWaves: + query: "*/WAVE_SEQ/HOWV" + depthBelowWaterSurface: + query: "*/SST_INFO/DBSS_SEQ/DBSS" + + # ObsValue - cloud, cloud ceiling, visibility, gust wind, min/max temperature, weather + # note: cloud ceiling is a derivative of HOCB, the height of cloud base + cloudCoverTotal: + query: "*/CLOU2SEQ/TOCC" + transforms: + - scale: 0.01 + cloudAmountDescription: + query: "*/CLOUDSEQ/CLAM" + cloudCeiling: + query: "*/CLOU3SEQ/CEILING" + heightAboveSurfaceOfBaseOfLowestCloud: + query: "*/CLOU2SEQ/HBLCS" + heightOfBaseOfCloud: + query: "*/CLOUDSEQ/HOCB" + verticalSignificanceSurfaceObservations: + query: "*/CLOUDSEQ/VSSO" + verticalVisibility: + query: "*/VISB1SEQ/VTVI_SEQ/VTVI" + horizontalVisibility: + query: "*/VISB1SEQ/HOVI" + minimumTemperature: + query: "*/TMXMNSEQ/MITM" + maximumTemperature: + query: "*/TMXMNSEQ/MXTM" + maximumWindGustSpeed: + query: "*/GUST1SEQ/MXGS" + presentWeather: + query: "*/PREWXSEQ/PRWE" + + # QualityMarker + heightQualityMarker: + query: "*/Z___INFO/Z__EVENT/ZQM" + pressureQualityMarker: + query: "*/P___INFO/P__EVENT/PQM" + pressureReducedToMeanSeaLevelQualityMarker: + query: "*/PMSL_SEQ/PMQ" + airTemperatureQualityMarker: + query: "*/T___INFO/T__EVENT/TQM" + specificHumidityQualityMarker: + query: "*/Q___INFO/Q__EVENT/QQM" + waterTemperatureQualityMarker: + query: "*/SST_INFO/SSTEVENT/SSTQM" + windEastwardQualityMarker: + query: "*/W___INFO/W__EVENT/WQM" + windNorthwardQualityMarker: + query: "*/W___INFO/W__EVENT/WQM" + + # ObsError + pressureError: + query: "*/P___INFO/P__BACKG/POE" + transforms: + - scale: 100 + airTemperatureError: + query: "*/T___INFO/T__BACKG/TOE" + relativeHumidityError: + query: "*/Q___INFO/Q__BACKG/QOE" + transforms: + - scale: 0.1 + waterTemperatureError: + query: "*/SST_INFO/SSTBACKG/SSTOE" + windSpeedError: + query: "*/W___INFO/W__BACKG/WOE" + + ioda: + backend: netcdf + obsdataout: "testrun/gdas.t12z.adpsfc.prepbufr.nc" + + dimensions: + - name: CloudSequence + path: "*/CLOUDSEQ" + - name: MaxMinTemperatureSequence + path: "*/TMXMNSEQ" + - name: PresentWeatherSequence + path: "*/PREWXSEQ" + - name: HeightEvent + path: "*/Z___INFO/Z__EVENT" + - name: PressureEvent + path: "*/P___INFO/P__EVENT" + - name: TemperatureEvent + path: "*/T___INFO/T__EVENT" + - name: HumidityEvent + path: "*/Q___INFO/Q__EVENT" + - name: WaterTemperatureEvent + path: "*/SST_INFO/SSTEVENT" + - name: WindEvent + path: "*/W___INFO/W__EVENT" + + variables: + + # MetaData + - name: "MetaData/obsTimeMinusCycleTime" + coordinates: "longitude latitude" + source: variables/obsTimeMinusCycleTime + longName: "Observation Time Minus Cycle Time" + units: "Hour" + + - name: "MetaData/prepbufrDataLevelCategory" + coordinates: "longitude latitude" + source: variables/prepbufrDataLevelCategory + longName: "Prepbufr Data Level Category" + + - name: "MetaData/prepbufrReportType" + coordinates: "longitude latitude" + source: variables/prepbufrReportType + longName: "Prepbufr Report Type" + + - name: "MetaData/dumpReportType" + coordinates: "longitude latitude" + source: variables/dumpReportType + longName: "Data Dump Report Type" + + - name: "MetaData/latitude" + coordinates: "longitude latitude" + source: variables/latitude + longName: "Latitude" + units: "degree_north" + range: [-90, 90] + + - name: "MetaData/longitude" + coordinates: "longitude latitude" + source: variables/longitude + longName: "Longitude" + units: "degree_east" + range: [0, 360] + + - name: "MetaData/stationIdentification" + coordinates: "longitude latitude" + source: variables/stationIdentification + longName: "Station Identification" + + - name: "MetaData/stationElevation" + coordinates: "longitude latitude" + source: variables/stationElevation + longName: "Elevation of Observing Location" + units: "m" + + - name: "MetaData/waterTemperatureMethod" + coordinates: "longitude latitude" + source: variables/waterTemperatureMethod + longName: "Method of Water Temperature Measurement" + + # ObsValue + - name: "ObsValue/heightOfObservation" + coordinates: "longitude latitude" + source: variables/heightOfObservation + longName: "Height of Observation (Station)" + units: "m" + + - name: "ObsValue/pressure" + coordinates: "longitude latitude" + source: variables/pressure + longName: "Pressure" + units: "Pa" + + - name: "ObsValue/pressureReducedToMeanSeaLevel" + coordinates: "longitude latitude" + source: variables/pressureReducedToMeanSeaLevel + longName: "Mean Sea-Level Pressure" + units: "Pa" + + - name: "ObsValue/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperature + longName: "Temperature" + units: "K" + + - name: "ObsValue/dewpointTemperature" + coordinates: "longitude latitude" + source: variables/dewpointTemperature + longName: "Dewpoint Temperature" + units: "K" + + - name: "ObsValue/specificHumidity" + coordinates: "longitude latitude" + source: variables/specificHumidity + longName: "Specific Humidity" + units: "kg kg-1" + + - name: "ObsValue/windEastward" + coordinates: "longitude latitude" + source: variables/windEastward + longName: "Eastward Wind" + units: "m s-1" + + - name: "ObsValue/windNorthward" + coordinates: "longitude latitude" + source: variables/windNorthward + longName: "Northward Wind" + units: "m s-1" + + # ObsValue - ocean + - name: "ObsValue/waterTemperature" + coordinates: "longitude latitude" + source: variables/waterTemperature + longName: "Water Temperature" + units: "K" + + - name: "ObsValue/heightOfWaves" + coordinates: "longitude latitude" + source: variables/heightOfWaves + longName: "Height of Waves" + units: "m" + + - name: "ObsValue/depthBelowWaterSurface" + coordinates: "longitude latitude" + source: variables/depthBelowWaterSurface + longName: "Depth Below Water Surface" + units: "m" + + # Observation - cloud, visibility, gust wind, min/max temperature + - name: "ObsValue/cloudCoverTotal" + coordinates: "longitude latitude" + source: variables/cloudCoverTotal + longName: "Total Cloud Coverage" + units: "1" + + - name: "ObsValue/cloudAmountDescription" + coordinates: "longitude latitude" + source: variables/cloudAmountDescription + longName: "Description of Cloud Amount" + + - name: "ObsValue/cloudCeiling" + coordinates: "longitude latitude" + source: variables/cloudCeiling + longName: "Cloud Ceiling" + units: "m" + + - name: "ObsValue/heightAboveSurfaceOfBaseOfLowestCloud" + coordinates: "longitude latitude" + source: variables/heightAboveSurfaceOfBaseOfLowestCloud + longName: "Height above Surface of Base of Lowest Cloud Seen" + units: "m" + + - name: "ObsValue/heightOfBaseOfCloud" + coordinates: "longitude latitude" + source: variables/heightOfBaseOfCloud + longName: "Height of Base of Cloud" + units: "m" + + - name: "ObsValue/verticalSignificanceSurfaceObservations" + coordinates: "longitude latitude" + source: variables/verticalSignificanceSurfaceObservations + longName: "Description of Vertical Significance (Surface Observations)" + + - name: "ObsValue/horizontalVisibility" + coordinates: "longitude latitude" + source: variables/horizontalVisibility + longName: "Horizontal Visibility" + units: "m" + + - name: "ObsValue/verticalVisibility" + coordinates: "longitude latitude" + source: variables/verticalVisibility + longName: "Vertical Visibility" + units: "m" + + - name: "ObsValue/minimumTemperature" + coordinates: "longitude latitude" + source: variables/minimumTemperature + longName: "Minimum Temperature at Height and Over Period Specified" + units: "K" + + - name: "ObsValue/maximumTemperature" + coordinates: "longitude latitude" + source: variables/maximumTemperature + longName: "Maximum Temperature at Height and Over Period Specified" + units: "K" + + - name: "ObsValue/maximumWindGustSpeed" + coordinates: "longitude latitude" + source: variables/maximumWindGustSpeed + longName: "Maximum Wind Gust Speed" + units: "m s-1" + + - name: "ObsValue/presentWeather" + coordinates: "longitude latitude" + source: variables/presentWeather + longName: "Description of Present Weather" + + # QualityMarker + - name: "QualityMarker/height" + coordinates: "longitude latitude" + source: variables/heightQualityMarker + longName: "Height Quality Marker" + + - name: "QualityMarker/pressure" + coordinates: "longitude latitude" + source: variables/pressureQualityMarker + longName: "Pressure Quality Marker" + + - name: "QualityMarker/pressureReducedToMeanSeaLevel" + coordinates: "longitude latitude" + source: variables/pressureReducedToMeanSeaLevelQualityMarker + longName: "Mean Sea Level Pressure Quality Marker" + + - name: "QualityMarker/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperatureQualityMarker + longName: "Temperature Quality Marker" + + - name: "QualityMarker/specificHumidity" + coordinates: "longitude latitude" + source: variables/specificHumidityQualityMarker + longName: "Specific Humidity Quality Marker" + + - name: "QualityMarker/waterTemperature" + coordinates: "longitude latitude" + source: variables/waterTemperatureQualityMarker + longName: "Water Temperature Quality Marker" + + - name: "QualityMarker/windNorthward" + coordinates: "longitude latitude" + source: variables/windNorthwardQualityMarker + longName: "U, V-Component of Wind Quality Marker" + + - name: "QualityMarker/windEastward" + coordinates: "longitude latitude" + source: variables/windEastwardQualityMarker + longName: "U, V-Component of Wind Quality Marker" + + # ObsError + - name: "ObsError/pressure" + coordinates: "longitude latitude" + source: variables/pressureError + longName: "Pressure Error" + units: "Pa" + + - name: "ObsError/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperatureError + longName: "Temperature Error" + units: "K" + + - name: "ObsError/relativeHumidity" + coordinates: "longitude latitude" + source: variables/relativeHumidityError + longName: "Relative Humidity Error" + units: "1" + + - name: "ObsError/waterTemperature" + coordinates: "longitude latitude" + source: variables/waterTemperatureError + longName: "Water Temperature Obs Error" + units: "K" + + - name: "ObsError/windSpeed" + coordinates: "longitude latitude" + source: variables/windSpeedError + longName: "East and Northward wind error" + units: "m s-1" diff --git a/test/testinput/gdas.t12z.adpsfc.prepbufr b/test/testinput/gdas.t12z.adpsfc.prepbufr new file mode 100644 index 000000000..1babc02c2 Binary files /dev/null and b/test/testinput/gdas.t12z.adpsfc.prepbufr differ diff --git a/test/testinput/gdas.t12z.adpsfc.tm00.bufr_d b/test/testinput/gdas.t12z.adpsfc.tm00.bufr_d new file mode 100644 index 000000000..b8440c0d2 --- /dev/null +++ b/test/testinput/gdas.t12z.adpsfc.tm00.bufr_d @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:342c674293ca16293193ed958bc2ed9af54b58e4df9506e7ee011de0bd5ffa82 +size 837416 diff --git a/test/testoutput/gdas.t06z.adpsfc.tm00.nc b/test/testoutput/gdas.t06z.adpsfc.tm00.nc deleted file mode 100644 index 7ee0d40f5..000000000 --- a/test/testoutput/gdas.t06z.adpsfc.tm00.nc +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:35738aad8cb143a794828b4b1de6740ae3cfc483f060ad46f5b822244cd3f142 -size 1071920 diff --git a/test/testoutput/gdas.t12z.adpsfc.prepbufr.nc b/test/testoutput/gdas.t12z.adpsfc.prepbufr.nc new file mode 100644 index 000000000..d57e9f3ed --- /dev/null +++ b/test/testoutput/gdas.t12z.adpsfc.prepbufr.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fff95d791b5c039dd00735b215be31f7ea0f1589620c0cb01a02c206c03b550 +size 285162 diff --git a/test/testoutput/gdas.t12z.adpsfc.tm00.nc b/test/testoutput/gdas.t12z.adpsfc.tm00.nc new file mode 100644 index 000000000..e1438ebbf --- /dev/null +++ b/test/testoutput/gdas.t12z.adpsfc.tm00.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7d58b8c1df7ee2f6ecf808865c0ef892388949e5fae44a0f7a120fad86954400 +size 325767