Skip to content

Commit

Permalink
Add yaml files for GNSSRO
Browse files Browse the repository at this point in the history
  • Loading branch information
XuanliLi-NOAA committed Jan 16, 2025
1 parent 10a744a commit 5d17476
Show file tree
Hide file tree
Showing 11 changed files with 1,427 additions and 0 deletions.
128 changes: 128 additions & 0 deletions observations/atmosphere/gnssro_cosmic2.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
-

# Observation Space (I/O)
# -----------------------
obs space:
name: gnssrobndnbam
obsdatain:
engine:
type: H5File
obsfile: "{{atmosphere_obsdatain_path}}/{{atmosphere_obsdatain_prefix}}{{observation_from_jcb}}{{atmosphere_obsdatain_suffix}}"
obsgrouping:
group variables: [ 'sequenceNumber' ]
sort variable: 'impactHeightRO'
sort order: 'ascending'
obsdataout:
engine:
type: H5File
obsfile: "{{atmosphere_obsdataout_path}}/{{atmosphere_obsdataout_prefix}}{{observation_from_jcb}}{{atmosphere_obsdataout_suffix}}"
simulated variables: [bendingAngle]

# Observation Operator
# --------------------
obs operator:
name: GnssroBndNBAM
obs options:
use_compress: 1
sr_steps: 2
vertlayer: full
super_ref_qc: NBAM
output_diags: true

# Observation Filters (QC)
# ------------------------
obs filters:
# Apply gross check using pccf
# Step 0-A: Create Diagnostic Flags
# Diagnostic flag for pccf
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: pccfCheckReject
initial value: false
force reinitialization: true

# Diagnostic flag for qfro
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: qfroCheckReject
initial value: false
force reinitialization: true

# Step 0-B: pccf Check for CDACC data - good: 0.1-100, reject: 0
- filter: Bounds Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/satelliteIdentifier
is_in: 265-269,750-755,44,786,820,825
test variables:
- name: MetaData/pccf
minvalue: 0.1
maxvalue: 100.1
actions:
- name: set
flag: pccfCheckReject
- name: reject

# Step 0-B: qfro Check - good: 0, reject: 1
#- filter: Bounds Check
# filter variables:
# - name: bendingAngle
# where:
# - variable:
# name: MetaData/satelliteIdentifier
# is_in: 3-5,421,440,821
# test variables:
# - name: MetaData/qualityFlags
# minvalue: -0.1
# maxvalue: 0.9
# actions:
# - name: set
# flag: qfroCheckReject
# - name: reject

#1. gpstop
- filter: Domain Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/impactHeightRO
minvalue: 0
maxvalue: 55000.1
action:
name: reject
#2. Background check
#- filter: Background Check
# filter variables:
# - name: bendingAngle
# threshold: 10
# action:
# name: reject
# defer to post: true
#3. RONBAM cut off check
- filter: Background Check RONBAM
filter variables:
- name: bendingAngle
action:
name: reject
defer to post: true
#4. assign obs error
- filter: ROobserror
filter variables:
- name: bendingAngle
errmodel: NBAM
defer to post: true
#5. Obs error inflate
- filter: Perform Action
filter variables:
- name: bendingAngle
action:
name: RONBAMErrInflate
defer to post: true
# --------------------------------
130 changes: 130 additions & 0 deletions observations/atmosphere/gnssro_geoopt.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
-

# Observation Space (I/O)
# -----------------------
obs space:
name: gnssrobndnbam
obsdatain:
engine:
type: H5File
obsfile: "{{atmosphere_obsdatain_path}}/{{atmosphere_obsdatain_prefix}}{{observation_from_jcb}}{{atmosphere_obsdatain_suffix}}"
obsgrouping:
group variables: [ 'sequenceNumber' ]
sort variable: 'impactHeightRO'
sort order: 'ascending'
obsdataout:
engine:
type: H5File
obsfile: "{{atmosphere_obsdataout_path}}/{{atmosphere_obsdataout_prefix}}{{observation_from_jcb}}{{atmosphere_obsdataout_suffix}}"
simulated variables: [bendingAngle]

# Observation Operator
# --------------------
obs operator:
name: GnssroBndNBAM
obs options:
use_compress: 1
sr_steps: 2
vertlayer: full
super_ref_qc: NBAM
output_diags: true

# Observation Filters (QC)
# ------------------------
obs filters:
# Apply gross check using pccf
# Step 0-A: Create Diagnostic Flags
# Diagnostic flag for pccf
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: pccfCheckReject
initial value: false
force reinitialization: true

# Diagnostic flag for qfro
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: qfroCheckReject
initial value: false
force reinitialization: true

