How to Compile MET v3.0 of programs on ABE
*Can be downloaded from the DTC GSI site. Enter the email address in the line and press enter. You will only be asked to register the first time an email address is used. After that, only the email is needed.
Prep
While in your home directory on abe, open the file .soft with your favorite text editing program. ex. (vi , pico)
Make sure that the following tags are included if using Intel compilers
@teragrid-basic
@default
@teragrid-dev
+netcdf
+intel-10.0
After updating
.soft, use the command
resoft
At current, abe doesn't have all the libraries need for the build. BUFRLIB will need to be downloaded and compiled. It can be downloaded from
here. Transfer the file to abe with the command detailed below.
Then unpack the file with the following commands.
mkdir BUFRLIB
mv BUFRLIB.tar BUFRLIB
cd BUFRLIB
tar xf BUFRLIB.tar
I found the Portland Group compilers work.
The README_BUFRLIB file calls for the FORTRAN 77 and ANSI C compilers.
Open
preproc.sh in a text editor and add
AC=/usr/local/pgi/linux86-64/10.8/bin/pgcc
under ENDIANTEST and change
/usr/lib/cpp -P -D$byte_order $i $bnf
to
cpp -P -D$byte_order $i $bnf
Run preproc.sh
./preproc.sh
Then use the following set of commands to compile the rest of the code
pgcc -c -DUNDERSCORE *.c
pgf77 -c -DUNDERSCORE -Mnosecond_underscore *.f *.F
ar crv libbufr.a *.o
Warnings may be encountered when compiling a few of the BUFRLIB files but they may be ignored.
MET v3.0
Download MET, which will come in the form of METv3.0.20100930.tar.gz.
Then transfer the file to abe with the command
scp file username@login-abe.ncsa.teragrid.org:/u/ac/username
note that if you don't have the ability to access abe from outside the teragrid's web based portal, this might not work. You would then have to use the teragrid portal file transfer application.
Once the file is on abe, you must untar and ungzip the file.
tar xzf filename
Move into the new directory and cp the appropriate default make file to
Makefilecp METv2.0/Makefile_gnu Makefile
cp METv2.0/Makefile_pgi Makefile
cp METv2.0/Makefile_ibm Makefile
cp METv2.0/Makefile_intel Makefile
For this compilation, the Intel compilers will be used. It was found to compile easily.
Open the new Makefile with your favorite text editor.
Place the appropriate pathways for each compiler and library.
CXX = /usr/local/intel/10.1.017/bin/icc
FC = /usr/local/intel/10.1.017/bin/ifort
NETCDF_BASE = /usr/apps/lib/netcdf
GSL_BASE = /usr/apps/math/gsl/gsl-1.10/intel10
For the
BUFRLIB, use the pathway to your own build.
BUFR_BASE = /u/ac/username/BUFRLIB
To build MET, use
make >& make_met.log&
tail -f make_met.log
CNTL-C will exit the tail command.
Search the
make_met.log file for the statement that means the build was successful.
*** Finished Making the Model Evaluation Tools Project ***
To run the scripts to test the build
cd scripts
./test_all.sh >& test_all.log&
tail -f test_all.log
Any parts of the build that were disabled in the make file will fail. PB2NC could possibly fail because it requires a 32-bit build to work and this is a 64-bit build. In my build, PB2NC was disabled in the makefile.
Examine the
test_all.log file for the message to confirm the run was successful.
*** Finished Testing the Model Evaluation Tools Project ***
To examine the output files from the test runs.
cd ../out
A tutorial with additional compilation instructions and instructions on test cases can be found
here.
*created by Brandon Austin 10/16/10