...
This command generates a python code script that contains the code to update the bufr_encode_new function.
...
ibufr = codes_bufr_new_from_samples('BUFR4')
is not needed This function message_encoding generates handles to bufr messages using a template BUFR4_local that is part of ecCodes installation ( can be seen by using codes_info)as the message handle is provided by the message_encoding function.
Code Block | ||||
---|---|---|---|---|
| ||||
def message_encoding(FullInputFileName,fout): ''' Message encoding function FullInputFilename : full path of the Ascii file for example /tmp/data/rema_20180918.txt fout : file Object to write the output bufr file( obtained by a call to open ) Requires ecCodes and the BUFR4_local template on ECCODES_PATH/share/eccodes/samples ''' TEMPLATE='BUFR4_local' # reads the Ascii file into a pandas Dataframe dfFull=read_ascii(FullInputFileName) # loops over the rows of the dataFrame dfFull for _,row in dfFull.iterrows(): bid=codes_bufr_new_from_samples(TEMPLATE) try: bufr_encode_new(bid,row) codes_write(bid,fout) except CodesInternalError as ec: print ec codes_release(bid) |
...