ywangd / pybufrkit

Pure Python toolkit to work with WMO BUFR messages
http://pybufrkit.readthedocs.io/
MIT License
72 stars 28 forks source link

Provide an utility to convert bufr tables of other formats #15

Open ywangd opened 3 years ago

ywangd commented 3 years ago

PyBufrKit has its own format for bufr tables and these are not used anywhere else. It would be useful if there is tool to convert tables of more popular formats, e.g. wmo and ecCdoes to pybufrkit's own format.

ywangd commented 3 years ago

f3ab6af10952b26487378cf36fe2ac57078f5249 adds a script to convert WMO tables published at https://github.com/wmo-im/BUFR4

vasilesirbu95 commented 1 year ago

Hi Yang,

I have the same problem (UnknownDescriptor: Error: Cannot process descriptor 001241 of type: UndefinedElementDescriptor) and I tried to insert the descriptor (001241) into table B. I downloaded the files from https://github.com/wmo-im/BUFR4, after that I put the descriptor in the .csv file "BUFRCREX_Table_en_01.csv" [01,Identification,001241,State/Federal state identifier, CCITT IA5,0,0,32,Character,0,4,,,Operational]. After that I converted the tables into .txt files using "scripts/makeLegacyFormats.sh". I also executed the following commands from "main.yml":

ls txt ls xml git config --global user.email "efucile@wmo.int" git config --global user.name "Enrico Fucile" git branch

On the last command I got the following error: [fatal: not a git repository (or any parent up to mount point /mnt) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).]

Is this procedure correct? What steps do I have to take specifically to initialize the missing descriptors. How can I connect the tables from https://github.com/wmo-im/BUFR4 to pybufrkit, since pybufrkit already has its own tables. Can I ignore the descriptors at all if I don't need them? Can I initialize the missing descriptors using pybufrkit?

Thanks in advance!

ywangd commented 1 year ago

On the last command I got the following error: [fatal: not a git repository (or any parent up to mount point /mnt) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).]

You got this error while working with the github.com/wmo-im/BUFR4 repo. This is not related to PyBufrKit. I suggest you ask elsewhere.

Can I ignore the descriptors at all if I don't need them?

Yes you can specify a different location (with command line option -t) for it to load all the descriptors. You'll need provide all descriptors needed for working with the BUFR messages since PyBufrKit won't use the builtin tables at all once you tell it to load tables from another location.