########################################################### #ARCH SGI 32 bit machine IRIX FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = $(FCBASEOPTS) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" 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_configure.o : module_configure.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 solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 32 bit machine, sycamore IRIX FC = f90 SFC = $(FC) CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = -freeform -I. -w PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share -I../phys -I../chem \ -I../external/esmf_time_f90 -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) 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_configure.o : module_configure.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 solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 64 bit machine IRIX64 (single-threaded, no nesting) FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99 FCOPTIM = -O3 RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) PROMOTION = -r$(RWORDSIZE) -i4 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) 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 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_configure.o : module_configure.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI O2K IRIX FC = f90 -n32 -mips4 -w SFC = $(FC) LD = f90 -n32 -mips4 -w CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -n32 -mips4 FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001 ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share \ -I../phys -I../chem -I../inc -I../external/esmf_time_f90 PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time AR = ar ru M4 = m4 -B14000 LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) 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_configure.o : module_configure.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 solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 64 bit machine IRIX64 (OpenMP, no nesting) OMP = -mp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99 FCOPTIM = -O3 FCDEBUG = # -g FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) 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_configure.o : module_configure.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 solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI O2K DM IRIX64 DM-Parallel (RSL, SGI-MPI, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 OMP = #-mp OMPCPP = #-D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -w -64 -mips4 -DWRF_RSL_IO -DMAXDOM_MAKE=$(MAX_DOMAINS) \ -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -DDM_PARALLEL -DLANDREAD_STUB -DNCARIBM_NOC99 FCDEBUG = # -g FCOPTIM = -O3 -OPT:roundoff=3:IEEE_arithmetic=3 FCBASEOPTS = -freeform -I. -64 -mips4 -w $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \ -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../external/esmf_time_f90 \ -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl -lmpi \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -64 $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ LEARN_BCAST=-DLEARN_BCAST o2k ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.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 solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS (single-threaded, no nesting) # FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = -DNCARIBM_NOC99 FCOPTIM = -O2 # -O4 -xlibmopt FCDEBUG = #-g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS #CPP = /opt/SUNWspro/bin/fpp CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCBASEOPTS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.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 \ shift_domain_em.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 \ 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 mediation_interp_domain.o \ mediation_force_domain.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS (single-threaded, nesting using RSL and no MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = OMPCPP = FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DSTUBMPI RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99 FCOPTIM = -O2 # -O4 -xlibmopt FCDEBUG = # -g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization to speed compile 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 \ 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Sun SunOS SM (OpenMP, no nesting) # OMP = -mp=openmp -explicitpar -stackvar OMPCPP = -D_OPENMP FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = -DNCARIBM_NOC99 FCOPTIM = -O3 -xlibmopt FCDEBUG = #-g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS #CPP = /opt/SUNWspro/bin/fpp CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCBASEOPTS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 module_configure.o : module_configure.F 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS SM (OpenMP, nesting using RSL and no MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = -mp=openmp -explicitpar -stackvar OMPCPP = -D_OPENMP FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DSTUBMPI RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99 FCOPTIM = -O3 -xlibmopt FCDEBUG = # -g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -cpp -free" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization to speed compile 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 module_configure.o : module_configure.F 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH AIX (single-threaded, no nesting) # FC = xlf90_r SFC = $(FC) LD = xlf90_r CC = cc_r SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFIXED = -qfixed FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) 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 wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_interface.o : solve_interface.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F module_integrate.o : module_integrate.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_integrate.o \ mediation_interp_domain.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 # to prevent having to call our service representative mediation_feedback_domain.o \ mediation_force_domain.o start_domain.o module_integrate.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX SM (OpenMP, no nesting) # OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP FC = xlf90_r SFC = $(FC) LD = xlf90_r CC = cc_r SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) module_sm.o : module_sm.F module_tiles.o : module_tiles.F solve_em.o : solve_em.F solve_exp.o : solve_exp.F convert_nmm.o : convert_nmm.F module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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_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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_interface.o : solve_interface.F module_integrate.o : module_integrate.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.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 \ mediation_integrate.o \ mediation_interp_domain.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf \ -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST) PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_pnf : ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFIXED = -qfixed FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/io_pnetcdf $(ESMF_IO_INC) \ -I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC) ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV $(ESMF_IO_DEFS) PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o $(ESMF_IO_LIB) LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET) gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_pnf : ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F start_domain_nmm.o : start_domain_nmm.F couple_or_uncouple_em.o : couple_or_uncouple_em.F nest_init_utils.o : nest_init_utils.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ start_domain_nmm.o \ couple_or_uncouple_em.o \ nest_init_utils.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting )(PARALLEL HDF5) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_phdf5 : ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_phdf5 : ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel/SM-Parallel (not recommended) (RSL, IBM-MPI, OpenMP, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lxlsmp -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc MAX_PROC = 1024 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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_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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.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 \ convert_nmm.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ mediation_integrate.o \ mediation_interp_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # to prevent having to call our service representative mediation_feedback_domain.o \ mediation_force_domain.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, MCEL) May 2003, EXPERIMENTAL # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpCC_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) MCELHOME = /home/bluesky/bettenc/disttest PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../../inc -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \ -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/RSL/RSL -lrsl -lmass -lmassv -lxlsmp \ -L../external/io_mcel -lwrfio_mcel \ -L$(MCELHOME)/MCELSystem/MCEL -lMCEL \ -L$(MCELHOME)/lib -lomniORB4 \ -lomnithread -lomniDynamic4 -lnetcdf_c++ -lnetcdf -lxlf90 -lxlopt \ -lxlf -lxlomp_ser -lm -lc -lpthread \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( cat ../tools/gen_comms_warning ../external/RSL/gen_comms.c > ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( cat module_dm_warning ../external/RSL/module_dm.F > module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) wrfio_mcel : ( cd ../external/io_mcel ; \ make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I../../inc -I../io_netcdf -I../../frame -I../../share \ -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX (single-threaded, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = xlf90_r LD = xlf90_r CC = cc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F couple_or_uncouple_em.o : couple_or_uncouple_em.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ couple_or_uncouple_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX (OpenMP, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = xlf90_r LD = xlf90_r CC = cc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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_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 start_domain.o : start_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.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 \ start_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F module_dm.o : module_dm.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F module_initialize_real.o : module_initialize_real.F module_domain.o \ module_dm.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI) # # from sheeba BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys MPI_INC = -I$(BGL_SYS)/include MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts TRACE_LIB = -L/contrib/bgl/mpi_trace -lmpitrace_c SFC = blrts_xlf90 SCC = blrts_xlc DMPARALLEL = 1 FC = $(SFC) LD = $(FC) CC = $(SCC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB FCOPTIM = -O2 -qarch=440 FCDEBUG = # -qnoopt -qfullpath -qarch=440 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=64000 $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DLANDREAD_STUB PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ $(TRACE_LIB) $(MPI_LIB) LDFLAGS = -Wl,--allow-multiple-definition -qstatic ENVCOMPDEFS = WRF_CHEM = 0 CPP = /opt/ibmcmp/xlf/9.1/exe/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru #### this is a hand installed version of m4 on frost.ucar.edu #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4 M4 = /home/janicec/m4 -B 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc WRF_CONVERT = 0 externals : wrf_ioapi_includes ../external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_pnf : ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_em.o : solve_em.F start_em.o : start_em.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.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 \ mediation_integrate.o \ mediation_interp_domain.o \ module_configure.o \ solve_em.o \ start_em.o \ shift_domain_em.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 # to prevent having to call our service representative mediation_feedback_domain.o \ mediation_force_domain.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90 ########################################################### #ARCH Compaq OSF1 alpha (single-threaded, no nesting) # OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha (single-threaded, nesting using RSL without MPI ) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS='-O -convert big_endian' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha SM (OpenMP, no nesting) # OMP = -omp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCREAL8OMP = -align records -align dcommons -granularity quadword FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha SM-Parallel (OpenMP, nesting using RSL without MPI ) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = -omp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCREAL8OMP = -align records -align dcommons -granularity quadword FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS="-O -convert big_endian $(FCREAL8OMP)" \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL_LITE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE FCOPTIM = -fast -O4 FCDEBUG = #-g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL_LITE -lrsl_lite \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F start_domain_nmm.o : start_domain_nmm.F solve_em.o : solve_em.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o start_domain_nmm.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F start_em.o : start_em.F start_domain_nmm.o : start_domain_nmm.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o start_em.o start_domain_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, MPICH, OpenMP, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 OMP = -omp OMPCPP = -D_OPENMP FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCREAL8OMP = -align records -align dcommons -granularity quadword FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, DECMPI, OpenMP, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 OMP = -omp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCREAL8OMP = -align records -align dcommons -granularity quadword FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl -lmpi \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC=cc FC="$(SFC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, MCEL EXPERIMENTAL) # DMPARALLEL = 1 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 -f90=cxx CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMCELIO PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_mcel -lwrfio_mcel \ -L/users/bettenc/MCELSystem/MCEL -lMCEL \ -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread \ -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc -L/users/michalak/mpich/lib -lfmpich -lmpichfsup \ /usr/lib/cmplrs/fortrtl/libUfor.a -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -pthread -ieee -ptr /users/bettenc/ptr -L/users/bettenc/MCELSystem/MCEL -lMCEL -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a wrfio_mcel gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) wrfio_mcel : ( cd ../external/io_mcel ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -I../io_netcdf -I../../frame -I../../share \ -I/users/bettenc/MCELSystem/MCEL -convert big_endian -automatic -cpp -free" all ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F nest_init_utils.o module_optional_si_input.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM/SM (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE) # DMPARALLEL = 1 OMP = OMPCPP = FC = echo # mpif90 SFC = echo # mpif90 LD = echo # mpif90 CC = echo # mpicc SCC = echo # cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL="'DM_PARALLEL'" -DRSL="'RSL'" \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha ) # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F module_configure.o : module_configure.F 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 \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting, UNOPT shift_domain) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL_LITE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8` CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE FCOPTIM = -fast -O4 FCDEBUG = #-g FCDEBUG_ESMF = # -O0 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL_LITE -lrsl_lite \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) nest_init_utils.o : nest_init_utils.F module_optional_si_input.o : module_optional_si_input.F module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile 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 start_domain.o : start_domain.F start_domain_nmm.o : start_domain_nmm.F solve_em.o : solve_em.F module_configure.o : module_configure.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F shift_domain_em.o : shift_domain_em.F 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_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ shift_domain_em.o \ module_initialize_real.o start_domain.o start_domain_nmm.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_wrfmain.o : mediation_wrfmain.F solve_em.o : solve_em.F mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Alpha Linux alpha DM (single-threaded, no nesting) # FC = fort SFC = $(FC) LD = fort CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DF2CSTYLE FCOPTIM = -fast -O4 FCDEBUG = # -g FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \ -arch host $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCBASENOINL) -w" TRADFLAG="-traditional" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) 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 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 module_configure.o : module_configure.F 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Alpha Linux alpha SM (DOES NOT WORK ON JET! No nesting) # FC = fort SFC = $(FC) LD = fort CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DF2CSTYLE FCOPTIM = -fast -O4 FCDEBUG = # -g FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \ -arch host $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ /bin/cp module_dm_warning module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) 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 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 module_configure.o : module_configure.F 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Alpha Linux alpha DM-Parallel (RSL, MPICH, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -DF2CSTYLE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \ -I../external/RSL/RSL FCOPTIM = -fast -O4 FCDEBUG = # -g FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG) FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \ -arch host $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/io_int -lwrfio_int -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \ TRADFLAG="-traditional" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ UNDERSCORE=-DF2CSTYLE LEARN_BCAST=-DLEARN_BCAST alpha ) # compile these without high optimization to speed compile 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 module_configure.o : module_configure.F 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH VPP UNIX_System_V F300 5000 # FC = frt SFC = $(FC) LD = frt CC = vcc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = FCFLAGS = -Free -X9 -Am FCFLAGS = -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am FCDEBUG = # -g FCBASEOPTS = $(FCFLAGS) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share LDFLAGS = -Wl,-P -J CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS LDFLAGS = -J CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) -Free -X9" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive ) ########################################################### #ARCH Cray # FC = f90 SFC = $(FC) CC = cc SCC = $(CC) NATIVE_RWORDSIZE = 8 RWORDSIZE = $(NATIVE_RWORDSIZE) # does this PROMOTION flag work on Cray? PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = FCFLAGS = -f free -N 255 -I. FCDEBUG = # -g FCBASEOPTS = $(FCFLAGS) ARCHFLAGS = -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \ -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /opt/ctl/bin/cpp POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry #LIB = CONFIGURE_NETCDF_LIB_PATH LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time ( /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)" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90 ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler (Single-threaded, no nesting) # FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) SFC = $(FC) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler (single threaded, allows nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, no nesting) # OMP = -mp OMPCPP = -D_OPENMP FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) SFC = $(FC) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # OMP = -mp OMPCPP = -D_OPENMP DMPARALLEL = 1 MAX_PROC = 1024 FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_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 ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL, MPICH, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=pgf90 LD = mpif90 -f90=pgf90 CC = mpicc -cc=gcc SCC = gcc SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=pgf90 LD = mpif90 -f90=pgf90 CC = mpicc -cc=gcc SCC = gcc SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE #FCOPTIM = -fastsse FCOPTIM = -O2 # -fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs #Options for Debian Sarge systems #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 #PGI if [ ! -e $@ ] ; then \ #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi #PGI if [ ! -e $@ ] ; then \ #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ #PGI fi ########################################################### #ARCH Intel Itanium2 ia64 madison Linux DM-Parallel (e.g. mpp2 at PNNL), efc71 compiler (RSL, MPICH, nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 MAX_PROC = 2000 FC = mpif90 LD = mpif90 CC = mpicc SCC = cc SFC = efc RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -w \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 \ -I/usr/lib/mpi/mpi_intel/include FCOPTIM = -O2 -ftz FCDEBUG = #-g FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -w -cm FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc \ -I/usr/lib/mpi/mpi_intel/include PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 \ -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional -C -P POUND_DEF = -DNO_RRTM_PHYSICS \ -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \ -I../external/RSL/RSL -C -EP `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = ecc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) 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 ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC='mpicc -w -I. '\ FC="$(FC) $(PROMOTION) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Intel Itanium2 ia64 Linux (eg. Jacaranda), ifort compiler (RSL, no-MPI, allows nesting) # # On Jacaranda, setenv NETCDF /jacaranda/users/michalak/netcdf-3.5.1 # Built this netcdf by first setenv FC efc and CPPFLAGS '-DNDEBUG -DpgiFortran' # before typing configure and make and make install 20040506. JM # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 MAX_PROC = 1 # for multithreading, uncomment the following #OMP = -openmp #OMPCPP = -DOPEN_MP FC = ifort LD = ifort CC = cc SCC = $(CC) SFC = ifort RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -cm -w \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 FCOPTIM = -O2 -ftz FCDEBUG = #-g FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm -convert big_endian -mp FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional -C -P POUND_DEF = -DNO_RRTM_PHYSICS \ -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \ -I../external/RSL/RSL -C `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) 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 ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="-DSTUBS -O" \ FC="$(FC) $(PROMOTION)" FCFLAGS="$(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F start_domain.o : start_domain.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 \ mediation_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, no nesting) # Note that for 5.1.x comment out -Mpia=fast # FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) SFC = $(FC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DLANDREAD_STUB FCOPTIM = -fastsse #-Mipa=fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher, DM-Parallel (RSL, MPICH, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # Note that for 5.1.x comment out -Mpia=fast # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 LD = mpif90 CC = mpicc SCC = gcc SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \ -DLANDREAD_STUB FCOPTIM = -fastsse #-Mipa=fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_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 ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, No periodic LBCs) # Note that for 5.1.x comment out -Mpia=fast # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 LD = mpif90 CC = mpicc SCC = gcc SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \ -DLANDREAD_STUB FCOPTIM = -fastsse #-Mipa=fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, RSL, Allows nesting) # Note that for 5.1.x comment out -Mpia=fast # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = pgf90 LD = pgf90 CC = gcc SCC = $(CC) SFC = pgf90 RWORDSIZE = $(NATIVE_RWORDSIZE) FCOPTIM = -fastsse # -Mipa=fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 # if [ ! -e $@ ] ; then \ # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi ########################################################### #ARCH Intel Itanium2 ia64 madison Linux (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting ) # Notes for running on PNNL cluster: # # 1. source /home/oehmen/.mycshrc # 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 2000 FC = mpif90 LD = mpif90 CC = mpicc SCC = gcc SFC = efc RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \ -I../external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include FCOPTIM = -O2 -ftz FCDEBUG = #-g FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 ARCHFLAGS = -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem \ -I/usr/lib/mpi/mpi_intel/include PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \ -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \ -I../external/RSL_LITE -C -EP `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = ecc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) 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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC='mpicc -w -I.' \ FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) # 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 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL, VMI, allows nesting) # # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output # Note hard-coded paths to Mark Straka's accounts and ecc6 libs # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 #OMP = -openmp #OMPCPP = -D_OPENMP INCLUDE = ../external/io_netcdf/ MAX_PROC = 256 FC = efc -I.. -I/usr/local/vmi/mpich/include LD = efc CC = ecc -I. -I/usr/local/vmi/mpich/include SCC = $(CC) SFC = efc RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 FCOPTIM = -O3 -ftz FCDEBUG = #-g FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \ -DGRIB1 CONFIGURE_GRIB2_FLAG # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = ecc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time io_grib1 gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="efc -Vaxlib -I/usr/local/vmi/mpich/include $(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)" ) #../external/RSL/RSL/librsl.a : # ( cd ../external/RSL/RSL ; \ # make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ # LEARN_BCAST=-DLEARN_BCAST o2k ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include '\ FC="$(SFC) $(PROMOTION) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows nesting) # # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output # Note hard-coded paths to Mark Straka's accounts and ecc6 libs # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 INCLUDE = ../external/io_netcdf/ MAX_PROC = 256 FC = efc -I.. -I/usr/local/vmi/mpich/include LD = efc CC = ecc -I. -I/usr/local/vmi/mpich/include SCC = $(CC) SFC = efc RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL -I../external/RSL_LITE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64 FCOPTIM = -O3 -ftz FCDEBUG = #-g FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \ -DGRIB1 CONFIGURE_GRIB2_FLAG # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = ecc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \ FC="$(SFC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) # 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 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 \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting) # 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 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem ARCHFLAGS = -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIFORT_KLUDGE LD = $(FC) LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \ -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 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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 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 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single threaded, allows nesting using RSL without MPI) # # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option # has been identified to produce wrong results occationally. # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # OMP = OMPCPP = DMPARALLEL = 1 MAX_PROC = 1024 FC = ifort LD = ifort CC = gcc SCC = $(CC) SFC = ifort RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) FCOPTIM = -O3 # -xW FCDEBUG = #-g FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = gcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" \ CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.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 \ mediation_integrate.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP) # # 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 = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS -DIFORT_KLUDGE # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../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 = /lib/cpp -traditional POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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 start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.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 \ mediation_integrate.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI) # # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option # has been identified to produce wrong results occationally. # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # OMP = -openmp -fpp -auto OMPCPP = -D_OPENMP DMPARALLEL = 1 MAX_PROC = 1024 FC = ifort LD = ifort CC = gcc SCC = $(CC) SFC = ifort RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) FCOPTIM = -O3 # -xW FCDEBUG = #-g FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time $(OMP) LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = gcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.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 \ mediation_integrate.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+icc compiler DM-Parallel (RSL, MPICH, allows nesting) # # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option # has been identified to produce wrong results occationally. # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=ifort LD = mpif90 -f90=ifort CC = mpicc -cc=icc SCC = gcc SFC = ifort RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) FCOPTIM = -O3 # -xW FCDEBUG = #-g FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DMPI \ -DLIMIT_ARGS -DIFORT_KLUDGE CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = gcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.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 \ mediation_integrate.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler DM-Parallel (RSL, MPICH, allows nesting) # # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option # has been identified to produce wrong results occationally. # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=ifort LD = mpif90 -f90=ifort CC = mpicc -cc=gcc SCC = gcc SFC = ifort RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -real_size $(RSIZEBITS) FCOPTIM = -O3 # -xW FCDEBUG = #-g FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DMPI \ -DLIMIT_ARGS -DIFORT_KLUDGE CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = gcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.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 \ mediation_integrate.o \ module_initialize_real.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_dm.o : module_dm.F module_configure.o : module_configure.F module_configure.o \ module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90 ########################################################### #ARCH NEC SUPER-UX SX-6 (serial) #***** some sx f90 compiler options*********** # -V : version # of f90 command to stderr #-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename] #-Ep: activate cpp preprocessor to perfomr conditional compiling #****However, cpp also activated by using .F or .F90 suffixes... # -Wf: specifies option string of the f90/sx detailed options #-g: debug info generated in object file for dbx symbolic debugging # -ew : all numbers size=8bytes #-eW: 4 bytes # -float0: default and only -float(number) option for sx6 # -USX: unname the prev. defined reserved symbol SX of the preprocessor # -U overrides -D, so '-USX -D$(RUNTIMESYSTEM)' might be redundant # -p: object file in execution format corresp. to 'prof' command be generated # -f4: input source program is described in F90 standard free format # -w: only syntax diagnostic messages at the fatal level are output # -C: specifies compile mode # ssafe: only safe optimization in scalar mode (minimize side effects of # opt. no loop unrolling, etc # -init : init stack and heap areas # -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout RUNTIME_SYSTEM = sx MPP_TARGET = $(RUNTIME_SYSTEM) FC = f90 SFC = $(FC) CC = cc SCC = $(CC) LD = $(FC) NATIVE_RWORDSIZE = 8 RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 -DLIMIT_ARGS -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) ##for DM compilation -DDM_PARALLEL -DRSL # note: -ew already does this for SX6, see comments above PROMOTION = CFLAGS = $(ARCHFLAGS) #CFLAGS = $(ARCHFLAGS) -DMPI -Dvpp -I../external/RSL/RSL FCFLAGS = -w -Ep -C ssafe \ -sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I../inc -f4 # -Wf"-init stack=zero heap=zero" # -Wf"-L transform fmtlist summary stdout" -g FCDEBUG = # -g FCBASEOPTS = $(FCFLAGS) -w # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int \ -I../external/esmf_time_f90 -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ # -L../external/RSL/RSL -lrsl \ -L../external/esmf_time_f90 -lesmf_time \ ../frame/module_internal_header_util.o ../frame/pack_utils.o #-lmpi for 4byte storage, -lmpiw for 8 byte storage #LDOPTIONS = -lmpiw -ew CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS) #CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) -DSYSTEM_CALL_OK -DMPI -Dvpp MAX_PROC = 8 MAKE = make -i -r AWK = awk SED = sed CAT = cat CUT = cut EXPAND = expand AR = ar ru M4 = m4 -B14000 RANLIB = ar ru NETCDFPATH = /usr/local/netcdf/current CC_TOOLS = $(CC) ARCH_OBJS = milliclock.o ASSUME_HOMOGENEOUS_ENVIRONMENT = 1 FLIC_MACROS = LMvpp.m4 -B 14000 VECTOR = 1 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int esmf_time module_dm.F ( /sbin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F: ( /sbin/cp module_dm_warning module_dm.F ; \ cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive) esmf_time : ( cd ../external/esmf_time_f90 ;\ make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I../../inc " ) #sx : uses makefile.sx in the directory #../external/RSL/RSL/librsl.a : # (cd ../external/RSL/RSL ; \ # make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx ) # #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! # 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 module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, Intel MKL, allows nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # Change MPI_HOME if SGI's MPI is not in the default directories # Change MKL_HOME if Intel's MKL is not in the default directories # # Process pinning should be used -- set the environment # variable MPI_DSM_DISTRIBUTE on a dedicated system, when # running through the cpuset command, or when using a batch # scheduler that has dynamic cpuset support enabled. In # other cases, if specific processors are known to be free, # the environment variable MPI_DSM_CPULIST may be used # (details in 'man mpi'). # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 INCLUDE = ../external/io_netcdf/ MAX_DOMAINS = 7 MAX_PROC = 1024 MPI_HOME = /usr MKL_HOME = /usr/lib # MKL_HOME = /sw/sdev/mkl/7.2.008/mkl72/lib/64 FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \ -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DIFORT_KLUDGE -DINTELMKL # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time \ -L$(MKL_HOME) -lvml -lmkl_ipf LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \ -I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \ FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ LEARN_BCAST=-DLEARN_BCAST altix ) # compile these without high optimization to speed compile module_configure.o : module_configure.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o \ mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Intel MKL, Allows nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # Change MPI_HOME if SGI's MPI is not in the default directories # Change MKL_HOME if Intel's MKL is not in the default directories # # Process pinning should be used -- set the environment # variable MPI_DSM_DISTRIBUTE on a dedicated system, when # running through the cpuset command, or when using a batch # scheduler that has dynamic cpuset support enabled. In # other cases, if specific processors are known to be free, # the environment variable MPI_DSM_CPULIST may be used # (details in 'man mpi'). # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 INCLUDE = ../external/io_netcdf/ MAX_PROC = 1024 MPI_HOME = /usr MKL_HOME = /usr/lib # MKL_HOME = /sw/sdev/mkl/7.2.008/mkl72/lib/64 FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \ -DINTELMKL # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time \ -L$(MKL_HOME) -lvml -lmkl_ipf LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \ -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\ FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) # compile these without high optimization to speed compile mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_dm.o : module_dm.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o : module_configure.F mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ module_configure.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, allows nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # Change MPI_HOME if SGI's MPI is not in the default directories # # Process pinning should be used -- set the environment # variable MPI_DSM_DISTRIBUTE on a dedicated system, when # running through the cpuset command, or when using a batch # scheduler that has dynamic cpuset support enabled. In # other cases, if specific processors are known to be free, # the environment variable MPI_DSM_CPULIST may be used # (details in 'man mpi'). # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DMPARALLEL = 1 INCLUDE = ../external/io_netcdf/ MAX_DOMAINS = 7 MAX_PROC = 1024 MPI_HOME = /usr FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \ -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DIFORT_KLUDGE # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/RSL/RSL -lrsl \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \ -I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \ FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ LEARN_BCAST=-DLEARN_BCAST altix ) # compile these without high optimization to speed compile module_configure.o : module_configure.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o \ mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Allows nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # Change MPI_HOME if SGI's MPI is not in the default directories # # Process pinning should be used -- set the environment # variable MPI_DSM_DISTRIBUTE on a dedicated system, when # running through the cpuset command, or when using a batch # scheduler that has dynamic cpuset support enabled. In # other cases, if specific processors are known to be free, # the environment variable MPI_DSM_CPULIST may be used # (details in 'man mpi'). # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 INCLUDE = ../external/io_netcdf/ MAX_PROC = 1024 MPI_HOME = /usr FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \ -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\ FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) ) # compile these without high optimization to speed compile mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_wrf.o : module_io_wrf.F module_dm.o : module_dm.F module_domain.o : module_domain.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o : module_configure.F mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ module_configure.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (OpenMP, no nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # Set up only for idealized experiments # OMP = -openmp OMPCPP = -D_OPENMP INCLUDE = ../external/io_netcdf/ FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \ -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ) # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \ # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \ # /bin/cp wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_dm.o : module_dm.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o : module_configure.F module_bl_mrf.o: module_bl_mrf.F mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ module_configure.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o module_bl_mrf.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (Single-processor, no nesting) # # 'setenv F_UFMTENDIAN big' in run scripts not necessary # since -convert big_endian is in FCBASEOPTS # # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for # modules/routines that take a long time to compile but do not # significantly contribute to the total runtime performance is # appropriate. Temporary suggestion for 2.1.1, Nov 2005. # # Contributed settings from Gerardo Cisneros, SGI # INCLUDE = ../external/io_netcdf/ FC = ifort -I.. LD = ifort CC = icc -I. SCC = icc -I. CC_TOOLS = cc SFC = ifort CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz FCOPTIM = -O3 -unroll0 FCDEBUG = # -g FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \ -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \ -I$(INCLUDE) -I. FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf \ CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -O3 -ip CONFIGURE_LDFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) \ -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \ $(POUND_DEF) $(COREDEFS) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \ TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \ /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ) # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \ # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \ # /bin/cp wrf_io_flags.h ../io_quilt ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \ FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F wrf_auxinput1out.o : wrf_auxinput1out.F wrf_histout.o : wrf_histout.F wrf_restartout.o : wrf_restartout.F wrf_inputin.o : wrf_inputin.F wrf_auxinput1in.o : wrf_auxinput1in.F wrf_histin.o : wrf_histin.F wrf_restartin.o : wrf_restartin.F module_initialize_real.o: module_initialize_real.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_dm.o : module_dm.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F start_domain.o : start_domain.F mediation_force_domain.o : mediation_force_domain.F module_configure.o : module_configure.F mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \ module_configure.o \ wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \ wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \ module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \ shift_domain_em.o \ mediation_force_domain.o: $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90 ########################################################### #ARCH UNICOS/mp machine crayx1 (RSL_LITE, MPI, MSP mode) # # Cray X1 (RSL_LITE, MPI, MSP mode) # For CSD mode set numtiles=4 in &domains section # in namelist.input for best MSP efficiency. # DMPARALLEL = 1 MAX_PROC = 1024 FC = ftn SFC = $(FC) LD = ftn CC = cc SCC = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script converts !$OMP directives to !csd$ directives #### SED_FTN = sed -f ../arch/cray_csd.sed ## Use these for X1 cross compiler to build Registry ##X1_CROSS_COMP = "gcc" ##X1_CROSS_CFLG = "" ## Use these for X1 native (trigger) compiler X1_CROSS_COMP = "cc" X1_CROSS_CFLG = "-hcommand" CC_TOOLS = $(X1_CROSS_COMP) $(X1_CROSS_CFLG) RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -f free -N 255 -I. -x omp -dy FCFLAGS_LOWOPT = $(FCBASEOPTS) -O1 FCFLAGS = $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee #if using 64bit precision #PROMOTION = -sreal64 -dp -sinteger32 CFLAGS = -I../external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \ -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../inc \ -p./ -p../external/io_netcdf -p../external/io_int -p../frame \ -p../frame -p../share -p../phys -p../chem \ -p../dyn_em -p ../external/esmf_time_f90 ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -Dcrayx1 PERL = perl REGISTRY = Registry LIB = -L../external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time -lmalloc ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS LDFLAGS = CPP = cpp -C -P -Dcrayx1 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) # -DNO_NAMELIST_PRINT CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) -f free -N 255" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) -f free -N 255" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.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_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_em.o : solve_em.F solve_interface.o : solve_interface.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F input_wrf.o : input_wrf.F output_wrf.o : output_wrf.F module_io_mm5.o module_si_io.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 \ mediation_interp_domain.o \ mediation_force_domain.o \ module_configure.o solve_em.o \ input_wrf.o output_wrf.o \ solve_interface.o wrf_restartout.o wrf_restartin.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX PA8600 32bit (single-threaded, no nesting) # OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX PA8600 32bit (single-threaded, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS \ -DDM_PARALLEL -DFLOATSAFE -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL/ -lrsl -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) 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) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS=" -DSTUBS +O3 " FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX Itanium2 (single-threaded, no nesting) # OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX Itanium2 (single-threaded, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # OMP = OMPCPP = FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DSTUBMPI PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL FCOPTIM = +O3 +DSitanium2 +Odataprefetch +Olibcalls +DO11.23 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX PA8600 32bit (openmp, no nesting) # OMP = +Oopenmp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DS2.0a $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX PA8600 DM-Parallel (RSL, MPICH, nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp ) # 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH HP-UX Itanium2 DM-Parallel (RSL, MPICH, nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 OMP = OMPCPP = FC = mpif90 SFC = f90 LD = mpif90 CC = mpicc SCC = cc RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \ +save +fastallocatable +Ofltacc +extend_source +source=free +FPD FCDEBUG = # -g FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \ FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \ FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp ) # 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 mediation_integrate.o : mediation_integrate.F start_domain.o : start_domain.F module_configure.o : module_configure.F solve_interface.o \ shift_domain_em.o \ module_configure.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 mediation_integrate.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Darwin (single-threaded, no nesting) # # Using -qfloat=nomaf option can result in identical results with # non-optimized and optimized results (suggested by Fovell of UCLA) # One may turn on by uncommenting it in FCOPTIM line # FC = xlf90_r SFC = $(FC) LD = xlf90_r #CC = cc_r CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE # -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS #CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P CPP = /usr/bin/cpp -C -P -xassembler-with-cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 # compile these without high optimization to speed compile 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 solve_em.o : solve_em.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F 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 \ shift_domain_em.o \ mediation_interp_domain.o \ module_configure.o \ solve_em.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ########################################################### #ARCH Darwin (OpenMP, no nesting) # # Using -qfloat=nomaf option can result in identical results with # non-optimized and optimized results (suggested by Fovell of UCLA) # One may turn on by uncommenting it in FCOPTIM line # OMP = -qsmp=noauto OMPCPP = -D_OPENMP FC = xlf90_r SFC = $(FC) LD = xlf90_r CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS FCOPTIM = -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -lxlsmp \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/bin/cpp -C -P -xassembler-with-cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) module_configure.o : module_configure.F module_domain.o : module_domain.F module_sm.o : module_sm.F module_tiles.o : module_tiles.F solve_em.o : solve_em.F solve_exp.o : solve_exp.F convert_nmm.o : convert_nmm.F module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90 module_domain.o : $(RM) $@ $(SED_FTN) $*.F90 > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90 ########################################################### #ARCH Darwin (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs) # # Using -qfloat=nomaf option can result in identical results with # non-optimized and optimized results (suggested by Fovell of UCLA) # One may turn on by uncommenting it in FCOPTIM line # FC = xlf90_r SFC = $(FC) LD = xlf90_r #CC = cc_r CC = gcc-3.3 SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE # -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P #CPP = /usr/bin/cpp -C -P -xassembler-with-cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 # compile these without high optimization to speed compile 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 solve_em.o : solve_em.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F 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 \ shift_domain_em.o \ mediation_interp_domain.o \ module_configure.o \ solve_em.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting) # FC = pathf90 LD = pathf90 CC = pathcc SCC = $(CC) NATIVE_RWORDSIZE= 4 RWORDSIZE = $(NATIVE_RWORDSIZE) SFC = $(FC) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = FCOPTIM = -O3 -OPT:Ofast:Olimit=5000 FCDEBUG = #-g FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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 -fno-second-underscore" TRADFLAG="-traditional" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) 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_fddaobs_rtfdda.o : module_fddaobs_rtfdda.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 \ mediation_integrate.o \ module_configure.o \ module_fddaobs_rtfdda.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel (RSL_LITE, PathScale MPICH, No periodic LBCs) # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=pathf90 LD = mpif90 -f90=pathf90 CC = mpicc -cc=pathcc SCC = pathcc SFC = pathf90 NATIVE_RWORDSIZE= 4 RWORDSIZE = $(NATIVE_RWORDSIZE) CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE FCOPTIM = -O3 -OPT:Ofast:Olimit=5000 FCDEBUG = #-g FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem EXTRAMODULES = PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -byteswapio CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = pathcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) #io_flags: # ( cd ../external/io_netcdf ; make flags_only ; \ # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \ # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \ FFLAGS='$(FCFLAGS) -I../../inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.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_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F module_configure.o : module_configure.F solve_interface.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 \ mediation_integrate.o \ module_configure.o \ module_fddaobs_rtfdda.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, Periodic in X only ) # Note that for 5.1.x comment out -Mpia=fast # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = ftn LD = ftn CC = gcc -DMPI2_SUPPORT SCC = gcc SFC = mpif90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \ -DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include FCOPTIM = -O3 -fastsse #-Mipa=fast FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB -DNO_NAMELIST_PRINT -DXT3_Catamount # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB 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 -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time # add this to LIB to use XT3 iobuf library after loading iobuf module, also requires # properly built netCDF library that includes iobuf # $(IOBUF_POST_LINK_OPTS) LDFLAGS = -byteswapio CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = gcc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # 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 solve_em.o : solve_em.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 \ mediation_integrate.o \ solve_em.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = sxmpif90 LD = sxmpif90 CC = sxmpic++ SCC = sxmpic++ SFC = sxmpif90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL FCOPTIM = FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC AR_BASE = sxar AR = $(AR_BASE) ru M4 = m4 -B 14000 RANLIB = sxar rs NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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" AR="$(AR_BASE)" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) 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" AR="$(AR_BASE)" all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 # if [ ! -e $@ ] ; then \ # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi ########################################################### #ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = sxmpif90 LD = sxmpif90 CC = sxmpic++ SCC = sxmpic++ SFC = sxmpif90 RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE FCOPTIM = FCDEBUG = #-g #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG) FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG) FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC AR_BASE = sxar AR = $(AR_BASE) ru M4 = m4 -B 14000 RANLIB = sxar rs NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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" AR="$(AR_BASE)" ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive) 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" AR="$(AR_BASE)" all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 # if [ ! -e $@ ] ; then \ # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi # if [ ! -e $@ ] ; then \ # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \ # fi ########################################################### #ARCH CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler (Single-threaded, no nesting) # FC = g95 LD = g95 CC = gcc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) SFC = $(FC) # g95 does not like -r8. if you want -r8, just add it to PROMOTION below #PROMOTION = -r$(RWORDSIZE) -i4 PROMOTION = -i4 CFLAGS = FCOPTIM = -O2 FCDEBUG = #-g FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS -DG95 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = cpp -C -P -traditional POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux i486 i586 i686, g95 compiler (Single-threaded, no nesting) # FC = g95 LD = g95 CC = gcc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) SFC = $(FC) # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below #PROMOTION = -r$(RWORDSIZE) -i4 PROMOTION = -i4 CFLAGS = FCOPTIM = -O2 # -fast FCDEBUG = #-g -O0 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DLIMIT_ARGS -DG95 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive ) 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux i486 i586 i686, g95 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 -f90=g95 LD = mpif90 -f90=g95 CC = mpicc -cc=gcc SCC = gcc SFC = g95 RWORDSIZE = $(NATIVE_RWORDSIZE) # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below #PROMOTION = -r$(RWORDSIZE) -i4 PROMOTION = -i4 CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE FCOPTIM = -O2 # -fast FCDEBUG = #-g -O0 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and AMD Opteron), GNU Fortran compiler, DM-Parallel (RSL, MPICH, Allows nesting) # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 LD = mpif90 CC = mpicc SCC = gcc SFC = gfortran RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \ -DLANDREAD_STUB FCOPTIM = #-Mipa=fast FCDEBUG = #-g FCBASEOPTS = -w $(FCDEBUG) -ffree-form -ffree-line-length-none FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc -I../chem PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_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 ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) # 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 \ mediation_integrate.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), GNU Fortran compiler (Single-threaded, RSL, Allows nesting) # DMPARALLEL = 1 MAX_PROC = 1024 FC = gfortran LD = gfortran CC = gcc SCC = $(CC) SFC = gfortran RWORDSIZE = $(NATIVE_RWORDSIZE) FCOPTIM = #-O3 -funroll-loops #-ftree-vectorize -ftree-loop-linear FCDEBUG = #-g FCBASEOPTS = -fno-second-underscore -w $(FCDEBUG) -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DSTUBMPI PROMOTION = CFLAGS = -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ -L../external/io_int -lwrfio_int \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS -fconvert=big-endian ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH PC Linux x86_64 (IA64 and Opteron), GNU Fortran compiler DM-Parallel (RSL_LITE, OpenMPI, Allows nesting) # DMPARALLEL = 1 MAX_PROC = 1024 FC = mpif90 LD = mpif90 CC = mpicc SCC = gcc SFC = gfortran RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = CFLAGS = -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE FCOPTIM = FCDEBUG = FCBASEOPTS = -w $(FCDEBUG) -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../chem -I../inc PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS -fconvert=big-endian ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P -traditional POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.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_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) 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)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # 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 > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ################################################################## #ARCH NULL