diff --git a/rrfs-test/IODA/yaml/bufr_ncep_ztd.yaml b/rrfs-test/IODA/yaml/bufr_ncep_ztd.yaml new file mode 100644 index 00000000..4f532aaa --- /dev/null +++ b/rrfs-test/IODA/yaml/bufr_ncep_ztd.yaml @@ -0,0 +1,147 @@ +# (C) Copyright 2025 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 of gpsipw dump + + obsdatain: "./2024052700.rap.t00z.gpsipw.tm00.bufr_d" + + exports: + subsets: + - NC012004 + variables: + # MetaData + timestamp: + datetime: + year: "*/YEAR" + month: "*/MNTH" + day: "*/DAYS" + hour: "*/HOUR" + minute: "*/MINU" + stationName: + query: "*/STSN" + latitude: + query: "*/CLATH" + longitude: + query: "*/CLONH" + stationElevation: + query: "*/SELV" + height: + query: "*/SELV" + pressure: + query: "*/PRES" + airTemperature: + query: "*/TMDBST" + pathAzimuth: + query: "*/GNSSRPSQ{1}/BEARAZ" + pathElevation: + query: "*/GNSSRPSQ{1}/ELEV" + + # ObsError + zenithTotalDelayErr: + query: "*/GNSSRPSQ{1}/APDE" + + # QualityMarker + zenithTotalDelayQC: + query: "*/GNSSRPSQ{1}/APDE" + transforms: + - scale: 1000.0 + + # ObsValue + zenithTotalDelay: + query: "*/GNSSRPSQ{1}/APDS" + + ioda: + backend: netcdf + obsdataout: "./2024052700.rap.t00z.ztd.tm00.bufr_d.nc" + + 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/stationName" + coordinates: "longitude latitude" + source: variables/stationName + longName: "Station Name" + + - name: "MetaData/stationElevation" + coordinates: "longitude latitude" + source: variables/stationElevation + longName: "Station Elevation/height above MSL" + units: "m" + + - name: "MetaData/pressure" + coordinates: "longitude latitude" + source: variables/pressure + longName: "Pressure at Station height" + units: "Pa" + + - name: "MetaData/height" + coordinates: "longitude latitude" + source: variables/height + longName: "Station height" + units: "m" + + - name: "MetaData/airTemperature" + coordinates: "longitude latitude" + source: variables/airTemperature + longName: "Temperature at Station height" + units: "K" + + - name: "MetaData/pathAzimuth" + coordinates: "longitude latitude" + source: variables/pathAzimuth + longName: "Signal path clockwise from True North" + units: "Degree_from_north" + range: [0, 360] + + - name: "MetaData/pathElevation" + coordinates: "longitude latitude" + source: variables/pathElevation + longName: "Signal path angle above horizon" + units: "Degree_above_horizon" + range: [-90, 90] + + # Observation + - name: "ObsValue/zenithTotalDelay" + coordinates: "longitude latitude" + source: variables/zenithTotalDelay + longName: "Atmospheric Path Delay in satellite Signal (APDS)" + units: "m" + range: [0.0001, 5] + + - name: "ObsError/zenithTotalDelay" + coordinates: "longitude latitude" + source: variables/zenithTotalDelayErr + longName: "Estimated Error in Atmospheric Path Delay (APDE)" + units: "m" + range: [0.0, 10.0] + + # QualityMarker + - name: "QualityMarker/zenithTotalDelay" + coordinates: "longitude latitude" + source: variables/zenithTotalDelayQC + longName: "Quality Flags for ZTD data" + units: "0-20" + diff --git a/rrfs-test/validated_yamls/templates/obtype_config/gnss_zenithTotalDelay.yaml b/rrfs-test/validated_yamls/templates/obtype_config/gnss_zenithTotalDelay.yaml new file mode 100644 index 00000000..a6eb6869 --- /dev/null +++ b/rrfs-test/validated_yamls/templates/obtype_config/gnss_zenithTotalDelay.yaml @@ -0,0 +1,78 @@ + - obs space: + name: Groundgnss + distribution: + name: "@DISTRIBUTION@" + halo size: 100e3 + obsdatain: + engine: + type: H5File + obsfile: single_ztd_obs_2024052700.nc +# obsfile: ioda/2024052700.rap.t00z.ztd.tm00.bufr_d.nc + obsdataout: + engine: + type: H5File + obsfile: jdiag_gnss_zenithTotalDelay.nc4 +# +# -------------------------------------- +# For debugging purpose +# to be consistent with the ntask number +# io pool: +# max pool size: 120 +# write multiple files: true +# -------------------------------------- + + simulated variables: [zenithTotalDelay] + observed variables: [zenithTotalDelay] + + obs operator: + name: GroundgnssMetOffice + variables: + - name: zenithTotalDelay + + linear obs operator: + name: GroundgnssMetOffice + variables: + - name: zenithTotalDelay + + observation alias file: obsop_name_map.yaml +# ---------------------------------------------- +# Explicitely for MPAS-JEDI only. +# vertical coordinate: height +# observation vertical coordinate: height +# interpolation method: linear +# ---------------------------------------------- + obs error: + covariance model: diagonal + + obs localizations: + - localization method: Horizontal Gaspari-Cohn + lengthscale: 300e3 + + obs filters: + # PreQC flag check + - filter: PreQC + maxvalue: 10 # (not established yet, for testing only) + + # Terrain height discrenpancy check + - filter: Difference Check + reference: MetaData/stationElevation + value: GeoVaLs/surface_altitude + threshold: 300 + + # Gross check +# - filter: Background Check +# apply at iterations: 0,1 +# threshold: 6 + + # Regional domain check on GeoVaLs/observable_domain_mask + - filter: Bounds Check + filter variables: + - name: zenithTotalDelay + test variables: + - name: GeoVaLs/observable_domain_mask + minvalue: 0.0 + maxvalue: 0.5 # keep OBS in domain interior + + # Save GeoVals output for debugging +# - filter: GOMsaver +# filename: geoval_ztd_single.nc