-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Phase 1 validation: vadwnd (224) yamls (#261)
Finished phase 1 tests for vadwnd (224) obs. The phase 1 tests were also done in such a way that also checks the QC filters similarly to phase 2, but only GSI-IODA was used.
- Loading branch information
Showing
1 changed file
with
356 additions
and
0 deletions.
There are no files selected for viewing
356 changes: 356 additions & 0 deletions
356
rrfs-test/validated_yamls/templates/obtype_config/vadwnd_winds_224.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,356 @@ | ||
- obs space: | ||
name: vadwnd_winds_224 | ||
distribution: | ||
name: "@DISTRIBUTION@" | ||
halo size: 100e3 | ||
obsdatain: | ||
engine: | ||
type: H5File | ||
obsfile: "@OBSFILE@" | ||
obsgrouping: | ||
group variables: ["stationIdentification"] | ||
sort variable: "pressure" | ||
sort order: "descending" | ||
obsdataout: | ||
engine: | ||
type: H5File | ||
obsfile: jdiag_vadwnd_winds_224.nc4 | ||
allow overwrite: true | ||
io pool: | ||
max pool size: 1 | ||
observed variables: [windEastward, windNorthward] | ||
simulated variables: [windEastward, windNorthward] | ||
|
||
obs operator: | ||
name: Composite | ||
components: | ||
- name: VertInterp | ||
vertical coordinate: air_pressure | ||
observation vertical coordinate: pressure | ||
observation vertical coordinate group: MetaData | ||
interpolation method: log-linear | ||
#gsi geovals: | ||
# filename: "obsout/vadwind_geoval_2024052700.nc4" | ||
# levels_are_top_down: False | ||
variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
|
||
linear obs operator: | ||
name: Identity | ||
|
||
obs error: | ||
covariance model: diagonal | ||
|
||
obs localizations: | ||
- localization method: Horizontal Gaspari-Cohn | ||
lengthscale: 300e3 # orig | ||
|
||
obs filters: | ||
# ------------------ | ||
# wind (224) | ||
# ------------------ | ||
# Reject all obs with QualityMarker > 3 | ||
- filter: Perform Action | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
where: | ||
- variable: QualityMarker/windEastward | ||
is_in: 4-15 | ||
action: | ||
name: reject | ||
action: | ||
name: reduce obs space | ||
|
||
# Time window filter | ||
- filter: Domain Check | ||
apply at iterations: 0,1 | ||
where: | ||
- variable: | ||
name: MetaData/timeOffset # units: s | ||
minvalue: -5400 | ||
maxvalue: 5400 | ||
action: | ||
name: reduce obs space | ||
|
||
# Duplicate Check | ||
- filter: Temporal Thinning | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
min_spacing: PT90M | ||
tolerance: PT0H | ||
seed_time: "2024-05-27T00:00:00Z" | ||
category_variable: | ||
name: MetaData/longitude_latitude_pressure | ||
|
||
# Online domain check | ||
- filter: Bounds Check | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
test variables: | ||
- name: GeoVaLs/observable_domain_mask | ||
minvalue: 0.0 | ||
maxvalue: 0.5 | ||
|
||
# Initial error assignment | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
where: | ||
- variable: ObsType/windEastward | ||
is_in: 224 | ||
action: | ||
name: assign error | ||
error function: | ||
name: ObsFunction/ObsErrorModelStepwiseLinear | ||
options: | ||
xvar: | ||
name: MetaData/pressure | ||
xvals: [110000, 105000, 100000, 95000, 90000, 85000, 80000, 75000, 70000, 65000, 60000, 55000, 50000, 45000, 40000, 35000, 30000, 25000, 20000, 15000, 10000, 7500, 5000, 4000, 3000, 2000, 1000, 500, 400, 300, 200, 100, 0] | ||
errors: [2.8617, 2.7545, 2.606, 2.4519, 2.3213, 2.2446, 2.2396, 2.2997, 2.414, 2.5663, 2.7346, 2.8938, 3.0317, 3.16, 3.2982, 3.578, 4.3349, 5.6961, 7.4388, 8.9893, 10.045, 10.623, 10.883, 10.975, 10.999, 11.002, 11.0, 10.999, 10.999, 11.0, 11.002, 10.999, 10.972] | ||
|
||
|
||
# Error inflation (windEastward) based on pressure check (setupw.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windEastward | ||
where: | ||
- variable: ObsType/windEastward | ||
is_in: 224 | ||
action: | ||
name: inflate error | ||
inflation variable: | ||
name: ObsFunction/ObsErrorFactorPressureCheck | ||
options: | ||
variable: windEastward | ||
inflation factor: 4.0 | ||
|
||
# Error inflation (windNorthward) based on pressure check (setupw.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windNorthward | ||
where: | ||
- variable: ObsType/windNorthward | ||
is_in: 224 | ||
action: | ||
name: inflate error | ||
inflation variable: | ||
name: ObsFunction/ObsErrorFactorPressureCheck | ||
options: | ||
variable: windNorthward | ||
inflation factor: 4.0 | ||
|
||
# Error inflation (windEastward) based on errormod (qcmod.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windEastward | ||
where: | ||
- variable: ObsType/windEastward | ||
is_in: 224 | ||
action: | ||
name: inflate error | ||
inflation variable: | ||
name: ObsFunction/ObsErrorFactorConventional | ||
options: | ||
inflate variables: [windEastward] | ||
test QCflag: QualityMarker | ||
test QCthreshold: 3 | ||
distance threshold: 0 | ||
pressure: MetaData/pressure | ||
|
||
# Error inflation (windNorthward) based on errormod (qcmod.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windNorthward | ||
where: | ||
- variable: ObsType/windNorthward | ||
is_in: 224 | ||
action: | ||
name: inflate error | ||
inflation variable: | ||
name: ObsFunction/ObsErrorFactorConventional | ||
options: | ||
inflate variables: [windNorthward] | ||
test QCflag: QualityMarker | ||
test QCthreshold: 3 | ||
distance threshold: 0 | ||
pressure: MetaData/pressure | ||
|
||
# Error inflation when QualityMarker == 3 (read_prepbufr.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
action: | ||
name: inflate error | ||
inflation factor: 1.2 | ||
where: | ||
- variable: QualityMarker/windEastward | ||
is_in: 3 | ||
|
||
# Error inflation when observation pressure < 50 hPa (read_prepbufr.f90) | ||
- filter: Perform Action | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
action: | ||
name: inflate error | ||
inflation factor: 1.2 | ||
where: | ||
- variable: MetaData/pressure | ||
maxvalue: 5000.0 | ||
|
||
# Bounds Check | ||
- filter: Bounds Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
minvalue: -130 | ||
maxvalue: 130 | ||
action: | ||
name: reject | ||
|
||
# Assign abs(windEastward) | ||
- filter: Variable Assignment | ||
assignments: | ||
- name: AbsObsValue/windEastward | ||
type: float | ||
function: | ||
name: ObsFunction/Arithmetic | ||
options: | ||
variables: | ||
- name: ObsValue/windEastward | ||
absolute value: [true] | ||
|
||
# Assign abs(windNorthward) | ||
- filter: Variable Assignment | ||
assignments: | ||
- name: AbsObsValue/windNorthward | ||
type: float | ||
function: | ||
name: ObsFunction/Arithmetic | ||
options: | ||
variables: | ||
- name: ObsValue/windNorthward | ||
absolute value: [true] | ||
|
||
# Reject when abs(windNorthward) < 1.0 .and. abs(windEastward) < 1.0 | ||
- filter: Bounds Check | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
minvalue: 1 | ||
where: | ||
- variable: | ||
name: AbsObsValue/windEastward | ||
minvalue: 0 | ||
maxvalue: 1 | ||
- variable: | ||
name: AbsObsValue/windNorthward | ||
minvalue: 0 | ||
maxvalue: 1 | ||
where operator: and | ||
action: | ||
name: reject | ||
|
||
# Reject when pressure is less than 226 mb. | ||
- filter: Bounds Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
- name: windNorthward | ||
test variables: | ||
- name: MetaData/pressure | ||
minvalue: 22600 | ||
action: | ||
name: reject | ||
|
||
# Gross Error Check (windEastward) | ||
- filter: Background Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
function absolute threshold: | ||
- name: ObsFunction/WindsSPDBCheck | ||
options: | ||
wndtype: [ 224 ] | ||
cgross: [ 6.5 ] | ||
error_min: [ 1.4 ] | ||
error_max: [ 6.1 ] | ||
variable: windEastward | ||
where: | ||
- variable: QualityMarker/windEastward | ||
is_not_in: 3 | ||
action: | ||
name: reject | ||
defer to post: true | ||
|
||
# Gross Error Check (windNorthward) | ||
- filter: Background Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windNorthward | ||
function absolute threshold: | ||
- name: ObsFunction/WindsSPDBCheck | ||
options: | ||
wndtype: [ 224 ] | ||
cgross: [ 6.5 ] | ||
error_min: [ 1.4 ] | ||
error_max: [ 6.1 ] | ||
variable: windNorthward | ||
where: | ||
- variable: QualityMarker/windNorthward | ||
is_not_in: 3 | ||
action: | ||
name: reject | ||
defer to post: true | ||
|
||
# Gross Error Check (windEastward): cgross*0.7 if QualityMarker=3 | ||
- filter: Background Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windEastward | ||
function absolute threshold: | ||
- name: ObsFunction/WindsSPDBCheck | ||
options: | ||
wndtype: [ 224 ] | ||
cgross: [ 4.55 ] | ||
error_min: [ 1.4 ] | ||
error_max: [ 6.1 ] | ||
variable: windEastward | ||
where: | ||
- variable: QualityMarker/windEastward | ||
is_in: 3 | ||
action: | ||
name: reject | ||
defer to post: true | ||
|
||
# Gross Error Check (windNorthward): cgross*0.7 if QualityMarker=3 | ||
- filter: Background Check | ||
apply at iterations: 0,1 | ||
filter variables: | ||
- name: windNorthward | ||
function absolute threshold: | ||
- name: ObsFunction/WindsSPDBCheck | ||
options: | ||
wndtype: [ 224 ] | ||
cgross: [ 4.55 ] | ||
error_min: [ 1.4 ] | ||
error_max: [ 6.1 ] | ||
variable: windNorthward | ||
where: | ||
- variable: QualityMarker/windNorthward | ||
is_in: 3 | ||
action: | ||
name: reject | ||
defer to post: true | ||
|
||
#- filter: GOMsaver | ||
# filename: ./data/geovals/vadwnd_geovals_rrfs.nc4 |