Running MET on 64-bit Machines
The MET source code itself compiles and runs fine on 64-bit machines. However, BUFRLIB, on which MET relies for reading PrepBufr point observation files, is not 64-bit compatible.
The PB2NC tool calls BUFRLIB routines to read the PrepBufr data. If running PB2NC on a
64-bit machine, you may encounter a runtime error from BUFRLIB similar to the following:
**************BUFR ARCHIVE LIBRARY ABORT***************
BUFRLIB: OPENBF - FIRST 4 BYTES READ FROM RECORD IN INPUT FILE
CONNECTED TO UNIT 11 NOT 'BUFR', DOES NOT CONTAIN BUFR DATA
**************BUFR ARCHIVE LIBRARY ABORT***************
Ideally, BUFRLIB will eventually be updated to be 64-bit compliant. In the meantime, if you would
like to use PrepBufr point observations in MET and run the PB2NC tool, please follow the directions
below for building a 32-bit version of MET on a 64-bit machine.
Building 32-bit MET on a 64-bit machine
In order to build a 32-bit version of MET on a 64-bit machine, you will need to rebuild MET and all of the libraries on which it relies. Listed below are instructions for building a 32-bit version of MET using the GNU gcc and g77 compilers. It is up to the user to adapt these instructions as neccessary for their machine or if a different set of compilers is chosen.
Compiling 32-bit BUFRLIB
In the BUFRLIB directory, execute the following commands:
- gcc -m32 -c -DUNDERSCORE *.c
- g77 -m32 -c -DUNDERSCORE -fno-second-underscore *.f
- ar crv libbufr.a *.o
Compiling 32-bit NetCDF
In the NetCDF directory, execute the following commands:
- setenv CC /usr/bin/gcc
- setenv CXX /usr/bin/g++
- setenv CFLAGS -m32
- setenv CPPFLAGS -m32
- ./configure --prefix=/install/dir
- make check
- make install
Compiling 32-bit GSL
In the GSL directory, execute the following commands:
- setenv CC /usr/bin/gcc
- setenv CFLAGS -m32
- ./configure --prefix=/install/dir
- make check
- make install
Compiling 32-bit MET
In the top-level MET directory, execute the following commands:
- Edit your Makefile by uncommenting out the -m32 flags.
- make clean
- make >& make_met.log&
- tail -f make_met.log
Running MET
Once MET has been rebuilt, try rerunning the test_pb2nc test script:
- cd scripts
- ./test_pb2nc.sh
If you still encounter a runtime error from the PB2NC tool, try reblocking the input PrepBufr file by running the cwordsh utility on it and rerunning the test script.

