Skip to content

Commit

Permalink
Update ozone YAML files (NOAA-EMC#629)
Browse files Browse the repository at this point in the history
* Check in six updated YAMLs for ozone.
  • Loading branch information
emilyhcliu authored Sep 29, 2023
1 parent d18caa8 commit b97bce8
Show file tree
Hide file tree
Showing 6 changed files with 238 additions and 153 deletions.
79 changes: 30 additions & 49 deletions parm/atm/obs/testing/omi_aura.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,89 +19,70 @@ obs operator:
coefficients: [0.007886131] # convert from ppmv to DU
nlevels: [1]

obs filters:
# range sanity check
- filter: Bounds Check
obs pre filters:
- filter: Perform Action
filter variables:
- name: ozoneTotal
minvalue: 0
maxvalue: 1000
action:
name: reject
name: assign error
error parameter: 6.0

# Toss observations for which the profile ozone error code is neither 0 nor 1
- filter: RejectList
obs prior filters:
# GSI read routine QC
# range sanity check
- filter: Bounds Check
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/total_ozone_error_flag
minvalue: 0.1
minvalue: 0
maxvalue: 10000
action:
name: reject
#
- filter: AcceptList
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/total_ozone_error_flag
minvalue: 0.9
maxvalue: 1.1
action:
name: accept

#exclude afbo=3 or 13
# Do not use the data if row anomaly (bit 10)is 1
- filter: RejectList
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/bestOzoneAlgorithmFlag
minvalue: 2.9
maxvalue: 3.1
action:
name: reject
name: MetaData/totalOzoneQualityFlag
any_bit_set_of: 9

# Scan position check: reject scan position >= 25
- filter: RejectList
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/bestOzoneAlgorithmFlag
minvalue: 12.9
maxvalue: 13.1
action:
name: reject
name: MetaData/sensorScanPosition
minvalue: 25

#Do not use the data if row anomaly (bit 10)is 1
- filter: RejectList
# Accept total_ozone_error_flag values of 0 and 1, but not any others.
- filter: RejectList
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/row_anomaly_index
minvalue: 0.9
maxvalue: 1.1
action:
name: reject
name: MetaData/totalOzoneQualityCode
is_not_in: 0, 1

#scan position check
# Use data with best ozone algorighm
- filter: RejectList
filter variables:
- name: ozoneTotal
where:
- variable:
name: MetaData/sensorScanPosition
minvalue: 25
action:
name: reject
name: MetaData/bestOzoneAlgorithmFlag
is_in: 3, 13

# Gross check
obs post filters:
# GSI setup routine QC
# Gross check
- filter: Background Check
filter variables:
- name: ozoneTotal
threshold: 5.0
threshold: 10.0
absolute threshold: 300.0
action:
name: reject

passedBenchmark: 2329
passedBenchmark: 1182
27 changes: 27 additions & 0 deletions parm/atm/obs/testing/omi_aura_noqc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
obs space:
name: omi_aura
obsdatain:
engine:
type: H5File
obsfile: !ENV omi_aura_obs_${CDATE}.nc4
obsdataout:
engine:
type: H5File
obsfile: !ENV omi_aura_diag_${CDATE}.nc4
io pool:
max pool size: 1
simulated variables: [ozoneTotal]
geovals:
filename: !ENV omi_aura_geoval_${CDATE}.nc4
obs operator:
name: AtmVertInterpLay
geovals: [mole_fraction_of_ozone_in_air]
coefficients: [0.007886131] # convert from ppmv to DU
nlevels: [1]

vector ref: GsiHofXBc
tolerance: 1.e-5
#linear obs operator test:
## coef TL: 0.1
## tolerance TL: 1.0e-13
## tolerance AD: 1.0e-11
Loading

0 comments on commit b97bce8

Please sign in to comment.