======How to Compile MET v3.0 of programs on ABE======
*Can be downloaded from the [[http://www.dtcenter.org/met/users/downloads/index.php|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 commandresoft
-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 [[http://www.nco.ncep.noaa.gov/sib/decoders/BUFRLIB/|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 //Makefile//cp 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, usemake >& 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 buildcd 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 [[http://www.dtcenter.org/met/users/support/online_tutorial/METv2.0/compilation/index.php|here]].
*created by Brandon Austin 10/16/10