diff --git a/observations/atmosphere-lgetkf/aircraft.yaml.j2 b/observations/atmosphere-lgetkf/aircraft.yaml.j2 index 4d4a72e..a992713 100644 --- a/observations/atmosphere-lgetkf/aircraft.yaml.j2 +++ b/observations/atmosphere-lgetkf/aircraft.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: Aircraft distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/amsua_n19.yaml.j2 b/observations/atmosphere-lgetkf/amsua_n19.yaml.j2 index 15f4846..17ed934 100644 --- a/observations/atmosphere-lgetkf/amsua_n19.yaml.j2 +++ b/observations/atmosphere-lgetkf/amsua_n19.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: AMSUA N19 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/ascatw.ascat_metop-b.yaml.j2 b/observations/atmosphere-lgetkf/ascatw.ascat_metop-b.yaml.j2 index 788ead9..35a8a06 100644 --- a/observations/atmosphere-lgetkf/ascatw.ascat_metop-b.yaml.j2 +++ b/observations/atmosphere-lgetkf/ascatw.ascat_metop-b.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: ascatw_ascat_metop-b distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/atms_n20.yaml.j2 b/observations/atmosphere-lgetkf/atms_n20.yaml.j2 index 7bfa5e1..6c5754f 100644 --- a/observations/atmosphere-lgetkf/atms_n20.yaml.j2 +++ b/observations/atmosphere-lgetkf/atms_n20.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: ATMS N20 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/atms_npp.yaml.j2 b/observations/atmosphere-lgetkf/atms_npp.yaml.j2 index 6356796..ea17f12 100644 --- a/observations/atmosphere-lgetkf/atms_npp.yaml.j2 +++ b/observations/atmosphere-lgetkf/atms_npp.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: ATMS NPP distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/conv_ps.yaml.j2 b/observations/atmosphere-lgetkf/conv_ps.yaml.j2 deleted file mode 100644 index 0ca33b1..0000000 --- a/observations/atmosphere-lgetkf/conv_ps.yaml.j2 +++ /dev/null @@ -1,373 +0,0 @@ -- - - # Observation Space (I/O) - # ----------------------- - obs space: - name: surface_ps - distribution: - name: Halo - halo size: 1250e3 - obsdatain: - engine: - type: H5File - obsfile: "{{atmosphere_obsdatain_path}}/{{atmosphere_obsdatain_prefix}}{{observation_from_jcb}}{{atmosphere_obsdatain_suffix}}" - obsdataout: - engine: - type: H5File - obsfile: "{{atmosphere_obsdataout_path}}/{{atmosphere_obsdataout_prefix}}{{observation_from_jcb}}{{atmosphere_obsdataout_suffix}}" - io pool: - max pool size: 1 - simulated variables: [stationPressure] - - # Observation Operator - # -------------------- - obs operator: - name: SfcPCorrected - variables: - - name: stationPressure - da_psfc_scheme: GSI - station_altitude: height - geovar_sfc_geomz: surface_altitude - geovar_geomz: geopotential_height - - # Linear Observation Operator - # --------------------------- - linear obs operator: - name: Identity - variables: - - name: stationPressure - - # Observation Prior Filters (QC) - # ------------------------------ - obs prior filters: - # Initial Error Assignments for SFC Observations - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: ObsType/stationPressure - is_in: [181] - action: - name: assign error - error function: - name: ObsFunction/ObsErrorModelStepwiseLinear - options: - round_to_the_nearest_integer: true - xvar: - name: ObsValue/stationPressure - xvals: [80000, 75000, 70000, 65000, 60000, 55000] - errors: [110, 120, 120, 120, 120, 1.0e+11] - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: ObsType/stationPressure - is_in: [187] - action: - name: assign error - error function: - name: ObsFunction/ObsErrorModelStepwiseLinear - options: - round_to_the_nearest_integer: true - xvar: - name: ObsValue/stationPressure - xvals: [85000, 80000, 75000, 70000, 65000, 60000, 55000] - errors: [120, 140, 140, 140, 140, 140, 1.0e+11] - # Initial Error Assignments for SFCSHIP Observations - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: ObsType/stationPressure - is_in: [180] - action: - name: assign error - error function: - name: ObsFunction/ObsErrorModelStepwiseLinear - options: - round_to_the_nearest_integer: true - xvar: - name: ObsValue/stationPressure - xvals: [60000, 55000] - errors: [130, 1.0e+11] - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: ObsType/stationPressure - is_in: [183] - action: - name: assign error - error parameter: 1.0e+11 - - # Initial Error Assignments for Radiosonde - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: ObsType/stationPressure - is_in: [120] - action: - name: assign error - error function: - name: ObsFunction/ObsErrorModelStepwiseLinear - options: - round_to_the_nearest_integer: true - xvar: - name: ObsValue/stationPressure - xvals: [80000, 75000, 70000, 65000, 60000, 55000] - errors: [110, 120, 120, 120, 120, 1.0e+11] - # Create PreQC group variable (pqm in GSI read_prepbufr) - - filter: Variable Assignment - assignments: - - name: InputObsError/stationPressure - type: float - source variable: ObsErrorData/stationPressure - - # Set observation quality-realted variables - # Create PreQC group variable (pqm in GSI read_prepbufr) - - filter: Variable Assignment - assignments: - - name: PreQC/stationPressure - type: int - source variable: QualityMarker/stationPressure - - # Create PreUseFlag group variable (usage in GSI read_prepbufr) - # Initialize - - filter: Variable Assignment - assignments: - - name: PreUseFlag/stationPressure - type: int - source variable: PreQC/stationPressure - - - filter: Variable Assignment - where: - - variable: - name: PreUseFlag/stationPressure - is_in: 1-15 - assignments: - - name: PreUseFlag/stationPressure - value: 0 - # Re-assignment - - filter: Variable Assignment - where: - - variable: - name: ObsType/stationPressure - is_in: 183 - assignments: - - name: PreUseFlag/stationPressure - value: 100 - - - filter: Variable Assignment - where: - - variable: - name: ObsValue/stationPressure - is_defined: - - variable: - name: ObsValue/stationPressure - maxvalue: 50000.00 - where operator: and - assignments: - - name: PreUseFlag/stationPressure - value: 100 - - - filter: Variable Assignment - where: - - variable: - name: PreQC/stationPressure - is_in: 9, 12, 15 - assignments: - - name: PreUseFlag/stationPressure - value: 100 - - - filter: Variable Assignment - where: - - variable: - name: PreQC/stationPressure - is_in: 4-15 - assignments: - - name: PreUseFlag/stationPressure - value: 101 - - ## Observation range sanity check - #- filter: Bounds Check - # filter variables: - # - name: stationPressure - # minvalue: 37499.0 - # maxvalue: 106999.0 - # action: - # name: reject - ## Reject all ObsType 183 - #- filter: RejectList - # where: - # - variable: - # name: ObsType/stationPressure - # is_in: 183 - ## Reject surface pressure below 500 hPa - #- filter: Bounds Check - # filter variables: - # - name: stationPressure - # minvalue: 50000.00 - # action: - # name: reject - #- filter: RejectList - # where: - # - variable: - # name: PreQC/stationPressure - # is_in: 4-15 - # Inflate obs error based on obs type - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: PreQC/stationPressure - is_in: 3, 7 - action: - name: inflate error - inflation factor: 1.2 - - # Observation Post Filters (QC) - # ----------------------------- - obs post filters: - # Calculate obs error inflation factors for duplicated observations at the same location - - filter: Variable Assignment - assignments: - - name: ObsErrorFactorDuplicateCheck/stationPressure - type: float - function: - name: ObsFunction/ObsErrorFactorDuplicateCheck - options: - use_air_pressure: false - variable: stationPressure - - # Reduce effective observation error based on obs type and subtype - # In this case: reduce effective obs error for buoy - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: - name: ObsType/stationPressure - is_in: 180 - - variable: - name: ObsSubType/stationPressure - is_in: 0 - action: - name: inflate error - inflation factor: 0.7 - - # Calculate obs error inflation factors for large discrepancies between model and observations - - filter: Variable Assignment - assignments: - - name: ObsErrorFactorSfcPressure/stationPressure - type: float - function: - name: ObsFunction/ObsErrorFactorSfcPressure - options: - geovar_sfc_geomz: surface_altitude - geovar_geomz: geopotential_height - station_altitude: height - - # Inflate surface pressure observation based on discrepancies between - # model and observations due to terrian - - filter: Perform Action - filter variables: - - name: stationPressure - action: - name: inflate error - inflation variable: - name: ObsErrorFactorSfcPressure/stationPressure - - - filter: Variable Assignment - assignments: - - name: DerivedMetaData/Innovation - type: float - function: - name: ObsFunction/Arithmetic - options: - variables: - - name: ObsValue/stationPressure - - name: HofX/stationPressure - coefs: [1, -1] - - filter: Variable Assignment - assignments: - - name: DerivedMetaData/ObsErrorBoundSfcPressure1 - type: float - function: - name: ObsFunction/ObsErrorBoundConventional - options: - obsvar: stationPressure - obserr_bound_min: 100 - obserr_bound_max: 300 - obserr_bound_factor: 5.0 - - - filter: Background Check - filter variables: - - name: stationPressure - where: - - variable: PreQC/stationPressure - is_not_in: 3 - function absolute threshold: - - name: DerivedMetaData/ObsErrorBoundSfcPressure1 - action: - name: reject - - - filter: Variable Assignment - assignments: - - name: DerivedMetaData/ObsErrorBoundSfcPressure2 - type: float - function: - name: ObsFunction/ObsErrorBoundConventional - options: - obsvar: stationPressure - obserr_bound_min: 100 - obserr_bound_max: 300 - obserr_bound_factor: 3.5 - - - filter: Background Check - filter variables: - - name: stationPressure - where: - - variable: PreQC/stationPressure - is_in: 3 - function absolute threshold: - - name: DerivedMetaData/ObsErrorBoundSfcPressure2 - action: - name: reject - - # Inflate obs error based on duplicate check - - filter: Perform Action - filter variables: - - name: stationPressure - action: - name: inflate error - inflation variable: - name: ObsErrorFactorDuplicateCheck/stationPressure - - # Reject data based on PreUseFlag (usage in GSI) - - filter: Perform Action - filter variables: - - name: stationPressure - where: - - variable: PreUseFlag/stationPressure - is_not_in: 0, 1 - action: - name: reject - # End of Filters - - # Observation Localizations (LocalEnsembleDA) - # ------------------------------------------- - obs localizations: - - localization method: Horizontal Gaspari-Cohn - lengthscale: 1250e3 - max nobs: 10000 - - - # GeoVaLs for Driving Observation Operators (testing mode) - # -------------------------------------------------------- - geovals: - filename: "{{atmosphere_obsdatain_path}}/{{atmosphere_obsdatain_prefix}}{{observation_from_jcb}}_geoval{{atmosphere_obsdatain_suffix}}" - - # Passed benchmark for UFO testing - # -------------------------------- - passedBenchmark: 0 diff --git a/observations/atmosphere-lgetkf/conventional_ps.yaml.j2 b/observations/atmosphere-lgetkf/conventional_ps.yaml.j2 index 0ca33b1..f094ca9 100644 --- a/observations/atmosphere-lgetkf/conventional_ps.yaml.j2 +++ b/observations/atmosphere-lgetkf/conventional_ps.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: surface_ps distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/gnssro.yaml.j2 b/observations/atmosphere-lgetkf/gnssro.yaml.j2 index b26d992..9da6bd5 100644 --- a/observations/atmosphere-lgetkf/gnssro.yaml.j2 +++ b/observations/atmosphere-lgetkf/gnssro.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: gnssrobndnbam distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/mtiasi_metop-a.yaml.j2 b/observations/atmosphere-lgetkf/mtiasi_metop-a.yaml.j2 index efc4535..24cb44a 100644 --- a/observations/atmosphere-lgetkf/mtiasi_metop-a.yaml.j2 +++ b/observations/atmosphere-lgetkf/mtiasi_metop-a.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: IASI METOP-A distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/mtiasi_metop-b.yaml.j2 b/observations/atmosphere-lgetkf/mtiasi_metop-b.yaml.j2 index 8f2f261..7ce56ae 100644 --- a/observations/atmosphere-lgetkf/mtiasi_metop-b.yaml.j2 +++ b/observations/atmosphere-lgetkf/mtiasi_metop-b.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: IASI METOP-B distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/ompsnp_npp.yaml.j2 b/observations/atmosphere-lgetkf/ompsnp_npp.yaml.j2 index 488afd7..45c49ba 100644 --- a/observations/atmosphere-lgetkf/ompsnp_npp.yaml.j2 +++ b/observations/atmosphere-lgetkf/ompsnp_npp.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: ompsnp_npp distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/ompstc_npp.yaml.j2 b/observations/atmosphere-lgetkf/ompstc_npp.yaml.j2 index b76b56e..523946c 100644 --- a/observations/atmosphere-lgetkf/ompstc_npp.yaml.j2 +++ b/observations/atmosphere-lgetkf/ompstc_npp.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: ompstc_npp distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.abi_goes-16.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.abi_goes-16.yaml.j2 index 1b727ad..e5543ba 100644 --- a/observations/atmosphere-lgetkf/satwnd.abi_goes-16.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.abi_goes-16.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: satwind_goes-16 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.abi_goes-18.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.abi_goes-18.yaml.j2 index aa394df..ebbc86b 100644 --- a/observations/atmosphere-lgetkf/satwnd.abi_goes-18.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.abi_goes-18.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: satwind_goes-18 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.ahi_h8.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.ahi_h8.yaml.j2 index a745ee1..e9ee771 100644 --- a/observations/atmosphere-lgetkf/satwnd.ahi_h8.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.ahi_h8.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: satwind_ahi_h8 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.leogeo_multi.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.leogeo_multi.yaml.j2 index c0dd03d..0558d66 100644 --- a/observations/atmosphere-lgetkf/satwnd.leogeo_multi.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.leogeo_multi.yaml.j2 @@ -1,7 +1,7 @@ - obs space: name: satwind_leogeo_multi distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.viirs_n20.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.viirs_n20.yaml.j2 index b3a4abb..2c5f1b6 100644 --- a/observations/atmosphere-lgetkf/satwnd.viirs_n20.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.viirs_n20.yaml.j2 @@ -1,7 +1,7 @@ - obs space: name: satwind_viirs_n20 distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/satwnd.viirs_npp.yaml.j2 b/observations/atmosphere-lgetkf/satwnd.viirs_npp.yaml.j2 index 851cad1..18998d5 100644 --- a/observations/atmosphere-lgetkf/satwnd.viirs_npp.yaml.j2 +++ b/observations/atmosphere-lgetkf/satwnd.viirs_npp.yaml.j2 @@ -1,7 +1,7 @@ - obs space: name: satwind_viirs_npp distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: diff --git a/observations/atmosphere-lgetkf/sondes.yaml.j2 b/observations/atmosphere-lgetkf/sondes.yaml.j2 index 0bc7193..dea76f0 100644 --- a/observations/atmosphere-lgetkf/sondes.yaml.j2 +++ b/observations/atmosphere-lgetkf/sondes.yaml.j2 @@ -5,7 +5,7 @@ obs space: name: sondes distribution: - name: Halo + name: "{{distribution_type}}" halo size: 1250e3 obsdatain: engine: