NOAA-EMC / GDASApp

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

[End-to-End Test Code Sprint] BUFR to IODA converter for ADPUPA bufr dump #978

Open PraveenKumar-NOAA opened 7 months ago

PraveenKumar-NOAA commented 7 months ago

Configuration

Check List

Investigate diag output from UFO

The following ADPUPA BUFR subsets will be included into the converter:

| NC002001 | A63218 | MSG TYPE 002-001 RAWINSONDE - FIXED LAND | | NC002002 | A63219 | MSG TYPE 002-002 RAWINSONDE - MOBIL LAND | | NC002003 | A63220 | MSG TYPE 002-003 RAWINSONDE - SHIP | | NC002004 | A63221 | MSG TYPE 002-004 DROPWINSONDE | | NC002005 | A63222 | MSG TYPE 002-005 PIBAL |

PraveenKumar-NOAA commented 7 months ago

A first version of the API is finished using the original LAT/LON. The end-to-end tests were run and scatter plots were created for the following observations:

airTemperature: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_airTemperature

windEastward: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_windEastward

windNorthward: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_windNorthward

PraveenKumar-NOAA commented 7 months ago

JEDI h(x) vs obsValues plots created after fixing the dateTime variable issues:

airTemperature: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_airTemperature (1)

windEastward: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_windEastward (1)

windNorthward: jedi_hofx0_vs_obs_diag_sondes_2021080100_Radiosondes_windNorthward (1)

PraveenKumar-NOAA commented 5 months ago

Comparison of the data files generated using the prepBUFR and BUFR Python API:

prepBUFR: Total Counts or locations - 270,600 (1353, 200) BUFR: Total Counts or locations - 188,190 (738, 255)

Pressure Comparison:

prepBUFR Location - 270600 Missing values - 190565 Total obs - (270600 - 190565) = 80,035

prepbufr_pressure

BUFR Location - 188190 Missing values - 123236 Total obs - (188190 - 123236) = 64,954

bufr_pressure

PraveenKumar-NOAA commented 5 months ago

Wind Comparison:

prepBUFR Location - 270600 Missing values - 228986 Total obs - (270600 - 228986) = 41,614

prepbufr_windEastward

BUFR Location - 188190 Missing values - 135259 Total obs - (188190 - 135259) = 52931

bufr_windEastward

PraveenKumar-NOAA commented 5 months ago

windNorthward:

prepbufr_windNorthward

bufr_windNorthward

PraveenKumar-NOAA commented 5 months ago

Temperature Comparison:

prepBUFR Location - 270600 Missing values - 255384 Total obs - (270600 - 255384) = 15,216

prepbufr_airTemperature

BUFR Location - 188190 Missing values - 142596 Total obs - (188190 - 142596) = 45,594

bufr_airTemperature

PraveenKumar-NOAA commented 5 months ago

@emilyhcliu I created plots for the pressure, wind, and temperature observations using the ioda files generated using the adpupa prepbufr and bufr python api. Please look at these plots and let me know your comments/suggestions.

PraveenKumar-NOAA commented 5 months ago

Validation for the Python API converter: following plots were created using observation from the input BUFR DUMP and output IODA files:

BUFR/pressure: bufr_aspupa_pressure

IODA/pressure: bufr_pressure (4)

PraveenKumar-NOAA commented 5 months ago

BUFR/airTemperature: bufr_aspupa_airTemperature

IODA/airTemperature: bufr_airTemperature (2)