# Sections # 1. System Variables # 3. Fortran options # 3a. Cray (YMP, J90) # Note: set RUNTIME_SYSTEM="CRAY_IA" for Cray interactive job # 3b. IRIX.6.X (SGI_Origin,SGI_R10000,SGI_R8000 which support OpenMP) # 3b2. IRIX.6.X (SGI_Origin,SGI_R10000,SGI_R8000) # 3c. IRIX.5.2/5.3, IRIX.6.X (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) # 3e2. DEC_ALPHA (4100/8400; use OpenMP parallel directives) # 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 #----------------------------------------------------------------------------- # 3. Fortran options # Uncomment the ones you need, including RUNTIME_SYSTEM #----------------------------------------------------------------------------- LIBINCLUDE = $(DEVTOP)/include #RUNTIME_SYSTEM = "DEC_ALPHA" #FC = pathf90 #FCFLAGS = -I$(LIBINCLUDE) -D${RUNTIME_SYSTEM} -O3 -OPT:Ofast \ # -fno-math-errno -OPT:alias=cray_pointer #CFLAGS = -O -D${RUNTIME_SYSTEM} #CPP = pathcc #CPPFLAGS = -I$(LIBINCLUDE) -C -P #LDOPTIONS = #LOCAL_LIBRARIES = -L /usr/local/lib #MAKE = make -i -r #------------------------------------------------------------------------------ # 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 # - -x omp is needed for f90 compiler version 3.1.0.0 and above #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "CRAY_IA" #FC = f90 #FCFLAGS = -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -O task1 -x omp #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.X (SGI_Origin,SGI_R10000,SGI_R8000 which support OpenMP) # Use OpenMP directives for multi-processor runs. # - set RUNTIME_SYSTEM = SGI_Origin # - works with 7.2.1 and above compiler # - select appropriate XLOCAL0 macro for loader option # # - For parallel execution of MM5 set the following environment variables: # setenv OMP_NUM_THREADS # setenv _DSM_PLACEMENT ROUND_ROBIN # - For parallel execution on a processor set without contention: # setenv _DSM_WAIT SPIN # setenv OMP_DYNAMIC FALSE # setenv MPC_GANG OFF # - For parallel execution on a contented set of processors: # setenv _DSM_WAIT YEILD # setenv OMP_DYNAMIC TRUE # setenv MPC_GANG OFF #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "SGI_Origin" #FC = f77 #ABI = -n32 # 2 GB address space ##ABI = -64 # For 64-bit address space #IO = -mpio #PREC = # default 32-bit floating-point presicion. ##PREC = -r8 # 64-bit floating-point precision. ##Conversion program between different precisions of mminput and bdyout available from wesley@sgi.com #MP = -mp -MP:old_mp=OFF ##MP = -mp -MP:open_mp=OFF # Use SGI multiprocessing directives #OPT = -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:reorg_common=OFF ##debugging#OPT = -g -DEBUG:div_check:subscript_check=ON:trap_uninitialized=ON ##select appropriate XLOCAL loader #XLOCAL0 = ### Burk-Thompson PBL (IBLTYP=3) option mp directives ##XLOCAL0 = -Wl,-Xlocal,bt1_,-Xlocal,blk1_,-Xlocal,blk2 ### OSU LSM option mp directives ##XLOCAL0 = -Wl,-Xlocal,rite_,-Xlocal,abci_ ### Gayno-Seaman PBL (IBLTYP=6) option mp directives ##XLOCAL0 = -Wl,-Xlocal,fog1d_,-Xlocal,surface1_,-Xlocal,surface2_,-Xlocal,surface3_,-Xlocal,comsurfslab_ #FCFLAGS = -I$(LIBINCLUDE) $(ABI) $(IO) $(PREC) $(MP) $(OPT) #CFLAGS = #CPP = /usr/lib/cpp #CPPFLAGS = -I$(LIBINCLUDE) -C -P #LDOPTIONS = $(ABI) $(PREC) $(MP) $(OPT) $(XLOCAL0) #LOCAL_LIBRARIES = -lfastm #MAKE = make -i -r -P #----------------------------------------------------------------------------- # 3b2. IRIX.6.X (SGI_Origin,SGI_R10000,SGI_R8000) # Use SGI directives for multi-processor runs. # - set RUNTIME_SYSTEM = SGI_R8000 # - use the appropriate LDOPTIONS if compiling Burk-Thompson PBL, # Gayno-Seaman PBL, or OSU land-surface module # - use 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://www.mmm.ucar.edu/mm5/mm5v2-sgi.html #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "SGI_R8000" #FC = f77 #FCFLAGS = -I$(LIBINCLUDE) -O3 -n32 -mips4 -mp -OPT:roundoff=3:IEEE_arithmetic=3 #CFLAGS = #CPP = /usr/lib/cpp #CPPFLAGS = -I$(LIBINCLUDE) -C -P #LDOPTIONS = -n32 -mips4 -mp ###Burk-Thompson (IBLTYP=2) option mp directives ##LDOPTIONS = -n32 -mips4 -mp -Wl,-Xlocal,bt1_,-Xlocal,blk1_,-Xlocal,blk2_ ###OSU LSM (ISOIL=2) option mp directives ##LDOPTIONS = -n32 -mips4 -mp -Wl,-Xlocal,rite_,-Xlocal,abci_ ### Gayno-Seaman (IBLTYP=6) option mp directives ##LDOPTIONS = -n32 -mips4 -mp -Wl,-Xlocal,fog1d_,-Xlocal,surface1_,-Xlocal,surface2_,-Xlocal,surface3_,-Xlocal,comsurfslab_ #LOCAL_LIBRARIES = -lfastm ##LOCAL_LIBRARIES = #MAKE = make -i -r #----------------------------------------------------------------------------- # 3c. IRIX.6.X (SGI_R4400/SGI_R4000/SGI_R5000) #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "SGI_R4000" #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) #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "SUN" #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) #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "DEC_ALPHA" #FC = f77 #FCFLAGS = -cpp -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -c -O4 -Olimit 2000 -automatic \ #-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 #----------------------------------------------------------------------------- # 3e2. DEC_ALPHA (4100/8400 Series) # Use OpenMP directives for multi-processor runs. # - set RUNTIME_SYSTEM = DEC_ALPHA #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "DEC_ALPHA" #FC = f90 #FCFLAGS = -omp -cpp -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -c -O4 -Olimit 2000 \ #-automatic -fpe0 -align dcommons -align records -convert big_endian #CFLAGS = #CPP = cpp #CPPFLAGS = -I$(LIBINCLUDE) -C -P #LDOPTIONS = -omp -math_library accurate #LOCAL_LIBRARIES = #MAKE = make -i -r #----------------------------------------------------------------------------- # 3f. IBM (AIX) #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "IBM" #FC = xlf #FCFLAGS = -I$(LIBINCLUDE) -O3 -qarch=auto -qmaxmem=-1 #CPP = /usr/lib/cpp #CFLAGS = #CPPFLAGS = -I$(LIBINCLUDE) -C -P -Drs6000 #LDOPTIONS = -qmaxmem=-1 -O3 -qarch=auto #LOCAL_LIBRARIES = -lmass #MAKE = make -i #----------------------------------------------------------------------------- # 3g. HP (UX) #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "HP" #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 #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "HP-SPP" #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 = pathcc #----------------------------------------------------------------------------- # 5. Options for making ./include/parame.incl #----------------------------------------------------------------------------- # # FDDAGD (integer) - "1" -> FDDA gridded run FDDAGD = 0 # # FDDAOBS (integer) - "1" -> FDDA obs run FDDAOBS = 0 # # MAXNES (integer) - Max Number of Domains in simulation MAXNES = 1 # # MIX,MJX (integer) - Maximum Dimensions of any Domain MIX = 112 MJX = 136 # MKX (integer) - Number of half sigma levels in model MKX = 33 #----------------------------------------------------------------------------- # 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 = "5,4,1,1,1,1,1,1,1,1" # - Dry,stable,warm rain,simple ice,mix phase, # - 1 ,2 ,3 ,4 ,5 # - graupel(gsfc),graupel(reisner2),schultz # -,6 ,7 ,8 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) # - 0=no PBL fluxes,1=bulk,2=Blackadar, # 3=Burk-Thompson,4=Eta M-Y,5=MRF, # 6=Gayno-Seaman IBLTYP = "5,5,2,0,0,0,0,0,0,0" # # 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,4,5,6) # 2=OSU land-surface scheme (IBLTYP=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 #----------------------------------------------------------------------------- # # Presently, of the MPP platforms only the "sp2" # is supplied with the "make deck" capability. # # MPP Software Layer MPP_LAYER=RSL #MPP_LAYER=NNTSMS # # PROCMIN_NS - minimum number of processors allowed in N/S dim # PROCMIN_NS = 2 # # PROCMIN_EW - minimum number of processors allowed in E/W dim # PROCMIN_EW = 8 # # 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. # ASSUME_HOMOGENEOUS_ENVIRONMENT = 1 RUNTIME_SYSTEM = "linux" MPP_TARGET=$(RUNTIME_SYSTEM) FC=pathf90 -byteswapio CC=pathcc MPI = /usr/bin MFC = /usr/bin/mpif77 -byteswapio MCC = /usr/bin/mpicc MLD = /usr/bin/mpif77 -byteswapio LDOPTIONS =-Wl,--allow-shlib-undefined FCFLAGS = -ftpp -DDEC_ALPHA -DMPI -fsecond-underscore \ -O3 -OPT:Ofast -fno-math-errno -ffast-math -LNO:vintr=2 -LNO:vintr_verbose=2 -I$(LIBINCLUDE) #FCFLAGS = -ftpp -DDEC_ALPHA -DMPI -O2 -I$(LIBINCLUDE) CFLAGS = -DMPI -DDEC_ALPHA -DF2CSTYLE -O2 -I$(LIBINCLUDE) #CFLAGS = -DMPI -DDEC_ALPHA -DF2CSTYLE -O2 -I$(LIBINCLUDE) # MPI = /home/markdebbage/local/lam-7.1.1/bin # MFC = LAMHF77=pathf90 $(MPI)/mpif77 # MCC = LAMHCC=pathcc $(MPI)/mpicc # MLD = LAMHF77=pathf90 $(MPI)/mpif77 # LDOPTIONS = # FCFLAGS = -DDEC_ALPHA -DMPI -fsecond-underscore \ # -O3 -OPT:Ofast -fno-math-errno # CFLAGS = -DMPI -DDEC_ALPHA -DF2CSTYLE -O3 -OPT:Ofast # MPI = /home/markdebbage/local/mpich-1.2.6/ch_p4/bin # MFC = MPICH_F77=pathf90 $(MPI)/mpif77 # MCC = MPICH_CC=pathcc $(MPI)/mpicc # MLD = MPICH_FLINKER=pathf90 $(MPI)/mpif77 # LDOPTIONS = # FCFLAGS = -DDEC_ALPHA -DMPI -fsecond-underscore \ # -O3 -OPT:Ofast -fno-math-errno # CFLAGS = -DMPI -DDEC_ALPHA -DF2CSTYLE -O3 -OPT:Ofast LOCAL_LIBRARIES = MAKE = make -i -r AWK = awk SED = sed CAT = cat CUT = cut EXPAND = expand M4 = m4 CPP = cpp -C -P -traditional-cpp CPPFLAGS = -DMPI -DDEC_ALPHA ARCH_OBJS = milliclock.o IWORDSIZE = 4 RWORDSIZE = 4 LWORDSIZE = 4 ASSUME_HOMOGENEOUS_ENVIRONMENT = 1 # #----------------------------------------------------------------------------- # 7a. IBM SP2 # type 'make mpp' for the SP2 #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "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 #----------------------------------------------------------------------------- # 7a.1 IBM SP2 with Silver nodes # type 'make mpp' for the SP2 # - You must compile with XLF or MPXLF version 6.1 or greater. # - Check with your system admin before linking to lessl or lmass. # - Note for running on blue.llnl.gov: # newmpxlf_r is LLNL specific wrapper around HPF 6.1 w/ HPF off. #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "sp2" #MPP_TARGET=$(RUNTIME_SYSTEM) ## On llnl.blue.gov, (3/99) ##MFC = time newmpxlf_r ##MCC = mpcc_r ##MLD = newmpxlf_r ## On systems with R6.1 or greater of IBM Fortran. #MFC = time mpxlf #MCC = mpcc #MLD = mpxlf #FCFLAGS = -O3 -qarch=auto -qzerosize -qsmp=noauto,schedule=static -qnosave -qmaxmem=-1 #LDOPTIONS = -qsmp=noauto,schedule=static ##LOCAL_LIBRARIES = -lmass ##LOCAL_LIBRARIES = -lessl #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 -Drs6000 #CFLAGS = -DNOUNDERSCORE -DMPI #ARCH_OBJS = milliclock.o #IWORDSIZE = 4 #RWORDSIZE = 4 #LWORDSIZE = 4 #----------------------------------------------------------------------------- # 7b. T3E #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "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 #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "o2k" #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 #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "hp" #MPP_TARGET=$(RUNTIME_SYSTEM) #MFC = f77 #MCC = mpicc #MLD = mpif77 ##FCFLAGS = +DA2.0N +DS2.0a -g #FCFLAGS = +DA2.0N +DS2.0a +O3 #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/OpenMP (Thanks to Dave Sherden) # - For multi-threaded MPI processes (useful on dm-clusters of SMP # nodes; such as fir.mmm.ucar.edu), uncomment the definition # of the macro: SPECIAL_OMP. # - If running with MPICH (public domain MPI) uncomment # first set of definitions for MFC, MCC, MLD and LDOPTIONS. If using # the Compaq/DEC MPI, uncomment the second set. #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "alpha" #MPP_TARGET=$(RUNTIME_SYSTEM) ###### If using OpenMP for SMP parallelism on each MPI process ### ##SPECIAL_OMP = -omp ###### If using MPICH ### #MFC = f77 #MCC = mpicc #MLD = mpif77 #LDOPTIONS = $(OMP) ###### If using DEC MPI (e.g. on fir.mmm.ucar.edu) ### ##MFC = f90 ##MCC = cc ##MLD = f90 ##LDOPTIONS = -lmpi $(SPECIAL_OMP) ###### #FCFLAGS = -O4 -Olimit 2000 -fpe0 -align dcommons -align records \ # -convert big_endian $(SPECIAL_OMP) #LOCAL_LIBRARIES = #MAKE = make -i -r #AWK = awk #SED = sed #CAT = cat #CUT = cut #EXPAND = expand #M4 = m4 #CPP = cpp -C -P #CPPFLAGS = -DMPI -DDEC_ALPHA #CFLAGS = -DMPI -DDEC_ALPHA #ARCH_OBJS = milliclock.o #IWORDSIZE = 4 #RWORDSIZE = 4 #LWORDSIZE = 4 #ASSUME_HOMOGENEOUS_ENVIRONMENT = 1 #----------------------------------------------------------------------------- # 7f. Fujitsu VPP #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "vpp" #MPP_TARGET=$(RUNTIME_SYSTEM) #MFC = frt #MCC = cc #MLD = frt ##FCFLAGS = -Sw -Wl,-P -lmpi -lmp -Of #FCFLAGS = -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Pdos -lmpi -lmp #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' #----------------------------------------------------------------------------- #RUNTIME_SYSTEM = "linux" #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 #ASSUME_HOMOGENEOUS_ENVIRONMENT = 1 #----------------------------------------------------------------------------- # 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