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

[End-to-End Validation] Add JSON, YAML, Python code for GDASApp end-to-end validation of VIIRS SNPP/NOAA-20 satwinds #1054

Open
BrettHoover-NOAA opened this issue Apr 17, 2024 · 0 comments

Comments

@BrettHoover-NOAA
Copy link
Collaborator

Adding satwinds from the Visible Infrared Imaging Radiometer Suite (VIIRS) from SNPP/NOAA-20 to GDASApp end-to-end testing

new files include:
parm/atm/obs/config/satwind_viirs_npp.yaml.j2: QC filter YAML for VIIRS SNPP satwinds (jinja2 standard)
parm/atm/obs/config/satwind_viirs_n20.yaml.j2: QC filter YAML for VIIRS NOAA-20 satwinds (jinja2 standard)
parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.json: JSON containing data format, sensor, and satellite information for VIIRS SNPP/NOAA-20 satwinds
ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.py: bufr2ioda code for extracting VIIRS SNPP/NOAA-20 satwinds from BUFR

End-to-End Test Results

VIIRS satwinds consist of (LW)IR (type=260) from SNPP and NOAA-20 satellites that are tanked and dumped into BUFR subset NC005091. No thinning is applied to these tests in either GSI or JEDI by regular convention.

SNPP LW(IR) Satwinds (type=260, subtype=224)

There are 39240 SNPP VIIRS LW(IR) satwinds in the UFO test dataset and 39236 in the GSI. The outstanding 4 satwinds that appear in the UFO diag file but not in the GSI diag file are all at pressures less than 125 hPa and are rejected by a pressure-check filter. There are no VIIRS observations at pressures less than 125 hPa in the GSI diag file. There are 27529 satwinds assimilated in JEDI and 27560 in GSI, a difference of roughly 0.1%.

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

NOAA-20 LW(IR) Satwinds (type=260, subtype=225)
There are 44849 NOAA-20 VIIRS LW(IR) satwinds in the UFO test dataset and 44847 in the GSI. The outstanding 2 satwinds that appear in the UFO diag file but not in the GSI diag file are all at pressures less than 125 hPa and are rejected by a pressure-check filter. There are no VIIRS observations at pressures less than 125 hPa in the GSI diag file. There are 31839 satwinds assimilated in JEDI and 31863 in GSI, a difference of roughly 0.07%.

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

CoryMartin-NOAA pushed a commit that referenced this issue Apr 25, 2024
Adding satwinds from the Visible Infrared Imaging Radiometer Suite
(VIIRS) from SNPP/NOAA-20 to GDASApp end-to-end testing

new files include:
parm/atm/obs/config/satwind_viirs_npp.yaml.j2: QC filter YAML for VIIRS
SNPP satwinds (jinja2 standard)
parm/atm/obs/config/satwind_viirs_n20.yaml.j2: QC filter YAML for VIIRS
NOAA-20 satwinds (jinja2 standard)
parm/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.json: JSON containing
data format, sensor, and satellite information for VIIRS SNPP/NOAA-20
satwinds
ush/ioda/bufr2ioda/bufr2ioda_satwind_amv_viirs.py: bufr2ioda code for
extracting VIIRS SNPP/NOAA-20 satwinds from BUFR

See #1054 for end-to-end testing results. Acceptance and ob-errors agree
well with some expected deviation. No thinning is applied to these winds
by regular convention.

Note: We are still using `qualityInformationWithoutForecast` as the
variable-name for QI in the IODA converter. This variable-name is
currently not registered in the IODA ObsSpace.yaml, but there is an
ongoing discussion with JCSDA to have it added, issue is here:
JCSDA-internal/ioda#1233

Co-authored-by: Brett Hoover <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant