diff --git a/test/testinput/ADPSFC.data_thinned b/test/testinput/ADPSFC.data_thinned new file mode 100644 index 000000000..1babc02c2 Binary files /dev/null and b/test/testinput/ADPSFC.data_thinned differ diff --git a/test/testinput/adpsfc_prepbufr.yaml b/test/testinput/adpsfc_prepbufr.yaml new file mode 100644 index 000000000..4f750a370 --- /dev/null +++ b/test/testinput/adpsfc_prepbufr.yaml @@ -0,0 +1,398 @@ +# (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: "./ADPSFC.data_thinned" + + exports: + variables: + stationIdentification: + query: "*/SID" + prepbufrDataLvlCat: + query: "*/CAT" + prepbufrReportType: + query: "*/TYP" + dumpReportType: + query: "*/T29" + ObsTimeMinusCycleTime: + query: "*/DHR" + presentWeather: + query: "*/PREWXSEQ/PRWE" + longitude: + query: "*/XOB" + latitude: + query: "*/YOB" + stationElevation: + query: "*/ELV" + + heightOfObservation: + query: "*/Z___INFO/Z__EVENT/ZOB" + pressureReducedToMeanSeaLevel: + query: "*/PMSL_SEQ/PMO" + transforms: + - scale: 100 + pressure: + query: "*/P___INFO/P__EVENT/POB" + transforms: + - scale: 100 + pressureError: + query: "*/P___INFO/P__BACKG/POE" + transforms: + - scale: 100 + airTemperature: + query: "*/T___INFO/T__EVENT/TOB" + transforms: + - offset: 273.15 + airTemperatureError: + query: "*/T___INFO/T__BACKG/TOE" + dewpointTemperature: + query: "*/Q___INFO/TDO" + transforms: + - offset: 273.15 + minimumTemperature: + query: "*/TMXMNSEQ/MITM" + maximumTemperature: + query: "*/TMXMNSEQ/MXTM" + specificHumidity: + query: "*/Q___INFO/Q__EVENT/QOB" + transforms: + - scale: 0.000001 + relativeHumidityError: + query: "*/Q___INFO/Q__BACKG/QOE" + + horizontalVisibility: + query: "*/VISB1SEQ/HOVI" + cloudAmount: + query: "*/CLOUDSEQ/CLAM" + cloudCoverTotal: + query: "*/CLOU2SEQ/TOCC" + cloudCeiling: + query: "*/CLOU3SEQ/CEILING" + heightAboveSurfaceofBaseofLowestCloud: + query: "*/CLOU2SEQ/HBLCS" + heightOfBaseOfCloud: + query: "*/CLOUDSEQ/HOCB" + + seaSurfaceTemperature: + query: "*/SST_INFO/SSTEVENT/SST1" + seaSurfaceTemperatureError: + query: "*/SST_INFO/SSTBACKG/SSTOE" + heightOfWaves: + query: "*/WAVE_SEQ/HOWV" + depthBelowSeaSurface: + query: "*/SST_INFO/DBSS_SEQ/DBSS" + methodofTemperatureSeaSurfaceMeasurement: + query: "*/SST_INFO/MSST" + + windEastward: + query: "*/W___INFO/W__EVENT/UOB" + windNorthward: + query: "*/W___INFO/W__EVENT/VOB" + windError: + query: "*/W___INFO/W__BACKG/WOE" + windSpeedPeak: + query: "*/GUST1SEQ/MXGS" + + heightQM: + query: "*/Z___INFO/Z__EVENT/ZQM" + pressureQM: + query: "*/P___INFO/P__EVENT/PQM" + pressureReducedToMeanSeaLevelQM: + query: "*/PMSL_SEQ/PMQ" + airTemperatureQM: + query: "*/T___INFO/T__EVENT/TQM" + specificHumidityQM: + query: "*/Q___INFO/Q__EVENT/QQM" + verticalSignificanceSurfaceObservations: + query: "*/CLOUDSEQ/VSSO" + seaSurfaceTemperatureQM: + query: "*/SST_INFO/SSTEVENT/SSTQM" + windQM: + query: "*/W___INFO/W__EVENT/WQM" + + ioda: + backend: netcdf + obsdataout: "../testoutput/adpsfc_thinned.nc" + +# dimensions: +# - name: "nlocs" +# size: variables/latitude.nrows + + variables: + + - name: "MetaData/stationIdentification" + coordinates: "longitude latitude" + source: variables/stationIdentification + longName: "Station ID" + units: "" + + - name: "MetaData/prepbufrDataLvlCat" + coordinates: "longitude latitude" + source: variables/prepbufrDataLvlCat + longName: "Prepbufr Data Level Category" + units: "CODE TABLE" + + - name: "MetaData/prepbufrReportType" + coordinates: "longitude latitude" + source: variables/prepbufrReportType + longName: "Prepbufr Report Type" + units: "CODE TABLE" + + - name: "MetaData/dumpReportType" + coordinates: "longitude latitude" + source: variables/dumpReportType + longName: "Data Dump Report Type" + units: "CODE TABLE" + + - name: "MetaData/ObsTimeMinusCycleTime" + coordinates: "longitude latitude" + source: variables/ObsTimeMinusCycleTime + longName: "Present weather" + units: "CODE TABLE" + + - name: "ObsValue/presentWeather" + coordinates: "longitude latitude" + source: variables/presentWeather + longName: "Present weather" + units: "unitless" + + + - name: "MetaData/latitude" + coordinates: "longitude latitude" + source: variables/latitude + longName: "Latitude" + units: "degrees_north" + range: [-90, 90] + + - name: "MetaData/longitude" + coordinates: "longitude latitude" + source: variables/longitude + longName: "Longitude" + units: "degrees_east" + range: [0, 360] + + - name: "MetaData/stationElevation" + coordinates: "longitude latitude" + source: variables/stationElevation + longName: "Height of Station" + units: "Meter" + + - name: "ObsValue/heightOfObservation" + coordinates: "longitude latitude" + source: variables/heightOfObservation + longName: "Height of Observation" + units: "Meter" + + - name: "ObsValue/pressureReducedToMeanSeaLevel" + coordinates: "longitude latitude" + source: variables/pressureReducedToMeanSeaLevel + longName: "Mean Sea-Level Pressure" + units: "Pa" + range: [87000, 107000] + + - name: "ObsValue/pressure" + coordinates: "longitude latitude" + source: variables/pressure + longName: "Pressure" + units: "Pa" + range: [20000, 110000] + + - name: "ObsValue/pressureError" + coordinates: "longitude latitude" + source: variables/pressureError + longName: "Pressure Error" + units: "Pa" + + - name: "ObsValue/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperature + longName: "Temperature" + units: "Kelvin" + range: [193, 325] + + - name: "ObsValue/airTemperatureError" + coordinates: "longitude latitude" + source: variables/airTemperatureError + longName: "Temperature Error" + units: "Kelvin" + + - name: "ObsValue/dewpointTemperature" + coordinates: "longitude latitude" + source: variables/dewpointTemperature + longName: "Dew Point" + units: "Kelvin" + range: [193, 325] + + - name: "ObsValue/minimumTemperature" + coordinates: "longitude latitude" + source: variables/minimumTemperature + longName: "Minimum Temperature" + units: "Kelvin" + range: [193, 325] + + - name: "ObsValue/maximumTemperature" + coordinates: "longitude latitude" + source: variables/maximumTemperature + longName: "Maximum Temperature" + units: "Kelvin" + range: [193, 325] + + - name: "ObsValue/specificHumidity" + coordinates: "longitude latitude" + source: variables/specificHumidity + longName: "Specific Humidity" + units: "Kilogram Kilogram-1" + + - name: "ObsValue/relativeHumidityError" + coordinates: "longitude latitude" + source: variables/relativeHumidityError + longName: "Relative Humidity Error" + units: "Percent divided by 10" + + - name: "ObsValue/horizontalVisibility" + coordinates: "longitude latitude" + source: variables/horizontalVisibility + longName: "Horizontal Visibility" + units: "Meter" + + - name: "ObsValue/cloudAmount" + coordinates: "longitude latitude" + source: variables/cloudAmount + longName: "Cloud Amount" + units: "1" + + - name: "ObsValue/cloudCoverTotal" + coordinates: "longitude latitude" + source: variables/cloudCoverTotal + longName: "Cloud Cover" + units: "1" + + - name: "ObsValue/cloudCeiling" + coordinates: "longitude latitude" + source: variables/cloudCeiling + longName: "Cloud Ceiling" + units: "Meter" + + - name: "ObsValue/heightAboveSurfaceofBaseofLowestCloud" + coordinates: "longitude latitude" + source: variables/heightAboveSurfaceofBaseofLowestCloud + longName: "Height above Surface of Base of Lowest Cloud" + units: "Meter" + + - name: "ObsValue/heightOfBaseOfCloud" + coordinates: "longitude latitude" + source: variables/heightOfBaseOfCloud + longName: "Height of Base of Cloud" + units: "Meter" + + - name: "ObsValue/seaSurfaceTemperature" + coordinates: "longitude latitude" + source: variables/seaSurfaceTemperature + longName: "Sea Surface Temperature" + units: "Kelvin" + + - name: "ObsValue/seaSurfaceTemperatureError" + coordinates: "longitude latitude" + source: variables/seaSurfaceTemperatureError + longName: "Sea Surface Temperature Obs Error" + units: "Kelvin" + + - name: "ObsValue/heightOfWaves" + coordinates: "longitude latitude" + source: variables/heightOfWaves + longName: "Wave Height" + units: "Meter" + + - name: "ObsValue/depthBelowSeaSurface" + coordinates: "longitude latitude" + source: variables/depthBelowSeaSurface + longName: "Depth Below Sea Surface" + units: "Meter" + range: [-200, 0] + + - name: "ObsValue/methodofTemperatureSeaSurfaceMeasurement" + coordinates: "longitude latitude" + source: variables/methodofTemperatureSeaSurfaceMeasurement + longName: "Method of Sea Surface Measurement" + units: "CODE TABLE" + + - name: "ObsValue/windEastward" + coordinates: "longitude latitude" + source: variables/windEastward + longName: "Eastward Wind" + units: "Meter Second-1" + range: [-50, 50] + + - name: "ObsValue/windNorthward" + coordinates: "longitude latitude" + source: variables/windNorthward + longName: "Northward Wind" + units: "Meter Second-1" + range: [-50, 50] + + - name: "ObsValue/windError" + coordinates: "longitude latitude" + source: variables/windError + longName: "East and Northward wind error" + units: "Meter Second-1" + + + - name: "ObsValue/windSpeedPeak" + coordinates: "longitude latitude" + source: variables/windSpeedPeak + longName: "Maximum Wind Speed (Gusts)" + units: "Meter Second-1" + + - name: "QualityMarker/heightQM" + coordinates: "longitude latitude" + source: variables/heightQM + longName: "Height QM" + units: "CODE TABLE" + + - name: "QualityMarker/pressureQM" + coordinates: "longitude latitude" + source: variables/pressureQM + longName: "Pressure QM" + units: "CODE TABLE" + + - name: "QualityMarker/pressureReducedToMeanSeaLevelQM" + coordinates: "longitude latitude" + source: variables/pressureReducedToMeanSeaLevelQM + longName: "Mean Sea Level Pressure QM" + units: "CODE TABLE" + + - name: "QualityMarker/airTemperatureQM" + coordinates: "longitude latitude" + source: variables/airTemperatureQM + longName: "Temperature QM" + units: "CODE TABLE" + + - name: "QualityMarker/specificHumidityQM" + coordinates: "longitude latitude" + source: variables/specificHumidityQM + longName: "Specific Humidity QM" + units: "CODE TABLE" + + - name: "QualityMarker/ObsValue/verticalSignificanceSurfaceObservations" + coordinates: "longitude latitude" + source: variables/verticalSignificanceSurfaceObservations + longName: "Vertical Significance (Surface Observations)" + units: "CODE TABLE" + + - name: "QualityMarker/seaSurfaceTemperatureQM" + coordinates: "longitude latitude" + source: variables/seaSurfaceTemperatureQM + longName: "Sea Surface Temperature QM" + units: "CODE TABLE" + + - name: "QualityMarker/windQM" + coordinates: "longitude latitude" + source: variables/windQM + longName: "U, V-Component of Wind QM" + units: "CODE TABLE" + diff --git a/test/testoutput/adpsfc_thinned.nc b/test/testoutput/adpsfc_thinned.nc new file mode 100644 index 000000000..01c036868 --- /dev/null +++ b/test/testoutput/adpsfc_thinned.nc @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9b870cac49b4aa28ca2eb1ac779eb78ddb619147deebeafbd79bf327cb2ae3a9 +size 275297