########################################################### #ARCH Darwin Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting, RGF mod) # OMP = OMPCPP = FC = ifort CC = gcc SCC = $(CC) SFC = $(FC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) FCDEBUG = # -g FCBASEOPTS = -w -FR -cm -I. -Vaxlib -convert big_endian -mp FCOPTIM = -O2 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) CFLAGS = -w INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc ARCHFLAGS = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 -DTRIEDNTRUE -DIFORT_KLUDGE LD = $(FC) LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -traditional POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DF90_STANDALONE \ -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 AR = ar ru M4 = m4 -B12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w") wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F wrf_bdyin.o : wrf_bdyin.F wrf_bdyout.o : wrf_bdyout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_restartin.o : wrf_restartin.F wrf_restartout.o : wrf_restartout.F module_configure.o : module_configure.F module_configure.o \ wrf_bdyin.o wrf_bdyout.o \ wrf_histin.o wrf_histout.o \ wrf_inputin.o wrf_inputout.o \ wrf_restartin.o wrf_restartout.o \ solve_interface.o \ shift_domain_em.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #ARCH Darwin Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP, RGF mod) # # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option # has been identified to produce wrong results occationally. # OMP = -openmp -fpp -auto OMPCPP = -D_OPENMP FC = ifort LD = ifort CC = gcc SCC = $(CC) SFC = $(FC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) CFLAGS = FCOPTIM = -O3 # -xW FCDEBUG = #-g FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 \ -DTRIEDNTRUE \ -DLIMIT_ARGS -DIFORT_KLUDGE INCLUDE_MODULES = -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -traditional POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w") wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \ TRADFLAG="-traditional" all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_configure.o \ mediation_integrate.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f