NOAA-EMC / GDASApp

Global Data Assimilation System Application
GNU Lesser General Public License v2.1
14 stars 28 forks source link

End-to-End Validation] Add JSON, YAML, Python code for GDASApp end-to-end validation of LEOGEO satwinds #1098

Open BrettHoover-NOAA opened 2 months ago

BrettHoover-NOAA commented 2 months ago

Adding satwinds from the low-Earth orbiting / geostationary (LEOGEO) from multiple satellite platforms to GDASApp end-to-end testing

new files include: parm/atm/obs/config/satwind_leogeo_multi.yaml.j2: QC filter YAML for LEOGEO satwinds (jinja2 standard) parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.json: JSON containing data format, sensor, and satellite information for LEOGEO satwinds ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_leogeo.py: bufr2ioda code for extracting LEOGEO satwinds from BUFR

End-to-End Test Results

LEOGEO satwinds consist of (LW)IR (type=255) from composites of multiple satellites that are tanked and dumped into BUFR subset NC005072. No thinning is applied to these tests in either GSI or JEDI by regular convention.

LEOGEO LW(IR) Satwinds (type=255, subtype=854)

There are 65549 LEOGEO LW(IR) satwinds in both the UFO and GSI test datasets and 39236 in the GSI. There are 63108 satwinds assimilated in JEDI and 63061 in GSI, a difference of roughly 0.1%. Differences in acceptance are either due to small differences in the gross-error check for an observation very close to the threshold (1 observation) or are all near the tropopause and are theorized to be differences related to differences in how the tropopause pressure is defined in both systems and the filter rejecting observations within 50 hPa of the tropopause.

Accepted observations are distributed similarly between GSI and JEDI: image

The windEastward and windNorthward values, their HofX values, and the OmB look good comparing GSI and JEDI: image image image

Overall error comparisons between JEDI and GSI look good - there are a few outstanding differences where GSI assigns a higher error to an observation than JEDI, but these are infrequent and are likely due to differences in duplicate error inflation since GSI is processing all AMVs on a single processor and can identify duplicates across types while JEDI processes types on separate processors and the cross-type duplicates are invisible.

plan map distribution: image

vertical profile: image There appear to be cases where there is more than one duplicate observation, pushing ob-error to higher multiplicative values relative to the base error profile.