Configure.user file: SESAME case for IBM SP2

This is the standard configuration file, modified to run the SESAME case on the IBM SP2. Note changes to Sections 2 (The RUNTIME_SYSTEM variable has been set to sp2) and 7a (the options for the IBM SP2 have been uncommented; that is, the # characters have been removed from the beginning of the lines). Also please note that the IBM ESSL fast math library has been specified using -lessl. The MASS fast math library is also an option, or you may run without either of these options (don't try with both). Please ask your system administrator which library is available on your system.

# Sections
# 1. System Variables
# 2. User Variables
# 3. Fortran options
#    3a. Cray (YMP, J90)
#        Note: set RUNTIME_SYSTEM="CRAY_IA" for Cray interactive job
#    3b. IRIX.6.2 (SGI_R8000,SGI_R10000)
#    3c. IRIX.5.2/5.3 (SGI_R4000/SGI_R4400/SGI_R5000)
#        Note: set RUNTIME_SYSTEM="SGI_R4000" for SGI_R4400/SGI_R5000
#    3d. SUN Fortran (solaris,SPARC20/SPARC64)
#    3e. DEC_ALPHA (OSF/1)
#    3f. IBM (AIX)
#    3g. HP (UX)
#    3h. HP (SPP-UX) for HP Exemplar S/X-Class Systems
# 4. General commands
# 5. Options for making "./include/parame.incl"
# 6. Physics Options (memory related)
# 7. MPP Options (Set no options in section 3)
#    7a. IBM SP2
#    7b. Cray T3E
#    7c. SGI Origin 2000
#    7d. HP Exemplar
#    7e. DEC ALPHA/MPI
#    7f. Fujitsu VPP
#    7g. Network of Linux PCs with MPI

#
#-----------------------------------------------------------------------------
# 1. System Variables 
#-----------------------------------------------------------------------------
SHELL =         /bin/sh
.SUFFIXES: .F .i .o .f .c
#-----------------------------------------------------------------------------
2. User Variables
#-----------------------------------------------------------------------------
# RUNTIME_SYSTEM                - Currently supported systems.
#                                 SGI_R4000,SGI_R8000,CRAY,CRAY_IA,
#                                 SUN,DEC_ALPHA,IBM,HP,,HP-SPP,HP-SPP_IA
#                               - MPP version:
#                                 o2k, t3e, alpha, sp2, hp, vpp, linux
#                                 Presently, of the MPP platforms only the "sp2" 
#                                 is supplied with the "make deck" capability.
RUNTIME_SYSTEM = sp2
#
#-----------------------------------------------------------------------------
# 3. Fortran options
#-----------------------------------------------------------------------------
LIBINCLUDE = $(DEVTOP)/include
#-----------------------------------------------------------------------------
#    3a. Cray
#    Note: - imsl library is only needed if running Arakawa-Schubert cumulus scheme;
#          and the location of the library may be different on non-NCAR Crays.
#          - if you are using the new program environment on Cray, should set
#          CPP = /opt/ctl/bin/cpp
#          - select the right compilation option for Cray - you may use
#          f90 option on paiute
#
#-----------------------------------------------------------------------------
# if you are running on paiute/shavano
FC = cf77
FCFLAGS = -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -Zu
# if you are running on ouray
#FC = f90
#FCFLAGS = -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -O task1
CFLAGS =
CPP = /opt/ctl/bin/cpp
CPPFLAGS = -I$(LIBINCLUDE) -C -P
LDOPTIONS =
LOCAL_LIBRARIES = -L /usr/local/lib -l imsl
MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3b. IRIX.6.2 (SGI_R8000,SGI_R10000)
#        - use the second LDOPTIONS if compiling Burk-Thompson PBL scheme       
#        - use the first FCFLAGS if using 7.0 and above compiler
#        - do not use -lfastm for R10000 and Origin series for compiler
#          versions 7.0 and 7.1, unless patches are installed. For more
#          information please see MM5 Web page:
#            http://www2.mmm.ucar.edu/mm5/mm5v2-timing.html
#-----------------------------------------------------------------------------
#FC = f77
#FCFLAGS = -I$(LIBINCLUDE) -O3 -n32 -mips4 -mp -OPT:roundoff=3:IEEE_arithmetic=3
##FCFLAGS = -I$(LIBINCLUDE) -O3 -SWP:=ON -n32 -mips4 -mp \
##-OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001:fprop_limit=1000 \
##-SWP:body_ins_count_max=0
#CFLAGS = 
#CPP = /usr/lib/cpp 
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
#LDOPTIONS = -n32 -mips4 -mp
##LDOPTIONS = -n32 -mips4 -mp -Wl,-Xlocal,bt1_,-Xlocal,blk1_,-Xlocal,blk2_
#LOCAL_LIBRARIES = -lfastm
##LOCAL_LIBRARIES =
#MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3c. IRIX.6.2 (SGI_R4400/SGI_R4000/SGI_R5000)
#-----------------------------------------------------------------------------
#FC = f77
#FCFLAGS = -I$(LIBINCLUDE) -mips2 -32 -O2 -Nn30000 -Olimit 1500
#CFLAGS = 
#CPP = /usr/lib/cpp
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
#LDOPTIONS = 
#LOCAL_LIBRARIES = -lfastm
#MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3d. SUN (solaris,SPARC20/SPARC64)
#-----------------------------------------------------------------------------
#FC = f77
#FCFLAGS = -fast -O2 -I$(LIBINCLUDE)
#CFLAGS = 
#LDOPTIONS = -fast -O2
#CPP = /usr/lib/cpp
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
#LOCAL_LIBRARIES = 
#MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3e. DEC_ALPHA (OSF/1)
#-----------------------------------------------------------------------------
#FC = f77
#FCFLAGS = -cpp -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -c -O4 -Olimit 2000 \
#-fpe0 -align dcommons -align records -warn nounreachable -convert big_endian
#CFLAGS = 
#CPP = cpp
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
#LDOPTIONS = -math_library accurate
#LOCAL_LIBRARIES = 
#MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3f. IBM (AIX)
#        for xlf compiler, use 'make little_f' instead of 'make' to compile
#-----------------------------------------------------------------------------
#FC = xlf
#FCFLAGS = -I$(LIBINCLUDE) -O -qmaxmem=-1
##FCFLAGS = -I$(LIBINCLUDE) -qmaxmem=-1
#CPP = /usr/lib/cpp
#CFLAGS = 
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
##LDOPTIONS = -qmaxmem=-1 -O
#LDOPTIONS = -qmaxmem=-1 
#LOCAL_LIBRARIES =
#MAKE = make -i
#-----------------------------------------------------------------------------
#    3g. HP (UX)
#-----------------------------------------------------------------------------
#FC = f77
#FCFLAGS = -I$(LIBINCLUDE) -O  
#CPP = /usr/lib/cpp 
#CFLAGS = -Aa
#CPPFLAGS = -I$(LIBINCLUDE) -C -P 
#LDOPTIONS = 
#LOCAL_LIBRARIES =
#MAKE = make -i -r
#-----------------------------------------------------------------------------
#    3h. HP-SPP (SPP-UX), and HP-SPP_IA
#-----------------------------------------------------------------------------
#FC        = f77
#PA8K      = +DA2.0N +DS2.0a
#ARCH      = ${PA8K}
#PROFILE   =
#INLINE    = +Olimit +Oinline=_saxpy,vadv,hadv,sinty,sintx,slab,diffut
#PARALLEL  = +O3 +Oparallel +Onofail_safe +Onoautopar +Onodynsel
#
## Use the following FCFLAGS to build single-threaded executable
##FCFLAGS   = ${PROFILE} ${ARCH} -I$(LIBINCLUDE) +O3 +Oaggressive \
##            +Olibcalls ${INLINE}
#
## Use the following FCFLAGS to build a parallel executable
#FCFLAGS   = ${PROFILE} ${ARCH} -I$(LIBINCLUDE) ${PARALLEL} \
#             +O3 +Oaggressive +Olibcalls ${INLINE}
#
#CPP = /usr/lib/cpp
#CFLAGS = ${PROFILE} -Aa
#CPPFLAGS = -I$(LIBINCLUDE) -C -P
#LDOPTIONS = ${FCFLAGS} -Wl,-aarchive_shared -Wl,+FPD
#LOCAL_LIBRARIES = -Wl,/usr/lib/pa1.1/libm.a
#MAKE = gmake -j 4 -i -r
#-----------------------------------------------------------------------------
# 4. General commands
#-----------------------------------------------------------------------------
AR = ar ru
RM = rm -f
RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o *.i core errs ,* *~ *.a \
.emacs_* tags TAGS make.log MakeOut *.f !
GREP = grep -s
CC = cc
#-----------------------------------------------------------------------------
# 5. Options for making ./include/parame.incl
#-----------------------------------------------------------------------------
#
# NHYDRO (integer)                  - "1" -> NonHydrostatic run
#                                   - "0" -> Hydrostatic run
NHYDRO = 1
# FDDAGD (integer)                  - "1" -> FDDA gridded run
#                                   - "0" -> NonFDDA run
FDDAGD = 0
# FDDAOBS (integer)                 - "1" -> FDDA obs run
#                                   - "0" -> NonFDDA run
FDDAOBS = 0
# MAXNES (integer)                  - Max Number of Domains in simulation
MAXNES = 2
# MIX,MJX (integer)                 - Maximum Dimensions of any Domain
MIX = 34
MJX = 37

# MKX (integer)                     - Number of half sigma levels in model
MKX = 23
#-----------------------------------------------------------------------------
# 6. Physics Options
#    The first MAXNES values in the list will be used for the corresponding
#        model nests; the rest in the list can be used to compile other options.
#        The exception is FRAD, of which only the first value is used in the model,
#        (i.e., only one radiation option is used for all nests). The rest allow 
#        other options to be compiled.
#-----------------------------------------------------------------------------
# IMPHYS - for explicit moisture schemes (array,integer)
IMPHYS = "4,4,1,1,1,1,1,1,1,1"      
#                                   - Dry,stable precip.,warm rain,simple ice 
#                                   - 1  ,2             ,3        ,4
#                                   - mix phase,graupel(gsfc),graupel(reisner2)
#                                   - 5        ,6            ,7
MPHYSTBL = 0
#                                   - 0=do not use look-up tables for moist 
#                                     physics
#                                   - 1=use look-up tables for moist physics 
#                                     (currently only simple ice and mix phase 
#                                      are available)
#
# ICUPA - for cumulus schemes (array,integer)
#                                   - None,Kuo,Grell,AS,FC,KF,BM - 1,2,3,4,5,6,7
ICUPA  = "3,3,1,1,1,1,1,1,1,1"
#
# IBLTYP - for planetary boundary layer (array,integer)
#                                   - PBL type 0=no PBL fluxes,1=bulk,
#                                     2=Blackadar,3=Burk-Thompson,5=MRF(ISOIL=1)
IBLTYP  = "5,5,2,2,2,2,2,2,2,1"
#
# FRAD - for atmospheric radiation (integer)
#                                   - Radiation cooling of atmosphere 
#                                     0=none,1=simple,2=cloud,3=ccm2
FRAD = "2,0,0,0,0"
#
# ISOIL - for multi-layer soil temperature model (integer)
#                                   - 0=no,1=yes (only works with IBLTYP=2,5)
ISOIL = 1
#
# ISHALLO (array,integer)           - Shallow Convection Option
#                                     1=shallow convection,0=No shallow convection
ISHALLO  = "0,0,0,0,0,0,0,0,0,0"
#-----------------------------------------------------------------------------
# 7. MPP options
#-----------------------------------------------------------------------------
# MPP Software Layer
MPP_LAYER=RSL
#MPP_LAYER=NNTSMS


# PROCMIN_NS - minimum number of processors allowed in N/S dim
#
PROCMIN_NS = 1
#
# PROCMIN_EW - minimum number of processors allowed in E/W dim
#
PROCMIN_EW = 1
#
# ASSUME_HOMOGENOUS_ENVIRONMENT - on a machine with a heterogeneous
# mix of processors (different speeds) setting this compile time
# constant to 0 (zero) allows the program to detect the speed of each
# processor at the beginning of a run and then to attempt to come up with
# an optimal (static) mapping.  Set this to 0  for a heterogeneous
# mix of processors, set it to 1 for a homogeneous mix.  Unless you
# are certain you have a heterogeneous mix of processors, leave this
# set to 1.  Currently, this option is ignored on platforms other
# than the IBM SP.
#   ---(Note to AFGWC: set this to 0 for your SP2)---
#
ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#
#-----------------------------------------------------------------------------
#    
7a. IBM SP2
#         type 'make mpp' for the SP2
#-----------------------------------------------------------------------------
MPP_TARGET=$(RUNTIME_SYSTEM)
MFC = xlf
MCC = mpcc
MLD = mpxlf
FCFLAGS = -O3 -qstrict -qarch=pwrx -qhsflt
LDOPTIONS =
#LOCAL_LIBRARIES = -lmass
LOCAL_LIBRARIES = -lessl
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = expand
M4 = m4
CPP = /lib/cpp -C -P
CPPFLAGS = -DMPI -Drs6000
CFLAGS = -DNOUNDERSCORE -DMPI
ARCH_OBJS =  milliclock.o
IWORDSIZE = 4
RWORDSIZE = 4
LWORDSIZE = 4
#-----------------------------------------------------------------------------
#    
7b. T3E
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = f90
#MCC = cc
#MLD = $(MFC)
##FCFLAGS = -g
#FCFLAGS = -O2
#LDOPTIONS =
#LOCAL_LIBRARIES =
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = expand
#M4 = m4
#CPP = /opt/ctl/bin/cpp -C -P
#CPPFLAGS = -DMPI -DT3E
#CFLAGS = -DNOUNDERSCORE -Dt3e -DT3E -DMPI
#ARCH_OBJS = error_dupt3d.o t3etraps.o set_to_nan.o milliclock.o
#IWORDSIZE = 8
#RWORDSIZE = 8
#LWORDSIZE = 8
#ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#-----------------------------------------------------------------------------
#    
7c. Origin 2000
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = f77 -n32 -mips4 -w
#MCC = cc -n32 -mips4 -w
#MLD = f77 -n32 -mips4
##FCFLAGS = -g
#FCFLAGS = -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
#LDOPTIONS =
#LOCAL_LIBRARIES = -lfastm /usr/lib32/libmpi.so
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = expand
#M4 = m4
#CPP = /lib/cpp -C -P
#CPPFLAGS = -DMPI -DO2K
#CFLAGS = -DO2K -DMPI
#ARCH_OBJS = milliclock.o
#IWORDSIZE = 4
#RWORDSIZE = 4
#LWORDSIZE = 4
#ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#-----------------------------------------------------------------------------
#    
7d. HP Exemplar
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = f77
#MCC = mpicc
#MLD = mpif77
##FCFLAGS   =  +DA2.0N +DS2.0a -g
#FCFLAGS   = +DA2.0N +DS2.0a +O3 +Oaggressive
#LDOPTIONS =
#LOCAL_LIBRARIES =
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = expand
#M4 = m4
#CPP = /lib/cpp -C -P
#CPPFLAGS = -DMPI
#CFLAGS = -DNOUNDERSCORE -DMPI
#ARCH_OBJS = milliclock.o
#IWORDSIZE = 4
#RWORDSIZE = 4
#LWORDSIZE = 4
#ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#-----------------------------------------------------------------------------
#    
7e. DEC ALPHA/MPI (Thanks to Dave Sherden)
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = f77
#MCC = cc
#MLD = f77
##FCFLAGS = -g
#FCFLAGS = -O4 -Olimit 2000 -fpe0 -align dcommons -align records -warn nounreachable -convert big_endian
#LDOPTIONS = -lmpi
#LOCAL_LIBRARIES =
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = expand
#M4 = m4
#CPP = cpp -C -P
#CPPFLAGS = -DMPI -DALPHA
#CFLAGS = -DMPI -DALPHA
#ARCH_OBJS = milliclock.o
#IWORDSIZE = 4
#RWORDSIZE = 4
#LWORDSIZE = 4
#ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#-----------------------------------------------------------------------------
#    7f. 
Fujitsu VPP
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = frt
#MCC = cc
#MLD = frt
#FCFLAGS =  -Sw -Wl,-P -lmpi -lmp -Of
#LDOPTIONS = -Wl,-P -L$(MPILIBS) -lmpi -J -lmp 
#LOCAL_LIBRARIES =
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = $(CAT)
#M4 = m4
#CPP = /lib/cpp -C -P
#CPPFLAGS = -DMPI -Dvpp -I$(MPIINCDIR)
#CFLAGS = -DMPI -Dvpp -I$(MPIINCDIR)
#ARCH_OBJS = milliclock.o
#IWORDSIZE = 4
#RWORDSIZE = 4
#LWORDSIZE = 4
#ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
#FLIC_MACROS = LMvpp.m4
#-----------------------------------------------------------------------------
#    7g. 
Linux PCs.  Need Portland Group pgf77 and MPICH.
#                    You may need to edit value for LOCAL_LIBRARIES for MPICH
#                    on your machine.
#                    Set RUNTIME_SYSTEM to linux, (Section 2, above)
#         type 'make mpp'
#-----------------------------------------------------------------------------
#MPP_TARGET=$(RUNTIME_SYSTEM)
#MFC = pgf77
#MCC = gcc
#MLD = pgf77
#FCFLAGS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio
#LDOPTIONS = -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio
#LOCAL_LIBRARIES = -L/usr/local/mpi/lib/LINUX/ch_p4 -lfmpi -lmpi
#MAKE = make -i -r
#AWK = awk
#SED = sed
#CAT = cat
#CUT = cut
#EXPAND = expand
#M4 = m4
#CPP = /lib/cpp -C -P
#CPPFLAGS = -DMPI -Dlinux
#CFLAGS = -DMPI -I/usr/local/mpi/include
#ARCH_OBJS =  milliclock.o
#IWORDSIZE = 4
#RWORDSIZE = 4
#LWORDSIZE = 4
#-----------------------------------------------------------------------------
# Don't touch anything below this line
#-----------------------------------------------------------------------------
.F.i:
        $(RM) $@
        $(CPP) $(CPPFLAGS) $*.F > $@
        mv $*.i $(DEVTOP)/pick/$*.f
        cp $*.F $(DEVTOP)/pick
.c.o:
        $(RM) $@ && \
        $(CC) -c $(CFLAGS) $*.c

.F.o:
        $(RM) $@
        $(FC) -c $(FCFLAGS) $*.F

.F.f:
        $(RM) $@
        $(CPP) $(CPPFLAGS) $*.F > $@

.f.o:
        $(RM) $@
        $(FC) -c $(FCFLAGS) $*.f