Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase 2 validation: updates for msonet yamls #188

Merged
merged 29 commits into from
Nov 21, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
da3a4ab
Finished phase 2 testing with great results. The main additions were …
delippi Oct 10, 2024
1d843ee
Merge branch 'develop' into feature/phase2_msonet
guoqing-noaa Oct 11, 2024
1a5cf00
Made a few minor updates to each file. Does not change results.
delippi Oct 11, 2024
1191eeb
renamed msonet_uv to msonet_winds
delippi Oct 11, 2024
c178520
Merge remote-tracking branch 'upstream/develop' into HEAD
delippi Oct 16, 2024
ccccb6e
Merge branch 'NOAA-EMC:develop' into feature/phase2_msonet
delippi Oct 22, 2024
75a2704
update the name of the msonet_wind yaml. I will update the aircft/car…
delippi Oct 22, 2024
6495d4d
update hybrid weights to match GSI case.
delippi Oct 22, 2024
fbbbbd8
update msonet yamls to NOT use defer to post and re-order some filters.
delippi Oct 22, 2024
d5092c3
Merge branch 'develop' into feature/phase2_msonet
guoqing-noaa Oct 22, 2024
f29f1d5
update to use timeOffset in units of seconds to match IODA convention…
delippi Oct 23, 2024
811544b
Merge branch 'NOAA-EMC:develop' into feature/phase2_msonet
delippi Oct 24, 2024
bbae777
A quick bugfix in specificHumidity yaml and a fix for stationPressure…
delippi Oct 24, 2024
21b09a7
remove "reduce obs space" since that will be added later. A few other…
delippi Oct 24, 2024
3e08366
Merge branch 'NOAA-EMC:develop' into feature/phase2_msonet
delippi Oct 30, 2024
9c0f45e
Add the post-filter domain check which will work work when qcflag che…
delippi Oct 30, 2024
0ba5161
fixed some typos in the online domain check.
delippi Oct 30, 2024
9b09cc5
update surface_geopotential_height to geopotential_height_at_surface …
delippi Nov 4, 2024
96f81b0
Merge branch 'develop' into feature/phase2_msonet
SamuelDegelia-NOAA Nov 4, 2024
b1e5f09
Remove yaml anchor and aliases for gross error checks.
delippi Nov 4, 2024
f06549b
Merge branch 'feature/phase2_msonet' of https://github.com/delippi/RD…
delippi Nov 4, 2024
4a7c82b
Remove anchors and aliases for min max errors.
delippi Nov 6, 2024
77de4cf
Add defer to post and apply at iteration 0,1 to gross check related o…
delippi Nov 7, 2024
1029617
Merge remote-tracking branch 'upstream/develop' into feature/phase2_m…
delippi Nov 7, 2024
547fe68
Add options to ObsErrorFactorPressureCheck for handling surface winds…
delippi Nov 14, 2024
3b2fa20
Merge branch 'NOAA-EMC:develop' into feature/phase2_msonet
delippi Nov 14, 2024
db60808
Merge branch 'NOAA-EMC:develop' into feature/phase2_msonet
delippi Nov 19, 2024
1faefd9
Add temporal thinning (for duplicate check). Rearanged some filters.
delippi Nov 19, 2024
d1ad030
Merge branch 'develop' into feature/phase2_msonet
SamuelDegelia-NOAA Nov 20, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
- obs space:
name: msonet
name: msonet_airTemperature_188
ShunLiu-NOAA marked this conversation as resolved.
Show resolved Hide resolved
obsdatain:
engine:
type: H5File
Expand Down Expand Up @@ -35,8 +35,8 @@
# ------------------
# airTemperature
# ------------------
# Initial error assignment
# 188
# Initial error assignment
- filter: Perform Action
filter variables:
- name: airTemperature
Expand All @@ -45,27 +45,28 @@
is_in: 188
action:
name: assign error
error parameter: 4.0 # K
defer to post: true
#error parameter: 4.0 # K
error function:
name: ObsFunction/ObsErrorModelStepwiseLinear
options:
xvar:
name: ObsValue/airTemperature
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: [4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0, 4.0]

