Open emilyhcliu opened 12 months ago
obs operator:
name: VertInterp
The comparison of HofX between GSI and JEDI:
Note that there are a few outliers with HofX differences as large as 0.1 m/s
obs operator:
name: VertInterp
apply near surface wind scaling: true
The comparison of HofX between GSI and JEDI:
The obs operator result with surface wind scaling applied is much improved. (the second set of plots have 1e-5 scaled for hofx difference)
The near-surface wind scaling is necessary for AMVs because the retrieved AMVs can be found near the surface between 1000 and 900 hPa. And GSI applies near-surface wind scaling to all wind types, not limited to surface wind.
current vfit of wind data, ranges in m/s
o-g ptop 0.100E+04 0.900E+03 0.800E+03 0.600E+03 0.400E+03 0.300E+03 0.250E+03 0.200E+03 0.150E+03 0.100E+03 0.500E+02 0.000E+00
o-g it obs use typ styp pbot 0.120E+04 0.100E+04 0.900E+03 0.800E+03 0.600E+03 0.400E+03 0.300E+03 0.250E+03 0.200E+03 0.150E+03 0.100E+03 0.200E+04
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
o-g 01 asm all count 0 90171 94849 24593 55301 86415 52801 94765 75016 1532 0 575443
o-g 01 asm all bias 0.000E+00 0.194E-02 0.105E+00 0.109E+00 -0.306E+00 0.122E+00 0.407E+00 -0.158E+00 -0.632E+00 -0.638E+00 0.000E+00 -0.615E-01
o-g 01 asm all rms 0.000E+00 0.181E+01 0.216E+01 0.366E+01 0.442E+01 0.488E+01 0.491E+01 0.445E+01 0.488E+01 0.655E+01 0.000E+00 0.400E+01
o-g 01 asm all cpen 0.000E+00 0.248E-01 0.529E-01 0.274E+00 0.243E+00 0.140E+00 0.820E-01 0.468E-01 0.541E-01 0.246E+00 0.000E+00 0.916E-01
o-g 01 asm all qcpen 0.000E+00 0.246E-01 0.520E-01 0.264E+00 0.231E+00 0.138E+00 0.815E-01 0.468E-01 0.541E-01 0.242E+00 0.000E+00 0.895E-01```
GMAO added the GSI-modified model-calculated fact10 in UFO as part of the variable transform.
Our input test data has been updated to store the original fact10 from fv3.
The satwind yaml requires the following update in the obs operator section:
obs operator:
name: VertInterp
hofx scaling field: SurfaceWindScalingPressure
hofx scaling field group: DerivedVariables
And, need a corresponding update in the prior-filter section:
obs prior filters:
- filter: Variable Transforms
Transform: SurfaceWindScalingPressure
SkipWhenNoObs: False
The comparison of HofX between GSI and JEDI:
The results are consistent with the original results and the near-surface wind factor applied (see previous comment).
The above is to test the changes for HofX.
The following is to test with QC filtering.
The Final Obs Error between GSI and JEDI has small difference for a few locations (less than 0.05 m/s)
I did not turn off duplicate check in the test data set and in the satwind.yaml. Maybe this is the cause of the differece in obserr.
Issue found with latest update in JEDI
# Type 240 (GOES SWIR): Assigned all dummy values in prepobs_errtable.global
- filter: Perform Action
filter variables:
- name: windEastward
- name: windNorthward
where:
- variable: ObsType/windEastward
is_in: 240
minvalue: -135.
maxvalue: 135.
action:
name: assign error
error function:
name: ObsFunction/ObsErrorModelStepwiseLinear
options:
xvar:
name: MetaData/pressure
xvals: [110000.,0.] #Pressure (Pa)
errors: [1000000000.,1000000000.]
The satwind.yaml failed at
minvalue: -135.
maxvalue: 135.
The set of min/max entries in the section above is not valid.
The previous JEDI version ignore the entries it does not recognize.
The current JEDI version seems to check if the keywords are valid.
In this case, we do not need the set minvalue/maxvalue for the error assignment. So, they are removed without any impact to the final result.
Updated results:
GOES-17 OMF
GOES-17 Obs Error
There are several UFO updates from GMAO regarding winds.
This PR is to test the updates from GMAO for satellite AMVs
Here is the collection of related UFO PRs PR #3061 PR #3050 PR #3026
Notes for Input Test Data:
The test input data for winds must also be updated since we need to save the original fact10 (data(iff10,i))calculation from the fv3, not the fact10 modified by GSI (factw) based on lower model height (related GSI code section)
add slmsk (related to idomsfc and isflg used in GSI), water_area_fraction, land_area_fraction, ice_area_fraction, snow_area_fraction
Notes: Check GeoVaLs: slmsk and area_fraction (water, ice, snow, and land) Model: slmsk: 0, 1, 2 (sea, land, ice) GeoVaLs: slmsk: 0, 1, 2, 3, 4, 5 (model slmsk + 3 ---> 0+3, 1+3, 2+3 ---> 3, 4, 5
In GSI: for satwind use idomsfc from deter_sfc2 use iflg from deter_sfc_type
idomsfc is determined by ilsi_full and weights (dist between grid points and obs) idomsfc is determined by model slmsk and slmsk+3 idomsfc ranges from 0, 1, 2, 3, 4, 5
isflg is deermined by islis_full and weights ---> sfcpct (surface type %) ---> isflg surface type % > 0.99 ---> isflg - surface_type isflg = 0 (sea); 1 (land); 2 (ice); 3 (snow); 4 (mixed)
There is no isflg in fv3-jedi, so add area_fractions
Set nvqc = .false. (turn off varQC)
No FGAT