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

Python converter for NEXRAD BUFR DUMP #225

Open
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

PraveenKumar-NOAA
Copy link
Contributor

This PR adds a Python converter for NEXRAD BUFR DUMP data.

The converter will be used to transform NEXRAD BUFR data into IODA (netCDF) format. Following steps similar to the GDASApp, a Python file and a JSON description file were created.

The following two files are new:

~/IODA/python/bufr2ioda_nexrad.py
~/IODA/python/bufr2ioda_nexrad.json

Related issue: #220

Validation for the output observation and IODA variable naming has been performed. A few variable names need to be discussed and will be adde to naming variable table.

@HuiLiu-NOAA
Copy link
Collaborator

HuiLiu-NOAA commented Nov 19, 2024 via email

Copy link
Contributor

@SamuelDegelia-NOAA SamuelDegelia-NOAA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! This converter takes a bit longer than the others (~210 s) but that is to be expected with the very large number of obs in the NEXRAD bufr data.

@PraveenKumar-NOAA
Copy link
Contributor Author

@delippi @ShunLiu-NOAA please review this PR.

q.add('gateRange', '*/NL2RW{1}/DIST125M')
q.add('radialVelocity', '*/NL2RW{1}/DMVR')
q.add('spectralWidth', '*/NL2RW{1}/DVSW')
q.add('ppiVolume', '*/VOID')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use volumeIndex and scanIndex for VOID and SCID?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ShunLiu-NOAA thanks, updated names as volumeIndex and scanIndex for VOID and SCID, respectively.

q.add('volumeCoveragePattern', '*/VOCP')

# QualityMarker
q.add('windAlongRadialLineQM', '*/QCRW')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use radialWindQM for QCRW?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hsmsl = r.get('height', 'spectralWidth')
hsalg = r.get('heightOfAntenna', 'spectralWidth')
void = r.get('volumeIndex', 'spectralWidth')
scid = r.get('sacnIndex', 'spectralWidth')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a typo? scanIndex

rrfs-test/IODA/python/bufr2ioda_nexrad.json Show resolved Hide resolved
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

Successfully merging this pull request may close these issues.

5 participants