This directory contains example make file templates for various different compilers. To compile and link using one of these templates copy the template into the source directory and edit the path name variables and compiler options variables to work for your site. The compiler and compiler options need to be consistent with the options that were used to build ESMF. The section "Edting Templates" below describes the variables that will normally need to be edited. The options and compiler used to build ESMF can be found in the directory in which ESMF was built. For summary information on building ESMF see the file "README" in the root directory of the ESMF 2.0 distribution. More extensive information on building ESMF can be found in the ESMF User Guide that is available online from http://www.esmf.ucar.edu in both .html and .pdf form and that is also included in the ESMF 2.0 distribution. Editing Templates ================= Each of the Makefile templates has the following structure : Per platform/compiler/site variables : include .obj_list : Compiler commands : To customize the Makefile for a particular site it is normally only necessary to edit the "Per platform/compiler/site variable" sections. This section contains the following varaibles: fbase :: This is the base directory for the Fortran compiler you use. fcomp :: This is the name of the Fortran compilerr you use. fopt :: These are options that the Fortran compiler requires for the compileation stage. lopt :: These are options that the Fortran compiler requires for the link stage. ebase :: This is the base directory where the ESMF build is located. esmfmod :: This is the location under "ebase" where the ESMF module files are located. esmflib :: This is the location under "ebase" where the ESMF library files are located. Typical setting of these variables would look like fbase = /soft/com/packages/intel-8 fcomp = $(fbase)/bin/ifort fopt = lopt = -mp -Wl,-rpath,$(fbase)/lib -L$(fbase)/lib \ -L/soft/apps/packages/netcdf-3.5.1/lib \ -lcprts -lrt -lmpiuni -lnetcdf ebase = /home/hill/src/ESMF_2_0_0rp1_20040708.s01 esmfmod = $(ebase)/mod/modg/Linux.intel.32.default esmflib = $(ebase)/lib/libg/Linux.intel.32.default This example is for the x86 cluster "jazz.lcrc.anl.gov" at Argonne national laboratory. The settings are for using the Intel 8.0 compiler "ifort" that is in the system directory "/soft/com/packages/intel-8" on the jazz system. The "lopt" settings are taken from the settings that were used for the ESMF build. These settings are determined during ESMF installation. The ESMF installation must be carried out before the example codes can be compiled. The root directory for the ESMF installation is "/home/hill/src/ESMF_2_0_0rp1_20040708.s01". Within that directory the files that are used to compile the example codes are the ESMF libraries (these are located under the directory path in "esmflib" ) and module files for the ESMF library (these are located under the diretory path in "esmfmod").