########################################################### #ARCH SGI 32 bit machine IRIX FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = $(FCBASEOPTS) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_configure.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 32 bit machine, sycamore IRIX FC = f90 SFC = $(FC) CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = -freeform -I. -w PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share -I../phys -I../chem \ -I../external/esmf_time_f90 -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_configure.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 64 bit machine IRIX64 (single-threaded, no nesting) FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99 FCOPTIM = -O3 RWORDSIZE = $(NATIVE_RWORDSIZE) FCDEBUG = # -g FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) PROMOTION = -r$(RWORDSIZE) -i4 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 module_configure.o : module_configure.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI O2K IRIX FC = f90 -n32 -mips4 -w SFC = $(FC) LD = f90 -n32 -mips4 -w CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -n32 -mips4 FCDEBUG = # -g FCBASEOPTS = -freeform -I. -w FCFLAGS = -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001 ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share \ -I../phys -I../chem -I../inc -I../external/esmf_time_f90 PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time AR = ar ru M4 = m4 -B14000 LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_configure.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI 64 bit machine IRIX64 (OpenMP, no nesting) OMP = -mp OMPCPP = -D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99 FCOPTIM = -O3 FCDEBUG = # -g FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \ -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_configure.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH SGI O2K DM IRIX64 DM-Parallel (RSL, SGI-MPI, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 MAX_PROC = 1024 OMP = #-mp OMPCPP = #-D_OPENMP FC = f90 SFC = $(FC) LD = f90 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -r$(RWORDSIZE) -i4 CFLAGS = -w -64 -mips4 -DWRF_RSL_IO -DMAXDOM_MAKE=$(MAX_DOMAINS) \ -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -DDM_PARALLEL -DLANDREAD_STUB -DNCARIBM_NOC99 FCDEBUG = # -g FCOPTIM = -O3 -OPT:roundoff=3:IEEE_arithmetic=3 FCBASEOPTS = -freeform -I. -64 -mips4 -w $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \ -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DLANDREAD_STUB # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../external/esmf_time_f90 \ -I../share -I../phys -I../chem -I../inc PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl -lmpi \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = -64 $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = echo NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the SGI Fortran compiler complains about long source lines. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \ LEARN_BCAST=-DLEARN_BCAST o2k ) # compile these without high optimization to speed compile solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F module_configure.o : module_configure.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F solve_interface.o \ shift_domain_em.o \ module_configure.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS (single-threaded, no nesting) # FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = -DNCARIBM_NOC99 FCOPTIM = -O2 # -O4 -xlibmopt FCDEBUG = #-g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS #CPP = /opt/SUNWspro/bin/fpp CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F module_dm.o : module_dm.F start_domain.o : start_domain.F wrf_bdyin.o : wrf_bdyin.F wrf_bdyout.o : wrf_bdyout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_restartin.o : wrf_restartin.F wrf_restartout.o : wrf_restartout.F module_configure.o : module_configure.F module_configure.o \ shift_domain_em.o \ wrf_bdyin.o wrf_bdyout.o \ wrf_histin.o wrf_histout.o \ wrf_inputin.o wrf_inputout.o \ wrf_restartin.o wrf_restartout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o mediation_interp_domain.o \ mediation_force_domain.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS (single-threaded, nesting using RSL and no MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = OMPCPP = FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DSTUBMPI RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99 FCOPTIM = -O2 # -O4 -xlibmopt FCDEBUG = # -g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization to speed compile module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F wrf_bdyin.o : wrf_bdyin.F wrf_bdyout.o : wrf_bdyout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_restartin.o : wrf_restartin.F wrf_restartout.o : wrf_restartout.F module_configure.o : module_configure.F module_configure.o \ wrf_bdyin.o wrf_bdyout.o \ wrf_histin.o wrf_histout.o \ wrf_inputin.o wrf_inputout.o \ wrf_restartin.o wrf_restartout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH Sun SunOS SM (OpenMP, no nesting) # OMP = -mp=openmp -explicitpar -stackvar OMPCPP = -D_OPENMP FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = -DNCARIBM_NOC99 FCOPTIM = -O3 -xlibmopt FCDEBUG = #-g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS #CPP = /opt/SUNWspro/bin/fpp CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) solve_interface.o : solve_interface.F $(RM) $@ $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90 # compile these without high optimization to speed compile shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F module_configure.o : module_configure.F shift_domain_em.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ########################################################### #ARCH Sun SunOS SM (OpenMP, nesting using RSL and no MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # # DM_PARALLEL = 1 OMP = -mp=openmp -explicitpar -stackvar OMPCPP = -D_OPENMP FC = f95 SFC = $(FC) LD = f95 CC = cc SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DDM_PARALLEL -DRSL \ -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ -DLIMIT_ARGS -DFLOATSAFE \ -DSTUBMPI RSIZEBITS = `expr $(RWORDSIZE) \* 8` PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99 FCOPTIM = -O3 -xlibmopt FCDEBUG = # -g FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem \ -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \ -M../frame -M../share -M../phys -M../inc -M../chem \ -M../dyn_em PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \ -L../external/RSL/RSL -lrsl \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(FCOPTIM) $(OMP) $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /usr/ccs/lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) #### Override default sed command and script for Fortran source files #### #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() #### #### because the Sun Fortran compiler complains about long source lines, #### #### usually due to cpp translating __FILE__ to a full pathname. #### SED_FTN = sed -f ../arch/no_file_line.sed externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; \ cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -cpp -free" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization to speed compile module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F module_configure.o : module_configure.F module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_configure.o \ module_initialize_real.o module_dm.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90 ########################################################### #ARCH AIX (single-threaded, no nesting) # FC = xlf90_r SFC = $(FC) LD = xlf90_r CC = cc_r SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFIXED = -qfixed FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_interface.o : solve_interface.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F module_integrate.o : module_integrate.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o \ mediation_integrate.o \ mediation_interp_domain.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 # to prevent having to call our service representative mediation_feedback_domain.o \ mediation_force_domain.o start_domain.o module_integrate.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX SM (OpenMP, no nesting) # OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP FC = xlf90_r SFC = $(FC) LD = xlf90_r CC = cc_r SCC = $(CC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = $(CC) externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time module_dm.F : ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) module_sm.o : module_sm.F module_tiles.o : module_tiles.F solve_em.o : solve_em.F solve_exp.o : solve_exp.F convert_nmm.o : convert_nmm.F module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F shift_domain_em.o : shift_domain_em.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F solve_interface.o : solve_interface.F module_integrate.o : module_integrate.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o \ mediation_integrate.o \ mediation_interp_domain.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf \ -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST) PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_pnf : ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFIXED = -qfixed FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/io_pnetcdf $(ESMF_IO_INC) \ -I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC) ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV $(ESMF_IO_DEFS) PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o $(ESMF_IO_LIB) LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET) gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_pnf : ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F start_domain_nmm.o : start_domain_nmm.F couple_or_uncouple_em.o : couple_or_uncouple_em.F nest_init_utils.o : nest_init_utils.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ start_domain_nmm.o \ couple_or_uncouple_em.o \ nest_init_utils.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting )(PARALLEL HDF5) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_phdf5 : ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../inc -I../chem ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL_LITE/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL_LITE/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_phdf5 : ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL_LITE/librsl_lite.a : ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel/SM-Parallel (not recommended) (RSL, IBM-MPI, OpenMP, allows nesting) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpxlf90_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = CONFIGURE_PERL_PATH REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lxlsmp -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc MAX_PROC = 1024 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization to speed compile wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F module_configure.o : module_configure.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ convert_nmm.o \ module_configure.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ mediation_integrate.o \ mediation_interp_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # to prevent having to call our service representative mediation_feedback_domain.o \ mediation_force_domain.o start_domain.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX DM-Parallel (RSL, IBM-MPI, MCEL) May 2003, EXPERIMENTAL # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = mpxlf90_r LD = mpCC_r CC = mpcc_r RWORDSIZE = $(NATIVE_RWORDSIZE) MCELHOME = /home/bluesky/bettenc/disttest PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../../inc -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \ -DNO_NAMELIST_PRINT -DNATIVE_MASSV PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ -L../external/RSL/RSL -lrsl -lmass -lmassv -lxlsmp \ -L../external/io_mcel -lwrfio_mcel \ -L$(MCELHOME)/MCELSystem/MCEL -lMCEL \ -L$(MCELHOME)/lib -lomniORB4 \ -lomnithread -lomniDynamic4 -lnetcdf_c++ -lnetcdf -lxlf90 -lxlopt \ -lxlf -lxlomp_ser -lm -lc -lpthread \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( cat ../tools/gen_comms_warning ../external/RSL/gen_comms.c > ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( cat module_dm_warning ../external/RSL/module_dm.F > module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; \ make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) wrfio_mcel : ( cd ../external/io_mcel ; \ make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I../../inc -I../io_netcdf -I../../frame -I../../share \ -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX (single-threaded, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = xlf90_r LD = xlf90_r CC = cc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_domain.o : module_domain.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F module_initialize_real.o : module_initialize_real.F module_dm.o : module_dm.F start_domain.o : start_domain.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F couple_or_uncouple_em.o : couple_or_uncouple_em.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ module_initialize_real.o module_dm.o start_domain.o \ mediation_force_domain.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_feedback_domain.o \ solve_interface.o \ shift_domain_em.o \ couple_or_uncouple_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH AIX (OpenMP, nesting using RSL without MPI) # # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS # OMP = -qsmp=noauto:noopt OMPCPP = -D_OPENMP DMPARALLEL = 1 SFC = xlf90_r SCC = cc_r FC = xlf90_r LD = xlf90_r CC = cc_r RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \ -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99 FCOPTIM = -O2 -qarch=auto #FCOPTIM = -O3 -qhot FCDEBUG = # -qnoopt -qfullpath FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) FCSUFFIX = -qsuffix=f=f90 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) ESMF_LIB_FLAGS = -lC ESMF_IO_LIB = ESMFIOLIB ESMF_IO_LIB_EXT = ESMFIOEXTLIB INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \ -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \ -L../external/io_int -lwrfio_int \ -L../external/io_grib1 -lio_grib1 \ CONFIGURE_GRIB2_LIB \ -L../external/io_grib_share -lio_grib_share \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time LDFLAGS = $(OMP) CONFIGURE_LDFLAGS ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS CPP = /lib/cpp -C -P POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) MAX_PROC = 1024 AR = ar ru M4 = m4 -B 14000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH CC_TOOLS = cc externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time gen_comms.c : ../external/RSL/gen_comms.c ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) module_dm.F : ../external/RSL/module_dm.F ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) wrfio_nf : ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" ) wrfio_int : ( cd ../external/io_int ; \ make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all ) wrfio_grib_share : ( cd ../external/io_grib_share ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive) wrfio_grib1 : ( cd ../external/io_grib1 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive ) wrfio_grib2 : ( cd ../external/io_grib2 ; \ make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive ) esmf_time : ( cd ../external/esmf_time_f90 ; \ make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) ../external/RSL/RSL/librsl.a : ( cd ../external/RSL/RSL ; \ make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \ MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) # compile these without high optimization wrf_bdyout.o : wrf_bdyout.F wrf_bdyin.o : wrf_bdyin.F wrf_restartout.o : wrf_restartout.F wrf_restartin.o : wrf_restartin.F wrf_inputin.o : wrf_inputin.F wrf_inputout.o : wrf_inputout.F wrf_histin.o : wrf_histin.F wrf_histout.o : wrf_histout.F module_io_mm5.o : module_io_mm5.F module_si_io.o : module_si_io.F module_io_wrf.o : module_io_wrf.F module_start.o : module_start.F module_initialize.o : module_initialize.F module_initialize_b_wave.o : module_initialize_b_wave.F module_initialize_hill2d_x.o : module_initialize_hill2d_x.F module_initialize_quarter_ss.o : module_initialize_quarter_ss.F module_initialize_squall2d_x.o : module_initialize_squall2d_x.F module_initialize_squall2d_y.o : module_initialize_squall2d_y.F start_domain.o : start_domain.F convert_nmm.o : convert_nmm.F solve_interface.o : solve_interface.F shift_domain_em.o : shift_domain_em.F solve_em.o : solve_em.F solve_nmm.o : solve_nmm.F wrf_bdyout.o wrf_bdyin.o \ wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \ module_io_mm5.o module_si_io.o module_io_wrf.o \ module_start.o module_initialize.o module_initialize_b_wave.o \ module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ start_domain.o \ solve_interface.o \ shift_domain_em.o \ solve_em.o \ solve_nmm.o \ convert_nmm.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 # Compiled WITHOUT ANY SMP, needed Mar 2005 module_domain.o : module_domain.F module_dm.o : module_dm.F mediation_integrate.o : mediation_integrate.F mediation_interp_domain.o : mediation_interp_domain.F mediation_force_domain.o : mediation_force_domain.F mediation_feedback_domain.o : mediation_feedback_domain.F module_initialize_real.o : module_initialize_real.F module_domain.o \ module_dm.o \ mediation_integrate.o \ mediation_interp_domain.o \ mediation_force_domain.o \ mediation_feedback_domain.o \ module_initialize_real.o : $(RM) $@ $(SED_FTN) $*.F > $*.b $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90 ########################################################### #ARCH Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI) # # from sheeba BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys MPI_INC = -I$(BGL_SYS)/include MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts TRACE_LIB = -L/contrib/bgl/mpi_trace -lmpitrace_c SFC = blrts_xlf90 SCC = blrts_xlc DMPARALLEL = 1 FC = $(SFC) LD = $(FC) CC = $(SCC) RWORDSIZE = $(NATIVE_RWORDSIZE) PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB FCOPTIM = -O2 -qarch=440 FCDEBUG = # -qnoopt -qfullpath -qarch=440 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=64000 $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int -I../external/esmf_time_f90 \ -I../frame -I../share -I../phys -I../chem -I../inc ARCHFLAGS = -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \ CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \ -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DLANDREAD_STUB PERL = perl REGISTRY = Registry LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \ -L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \ -L../external/io_int -lwrfio_int \ ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \ $(TRACE_LIB) $(MPI_LIB) LDFLAGS = -Wl,--allow-multiple-definition -qstatic ENVCOMPDEFS = WRF_CHEM = 0 CPP = /opt/ibmcmp/xlf/9.1/exe/cpp POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) AR = ar ru #### this is a hand installed version of m4 on frost.ucar.edu #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4 M4 = /home/janicec/m4 -B 12000 RANLIB = ranlib NETCDFPATH = CONFIGURE_NETCDF_PATH PNETCDFPATH = CONFIGURE_PNETCDF_PATH CC_TOOLS = cc WRF_CONVERT = 0 externals : wrf_ioapi_includes ../external/RSL