# Step 0-B: pccf Check for CDACC data - good: 0.1-100, reject: 0
- filter: Bounds Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/satelliteIdentifier
is_in: 265-269,750-755,44,786,820,825
test variables:
- name: MetaData/pccf
minvalue: 0.1
maxvalue: 100.1
actions:
- name: set
flag: pccfCheckReject
- name: reject

# Step 0-B: qfro Check - good: 0, reject: 1
#- filter: Bounds Check
# filter variables:
# - name: bendingAngle
# where:
# - variable:
# name: MetaData/satelliteIdentifier
# is_in: 3-5,421,440,821
# test variables:
# - name: MetaData/qualityFlags
# minvalue: -0.1
# maxvalue: 0.9
# actions:
# - name: set
# flag: qfroCheckReject
# - name: reject

#1. commgpstop
- filter: Bounds Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/satelliteIdentifier
is_in: 265,266,267,268,269
test variables:
- name: MetaData/impactHeightRO
maxvalue: 45000.1
action:
name: reject
#2. Background check
#- filter: Background Check
# filter variables:
# - name: bendingAngle
# threshold: 10
# action:
# name: reject
# defer to post: true
#3. RONBAM cut off check
- filter: Background Check RONBAM
filter variables:
- name: bendingAngle
action:
name: reject
defer to post: true
#4. assign obs error
- filter: ROobserror
filter variables:
- name: bendingAngle
errmodel: NBAM
defer to post: true
#5. Obs error inflate
- filter: Perform Action
filter variables:
- name: bendingAngle
action:
name: RONBAMErrInflate
defer to post: true
# --------------------------------
128 changes: 128 additions & 0 deletions observations/atmosphere/gnssro_grace.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
-

# Observation Space (I/O)
# -----------------------
obs space:
name: gnssrobndnbam
obsdatain:
engine:
type: H5File
obsfile: "{{atmosphere_obsdatain_path}}/{{atmosphere_obsdatain_prefix}}{{observation_from_jcb}}{{atmosphere_obsdatain_suffix}}"
obsgrouping:
group variables: [ 'sequenceNumber' ]
sort variable: 'impactHeightRO'
sort order: 'ascending'
obsdataout:
engine:
type: H5File
obsfile: "{{atmosphere_obsdataout_path}}/{{atmosphere_obsdataout_prefix}}{{observation_from_jcb}}{{atmosphere_obsdataout_suffix}}"
simulated variables: [bendingAngle]

# Observation Operator
# --------------------
obs operator:
name: GnssroBndNBAM
obs options:
use_compress: 1
sr_steps: 2
vertlayer: full
super_ref_qc: NBAM
output_diags: true

# Observation Filters (QC)
# ------------------------
obs filters:
# Apply gross check using pccf
# Step 0-A: Create Diagnostic Flags
# Diagnostic flag for pccf
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: pccfCheckReject
initial value: false
force reinitialization: true

# Diagnostic flag for qfro
- filter: Create Diagnostic Flags
filter variables:
- name: bendingAngle
flags:
- name: qfroCheckReject
initial value: false
force reinitialization: true

# Step 0-B: pccf Check for CDACC data - good: 0.1-100, reject: 0
- filter: Bounds Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/satelliteIdentifier
is_in: 265-269,750-755,44,786,820,825
test variables:
- name: MetaData/pccf
minvalue: 0.1
maxvalue: 100.1
actions:
- name: set
flag: pccfCheckReject
- name: reject

# Step 0-B: qfro Check - good: 0, reject: 1
#- filter: Bounds Check
# filter variables:
# - name: bendingAngle
# where:
# - variable:
# name: MetaData/satelliteIdentifier
# is_in: 3-5,421,440,821
# test variables:
# - name: MetaData/qualityFlags
# minvalue: -0.1
# maxvalue: 0.9
# actions:
# - name: set
# flag: qfroCheckReject
# - name: reject

#1. gpstop
- filter: Domain Check
filter variables:
- name: bendingAngle
where:
- variable:
name: MetaData/impactHeightRO
minvalue: 0
maxvalue: 55000.1
action:
name: reject
#2. Background check
#- filter: Background Check
# filter variables:
# - name: bendingAngle
# threshold: 10
# action:
# name: reject
# defer to post: true
#3. RONBAM cut off check
- filter: Background Check RONBAM
filter variables:
- name: bendingAngle
action:
name: reject
defer to post: true
#4. assign obs error
- filter: ROobserror
filter variables:
- name: bendingAngle
errmodel: NBAM
defer to post: true
#5. Obs error inflate
- filter: Perform Action
filter variables:
- name: bendingAngle
action:
name: RONBAMErrInflate
defer to post: true
# --------------------------------
Loading

0 comments on commit 5d17476

Please sign in to comment.