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 Test Code Sprint] BUFR to IODA converter for ADPUPA bufr dump #978

Open
3 of 6 tasks
PraveenKumar-NOAA opened this issue Mar 19, 2024 · 9 comments
Open
3 of 6 tasks
Assignees

Comments

@PraveenKumar-NOAA
Copy link
Collaborator

PraveenKumar-NOAA commented Mar 19, 2024

Configuration

  • Test Date is 2021080100
  • BUFR Converter:
    • Convert time to dateTime (in units of seconds since 1970-01-01T00:00:00Z)
    • Add conversions of: latitude, longitude, stationIdentification, stationElevation, windEastward, windNorthward, airTemperature, dewPointTemperature, and pressure
  • Convert BUFR to IODA format using Python API
  • Create a JSON file for the converter
  • Run and update run_bufr2ioda.py for the converter
  • Run UFO HofX

Check List

Investigate diag output from UFO

  • bufr2ioda_adpupa.json
  • ADPUPA bufr version of Python API
  • dateTime, receiptTime, launchTime
  • driftTime, driftLatitude, driftLongitude
  • ADPUPA HofX
  • GSI HofX

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 PraveenKumar-NOAA self-assigned this Mar 19, 2024
@PraveenKumar-NOAA
Copy link
Collaborator Author

PraveenKumar-NOAA commented Mar 19, 2024

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

PraveenKumar-NOAA commented May 10, 2024

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

windNorthward:

prepbufr_windNorthward

bufr_windNorthward

@PraveenKumar-NOAA
Copy link
Collaborator Author

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
Copy link
Collaborator Author

@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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

BUFR/airTemperature:
bufr_aspupa_airTemperature

IODA/airTemperature:
bufr_airTemperature (2)

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