## Ajusted error after initial assignment (qcmod.f90)
#- filter: Perform Action
# filter variables:
# - name: airTemperature
# where:
# - variable: ObsType/airTemperature
# is_in: 188
# action:
# name: inflate error
# inflation variable:
# name: ObsFunction/ObsErrorFactorConventional
# options:
# test QCflag: PreQC
# test QCthreshold: 3
# inflate variables: [airTemperature]
# pressure: MetaData/pressure
# distance threshold: -1.
# defer to post: true
# Ajusted error after initial assignment
- filter: Perform Action
filter variables:
- name: airTemperature
action:
name: inflate error
inflation factor: 1.2
where:
- variable: ObsType/airTemperature
is_in: 188
- variable: QualityMarker/airTemperature
is_in: 3
defer to post: true

# error inflation based on pressure check (setupt.f90)
- filter: Perform Action
Expand All @@ -76,35 +77,109 @@
is_in: 188
action:
name: inflate error
#inflation factor: 1.09757
inflation variable:
name: ObsFunction/ObsErrorFactorPressureCheck
spanNOAA marked this conversation as resolved.
Show resolved Hide resolved
options:
variable: airTemperature
inflation factor: 0.0
#geovar_sfc_geomz: surface_geometric_height #FV3
#geovar_sfc_geomz: surface_altitude #MPAS
defer to post: true
inflation factor: 8.0

# Bounds Check
- filter: Bounds Check
apply at iterations: 0,1
filter variables:
- name: airTemperature
minvalue: 100
maxvalue: 400

# Create temporary ObsErrorData
- filter: Variable Assignment
assignments:
- name: TempObsErrorData/airTemperature
type: float
function:
name: ObsFunction/Arithmetic
options:
variables:
- name: ObsErrorData/airTemperature
defer to post: true

# set ObsError set "error parameter" if < "max value"
- filter: Perform Action
filter variables:
- name: airTemperature
action:
name: assign error
error parameter: 1.0 # K
where:
- variable:
name: TempObsErrorData/airTemperature
maxvalue: 1.0
- variable:
name: TempObsErrorData/airTemperature
value: is_valid
defer to post: true

# set ObsError set "error parameter" if > "min value"
- filter: Perform Action
filter variables:
- name: airTemperature
action:
name: assign error
error parameter: 3.0 # K
where:
- variable:
name: TempObsErrorData/airTemperature
minvalue: 3.0
- variable:
name: TempObsErrorData/airTemperature
value: is_valid
defer to post: true

# Gross Error Check
- filter: Background Check
apply at iterations: 0,1
filter variables:
- name: airTemperature
absolute threshold: 5.0
threshold: 5.0
action:
name: reject
where:
- variable: ObsType/airTemperature
is_in: 188
- variable: QualityMarker/airTemperature
is_not_in: 3
SamuelDegelia-NOAA marked this conversation as resolved.
Show resolved Hide resolved
defer to post: true

# Gross Error Check: threshold*0.7 if QualityMarker=3
- filter: Background Check
apply at iterations: 0,1
filter variables:
- name: airTemperature
threshold: 3.5
action:
name: reject
where:
- variable: ObsType/airTemperature
is_in: 188
- variable: QualityMarker/airTemperature
is_in: 3
defer to post: true

# Re-assign err ObsErrorData <--- TempObsErrorData
# after gross error check.
- filter: Perform Action
filter variables:
- name: airTemperature
action:
name: assign error
error function: TempObsErrorData/airTemperature
where:
- variable:
name: TempObsErrorData/airTemperature
value: is_valid
defer to post: true

# Time window filter
- filter: Domain Check
apply at iterations: 0,1
where:
Expand All @@ -113,12 +188,12 @@
minvalue: -0.10
maxvalue: 0.10

- filter: Temporal Thinning
apply at iterations: 0,1
min_spacing: PT30M
seed_time: *analysisDate
category_variable:
name: MetaData/stationIdentification
#- filter: Temporal Thinning
# apply at iterations: 0,1
# min_spacing: PT00M
# seed_time: *analysisDate
# category_variable:
# name: MetaData/stationIdentification

## Print filter data
#- filter: Print Filter Data
Expand Down
Loading
Loading