########################################################### #ARCH PC Linux x86_64 (AMD Turion), ifort+icc compiler (single-threaded, no nesting) # OMP = OMPCPP = FC = ifort CC = icc 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 -O0 FCOPTIM = -O2 FCFLAGS = $(FCBASEOPTS) $(FCOPTIM) $(OMP) CFLAGS = -w INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../external -I../frame -I../share -I../phys -I../inc ARCHFLAGS = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 -DTRIEDNTRUE LD = $(FC) LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -traditional POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DF90_STANDALONE \ -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 AR = ar ru M4 = m4 -B12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" ) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w") wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F wrf_bdyin.o : wrf_bdyin.F wrf_bdyout.o : wrf_bdyout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_restartin.o : wrf_restartin.F wrf_restartout.o : wrf_restartout.F module_configure.o : module_configure.F module_configure.o \ wrf_bdyin.o wrf_bdyout.o \ wrf_histin.o wrf_histout.o \ wrf_inputin.o wrf_inputout.o \ wrf_restartin.o wrf_restartout.o \ solve_interface.o \ shift_domain_em.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #ARCH 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 = 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 -DTRIEDNTRUE -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -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 AR = ar ru M4 = m4 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 = 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 -DTRIEDNTRUE -DINTIO -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -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 AR = ar ru M4 = m4 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH 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 ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 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 \ -DTRIEDNTRUE -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 \ ../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 -DF90_STANDALONE -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 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 -DINTIO -DTRIEDNTRUE -DLIMIT_ARGS 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 \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time AR = ar ru M4 = m4 -B12000 LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" 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_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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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) 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 \ -DTRIEDNTRUE -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 \ ../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 -DF90_STANDALONE -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 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \ -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DTRIEDNTRUE -DLIMIT_ARGS -DLANDREAD_STUB 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 \ ../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 -DF90_STANDALONE -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 -B12000 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_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)" ) 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc \ -M../dyn_em ARCHFLAGS = -DINTIO -DGRIB1 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE \ -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 \ ../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 -DF90_STANDALONE -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 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DTRIEDNTRUE \ -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) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc \ -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 \ ../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 -DF90_STANDALONE -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 12000 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_grib1 ../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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f ########################################################### #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) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc \ -M../dyn_em ARCHFLAGS = -DGRIB1 -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE \ -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 \ ../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 -DF90_STANDALONE -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 -B12000 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_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f ########################################################### #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 -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DTRIEDNTRUE \ -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) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc \ -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 \ ../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 -DF90_STANDALONE -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 12000 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_grib1 ../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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE \ -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 \ ../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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f # 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 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_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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #ARCH AIX SM (OpenMP, no nesting) # OMP = -qsmp=noauto 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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE \ -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 \ ../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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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)" ) 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 > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 = -O3 -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE -DGRIB1 -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ ../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 -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) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc 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="$(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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 ) # compile these without high optimization 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DTRIEDNTRUE -DGRIB1 -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV 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 \ ../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 -DF90_STANDALONE -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 12000 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="$(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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/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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DGRIB1 CONFIGURE_PHDF5_FLAG -DTRIEDNTRUE -DGRIB1 -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 \ ../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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 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) -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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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/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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DTRIEDNTRUE -DGRIB1 -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 \ ../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 -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) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 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) -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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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 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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) 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 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE \ -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 \ ../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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc MAX_PROC = 1024 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="$(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f ../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 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 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 \ mediation_integrate.o \ mediation_interp_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f # 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 > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DTRIEDNTRUE -DGRIB1 -DINTIO -DMCELIO -DLIMIT_ARGS \ -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ -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 -DF90_STANDALONE -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 12000 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 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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)" ) 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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #ARCH AIX DM-Parallel ESMF (RSL, IBM-MPI, ESMF coupling, no nesting) EXPERIMENTAL # 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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) # WRF build-time switch to enable ESMF coupling ESMFCOUPLING = 1 # begin ESMF paths ESMF_DIR = /home/bluesky/hender/esmf ESMF_BOPT = O ESMF_ARCH = AIX ESMF_COMPILER = default # TBH: Link ESMF_PREC with OBJECT_MODE later... ESMF_PREC = 32 #ESMF_PREC = 64 ESMF_SITE = default ESMF_PATH_TAIL = $(ESMF_BOPT)/$(ESMF_ARCH).$(ESMF_COMPILER).$(ESMF_PREC).$(ESMF_SITE) ESMF_MODULES = $(ESMF_DIR)/mod/mod$(ESMF_PATH_TAIL) ESMF_LIB = $(ESMF_DIR)/lib/lib$(ESMF_PATH_TAIL) ESMF_LIB_FLAGS = -L$(ESMF_LIB) -lesmf -lC ESMF_MOD_INC = -I$(ESMF_MODULES) # end ESMF paths # path to WRF IOAPI external package for ESMF ESMF_IO_DIR = ../external/io_esmf INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I$(ESMF_IO_DIR) \ -I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC) # Override default ESMF dependences since embedded ESMF time manager is not used. ESMF_MOD_DEPENDENCE = $(ESMF_IO_DIR)/module_utility.o ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE -DGRIB1 -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DESMFIO -DUSE_LOGERR 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 \ ../frame/module_internal_header_util.o ../frame/pack_utils.o \ -L$(ESMF_IO_DIR) -lwrfio_esmf $(ESMF_LIB_FLAGS) 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 12000 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 wrfio_esmf 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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_esmf : ( cd $(ESMF_IO_DIR) ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" RANLIB="$(RANLIB)" CPP="$(CPP) $(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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DTRIEDNTRUE -DGRIB1 -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 \ ../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 -DF90_STANDALONE -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 12000 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="$(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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/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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 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 FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) 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 -DTRIEDNTRUE -DGRIB1 -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 \ ../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 -DF90_STANDALONE -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 12000 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="$(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(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/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 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 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 \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f # 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 > $*.f $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f ########################################################### #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 = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE CONFIGURE_NETCDF_FLAG -DGRIB1 -DINTIO \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DTRIEDNTRUE \ -DLIMIT_ARGS -DFLOATSAFE -DGRIB1 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) 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 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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_integrate.o module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f ########################################################### #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 = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE -DNETCDF -DGRIB1 -DINTIO -DWRF_RSL_IO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DTRIEDNTRUE \ -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) 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 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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_integrate.o module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f ########################################################### #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 = -DDEREF_KLUDGE -DIO_DEREF_KLUDGE CONFIGURE_NETCDF_FLAG -DGRIB1 -DINTIO \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DTRIEDNTRUE \ -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) 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 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 -DF90_STANDALONE -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 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(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_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " ) 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f # 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 > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f mediation_integrate.o : mediation_integrate.F module_dm.o : module_dm.F mediation_integrate.o module_dm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f ########################################################### #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