#------------------------------ # Makefile macros for a Cray X1 #------------------------------ CPP := cpp CPPFLAGS := -C -P CPPDEFS := -UCRAY -DUNICOSMP -DCPP_VECTOR -DFORTRANUNDERSCORE CFLAGS := -c -clist -h gen_private_callee FIXEDFLAGS := -N132 FREEFLAGS := FC := ftn #FFLAGS := -c -s real64 -dp -F -em -dy -xomp -Ogen_private_callee -Ooverindex $(CPPDEFS) -p$(PWD) -p$(INCROOT) -p$(LIBROOT) FFLAGS := -c -F -em -dy -xomp -Ogen_private_callee -Onomodinline \ -rm -ra -Omsgs,negmsgs ${CPPDEFS} -p${PWD} -p${INCROOT} \ -p${LIBROOT} MOD_SUFFIX := mod LD := ftn LDFLAGS :=-L$(INCROOT) -L$(LIBROOT) -p$(INCROOT) -p$(LIBROOT) \ -p$(EXEROOT)/mct -p$(EXEROOT)/mph \ -p$(EXEROOT)/mpeu -p$(EXEROOT)/mpeu/mpi0 AR := ar INCLDIR := -I${PWD} -I$(INCROOT) -I${LIBROOT} SLIBS := -lnetcdf ULIBS := -lesmf -lmct -lmpeu -lmph ifeq ($(MODEL),cam) CPPDEFS := $(CPPDEFS) $(CAM_CPPDEFS) FFLAGS := $(FFLAGS) -Ovector2,stream2,scalar2,fp1 endif ifeq ($(MODEL),clm) FFLAGS := $(FFLAGS) -Ovector3,stream3,scalar3,fp1 endif ifeq ($(MODEL),pop) CPPDEFS := $(CPPDEFS) -DPOSIX -Dimpvmix -Dcoupled \ -DNPROC_X=$(NX) -DNPROC_Y=$(NY) endif ifeq ($(MODEL),csim) CPPDEFS := $(CPPDEFS) -Dcoupled -DNPROC_X=$(NX) -DNPROC_Y=$(NY) -D_MPI endif ifeq ($(THREAD),TRUE) CPPFLAGS := $(CPPFLAGS) -D_OPENMP FFLAGS := $(FFLAGS) LDFLAGS := endif #------------------------------ # Makefile macros for a Cray X1 #------------------------------ CPP := cpp CPPFLAGS := -C -P CPPDEFS := -UCRAY -DUNICOSMP -DCPP_VECTOR -DFORTRANUNDERSCORE CFLAGS := -c -clist FIXEDFLAGS := -N132 FREEFLAGS := FC := ftn FFLAGS := -c -F -em -dy -xomp \ -rm -ra -Omsgs,negmsgs ${CPPDEFS} -p${PWD} -p${INCROOT} \ -p${LIBROOT} MOD_SUFFIX := mod LD := ftn LDFLAGS :=-L$(INCROOT) -L$(LIBROOT) -p$(INCROOT) -p$(LIBROOT) \ -p$(EXEROOT)/mct -p$(EXEROOT)/mph \ -p$(EXEROOT)/mpeu -p$(EXEROOT)/mpeu/mpi0 AR := ar INCLDIR := -I${PWD} -I$(INCROOT) -I${LIBROOT} SLIBS := -lnetcdf ULIBS := -lesmf -lmct -lmpeu -lmph ifeq ($(MODEL),cam) CPPDEFS := $(CPPDEFS) $(CAM_CPPDEFS) FFLAGS := $(FFLAGS) -Ovector2,stream2,scalar2,fp1,nomodinline,task0 endif ifeq ($(MODEL),clm) FFLAGS := $(FFLAGS) -xcsd -Ovector3,stream3,scalar3,fp1 endif ifeq ($(MODEL),pop) CPPDEFS := $(CPPDEFS) -DPOSIX -Dimpvmix -Dcoupled \ -DNPROC_X=$(NX) -DNPROC_Y=$(NY) endif ifeq ($(MODEL),csim) CPPDEFS := $(CPPDEFS) -Dcoupled -DNPROC_X=$(NX) -DNPROC_Y=$(NY) -D_MPI endif ifeq ($(MODEL),cpl6) FFLAGS := $(FFLAGS) -Ovector2,stream2,scalar2,fp1 endif ifeq ($(THREAD),TRUE) CPPFLAGS := $(CPPFLAGS) -D_OPENMP FFLAGS := $(FFLAGS) LDFLAGS := endif #--- Machine specific settings below --- FFLAGS += -p$(NETCDF)/include LDFLAGS += -p$(NETCDF)/include -L$(NETCDF)/lib INCLDIR += -I$(NETCDF)/include #------------------------------------------------------------------- ifeq ($(MODEL),cam) # Specific targets for chunking reproducibility and/or performance vertical_diffusion.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Ofp0 $*.f90 wv_saturation.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 shr_orb_mod.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 sulchem.o radsw.o radlw.o radae.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Oscalar3,vector3 $*.f90 endif #------------------------------------------------------------------- ifeq ($(MODEL),clm) FrictionVelocityMod.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 QSatMod.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 shr_orb_mod.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 endif #------------------------------------------------------------------- ifeq ($(MODEL),cpl6) shr_orb_mod.o : $(CPP) $(CPPFLAGS) $(CPPDEFS) $(INCS) $(INCLDIR) $< > $*.f90 $(FC) -c $(FREEFLAGS) $(FFLAGS) $(INCS) $(INCLDIR) -Omodinline $*.f90 endif