--- WRFV2.original/arch/configure.defaults 2007-10-05 16:16:41.329127000 +0200 +++ WRFV2/arch/configure.defaults 2008-09-03 20:18:02.656065000 +0200 @@ -10943,5 +10943,358 @@ $(RM) $*.b $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 +########################################################### +#ARCH PC Linux x86_64 (IA64 and AMD Opteron), GNU Fortran compiler, DM-Parallel (RSL, MPICH, Allows nesting) +# +DMPARALLEL = 1 +MAX_PROC = 1024 +FC = mpif90 +LD = mpif90 +CC = mpicc +SCC = gcc +SFC = gfortran +RWORDSIZE = $(NATIVE_RWORDSIZE) +PROMOTION = +CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \ + -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \ + -DLANDREAD_STUB +FCOPTIM = #-Mipa=fast +FCDEBUG = #-g +FCBASEOPTS = -w $(FCDEBUG) -ffree-form -ffree-line-length-none +FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) +ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ + -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ + -DLIMIT_ARGS -DLANDREAD_STUB +# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) +ESMF_LIB_FLAGS = +ESMF_IO_LIB = ESMFIOLIB +ESMF_IO_LIB_EXT = ESMFIOEXTLIB +INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ + -I../external -I../frame -I../share -I../phys -I../inc -I../chem +PERL = perl +REGISTRY = Registry +LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ + -L../external/io_grib1 -lio_grib1 \ + CONFIGURE_GRIB2_LIB \ + -L../external/io_grib_share -lio_grib_share \ + -L../external/io_int -lwrfio_int \ + ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time +LDFLAGS = CONFIGURE_LDFLAGS +ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS +CPP = /lib/cpp -C -P -traditional +POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) +CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) +AR = ar ru +M4 = m4 -B 14000 +RANLIB = ranlib +NETCDFPATH = CONFIGURE_NETCDF_PATH +CC_TOOLS = cc + +externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time + +gen_comms.c : ../external/RSL/gen_comms.c + ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ + cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) + +module_dm.F : ../external/RSL/module_dm.F + ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) + +wrfio_nf : + ( cd ../external/io_netcdf ; \ + make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) + +wrfio_int : + ( cd ../external/io_int ; \ + make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all ) + +wrfio_grib_share : + ( cd ../external/io_grib_share ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib1 : + ( cd ../external/io_grib1 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib2 : + ( cd ../external/io_grib2 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) + +esmf_time : + ( cd ../external/esmf_time_f90 ; \ + make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) + +../external/RSL/RSL/librsl.a : + ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux ) + +# compile these without high optimization to speed compile +solve_interface.o : solve_interface.F +shift_domain_em.o : shift_domain_em.F +module_io_mm5.o : module_io_mm5.F +module_si_io.o : module_si_io.F +module_io_wrf.o : module_io_wrf.F +module_domain.o : module_domain.F +module_start.o : module_start.F +module_initialize.o : module_initialize.F +module_initialize_b_wave.o : module_initialize_b_wave.F +module_initialize_hill2d_x.o : module_initialize_hill2d_x.F +module_initialize_quarter_ss.o : module_initialize_quarter_ss.F +module_initialize_squall2d_x.o : module_initialize_squall2d_x.F +module_initialize_squall2d_y.o : module_initialize_squall2d_y.F +module_initialize_real.o : module_initialize_real.F +module_dm.o : module_dm.F +start_domain.o : start_domain.F +mediation_integrate.o : mediation_integrate.F +module_configure.o : module_configure.F + +solve_interface.o \ +shift_domain_em.o \ +module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ +module_start.o module_initialize.o module_initialize_b_wave.o \ +module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ +module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ +mediation_integrate.o \ +module_configure.o \ +module_initialize_real.o module_dm.o start_domain.o : + $(RM) $@ + $(SED_FTN) $*.F > $*.b + $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 + $(RM) $*.b + $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 + + +########################################################### +#ARCH PC Linux x86_64 (IA64 and Opteron), GNU Fortran compiler (Single-threaded, RSL, Allows nesting) +# +DMPARALLEL = 1 +MAX_PROC = 1024 +FC = gfortran +LD = gfortran +CC = gcc +SCC = $(CC) +SFC = gfortran +RWORDSIZE = $(NATIVE_RWORDSIZE) +FCOPTIM = #-O3 -funroll-loops -ftree-vectorize -ftree-loop-linear +FCDEBUG = #-g +FCBASEOPTS = -w $(FCDEBUG) -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 +FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) +ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \ + -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ + -DLIMIT_ARGS -DSTUBMPI +PROMOTION = +CFLAGS = -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \ + -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS) +# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) +ESMF_LIB_FLAGS = +ESMF_IO_LIB = ESMFIOLIB +ESMF_IO_LIB_EXT = ESMFIOEXTLIB +INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ + -I../external -I../frame -I../share -I../phys -I../chem -I../inc +PERL = perl +REGISTRY = Registry +LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \ + -L../external/io_grib1 -lio_grib1 \ + -L../external/io_int -lwrfio_int \ + -L../external/io_grib_share -lio_grib_share \ + ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time +LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS -fconvert=big-endian +ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS +CPP = /lib/cpp -C -P -traditional +POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) +CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) +AR = ar ru +M4 = m4 -B 14000 +RANLIB = ranlib +NETCDFPATH = CONFIGURE_NETCDF_PATH +CC_TOOLS = cc + +externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time + +gen_comms.c : ../external/RSL/gen_comms.c + ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ + cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c ) + +module_dm.F : ../external/RSL/module_dm.F + ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F ) + +wrfio_nf : + ( cd ../external/io_netcdf ; \ + make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) + +wrfio_grib_share : + ( cd ../external/io_grib_share ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib1 : + ( cd ../external/io_grib1 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib2 : + ( cd ../external/io_grib2 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) + +wrfio_int : + ( cd ../external/io_int ; \ + make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all ) + +esmf_time : + ( cd ../external/esmf_time_f90 ; \ + make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) + +../external/RSL/RSL/librsl.a : + ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub ) + +# compile these without high optimization to speed compile +solve_interface.o : solve_interface.F +shift_domain_em.o : shift_domain_em.F +module_io_mm5.o : module_io_mm5.F +module_si_io.o : module_si_io.F +module_io_wrf.o : module_io_wrf.F +module_domain.o : module_domain.F +module_start.o : module_start.F +module_initialize.o : module_initialize.F +module_initialize_b_wave.o : module_initialize_b_wave.F +module_initialize_hill2d_x.o : module_initialize_hill2d_x.F +module_initialize_quarter_ss.o : module_initialize_quarter_ss.F +module_initialize_squall2d_x.o : module_initialize_squall2d_x.F +module_initialize_squall2d_y.o : module_initialize_squall2d_y.F +module_initialize_real.o : module_initialize_real.F +module_dm.o : module_dm.F +start_domain.o : start_domain.F +mediation_integrate.o : mediation_integrate.F +module_configure.o : module_configure.F + +solve_interface.o \ +shift_domain_em.o \ +module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ +module_start.o module_initialize.o module_initialize_b_wave.o \ +module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ +module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ +module_configure.o \ +mediation_integrate.o \ +module_initialize_real.o module_dm.o start_domain.o : + $(RM) $@ + $(SED_FTN) $*.F > $*.b + $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 + $(RM) $*.b + $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 + + +########################################################### +#ARCH PC Linux x86_64 (IA64 and Opteron), GNU Fortran compiler DM-Parallel (RSL_LITE, OpenMPI, Allows nesting) +# +DMPARALLEL = 1 +MAX_PROC = 1024 +FC = mpif90 +LD = mpif90 +CC = mpicc +SCC = gcc +SFC = gfortran +RWORDSIZE = $(NATIVE_RWORDSIZE) +PROMOTION = +CFLAGS = -DDM_PARALLEL \ + -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE +FCOPTIM = +FCDEBUG = +FCBASEOPTS = -w $(FCDEBUG) -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4 +FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) +ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \ + -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \ + -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) +# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.) +ESMF_LIB_FLAGS = +ESMF_IO_LIB = ESMFIOLIB +ESMF_IO_LIB_EXT = ESMFIOEXTLIB +INCLUDE_MODULES = -J../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \ + -I../external -I../frame -I../share -I../phys -I../chem -I../inc +PERL = perl +REGISTRY = Registry +LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \ + -L../external/io_grib1 -lio_grib1 \ + CONFIGURE_GRIB2_LIB \ + -L../external/io_grib_share -lio_grib_share \ + -L../external/io_int -lwrfio_int \ + ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time +LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS -fconvert=big-endian +ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS +CPP = /lib/cpp -C -P -traditional +POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) +CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) +AR = ar ru +M4 = m4 -B 14000 +RANLIB = ranlib +NETCDFPATH = CONFIGURE_NETCDF_PATH +CC_TOOLS = cc + +externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time + +gen_comms.c : ../external/RSL_LITE/gen_comms.c + ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \ + cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c ) + +module_dm.F : ../external/RSL_LITE/module_dm.F + ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F ) + +wrfio_nf : + ( cd ../external/io_netcdf ; \ + make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" ) + +wrfio_grib_share : + ( cd ../external/io_grib_share ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib1 : + ( cd ../external/io_grib1 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive) + +wrfio_grib2 : + ( cd ../external/io_grib2 ; \ + make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive) + +wrfio_int : + ( cd ../external/io_int ; \ + make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all ) + +esmf_time : + ( cd ../external/esmf_time_f90 ; \ + make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" ) + +../external/RSL_LITE/librsl_lite.a : + ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST ) + +# compile these without high optimization to speed compile +solve_interface.o : solve_interface.F +shift_domain_em.o : shift_domain_em.F +module_io_mm5.o : module_io_mm5.F +module_si_io.o : module_si_io.F +module_io_wrf.o : module_io_wrf.F +module_domain.o : module_domain.F +module_start.o : module_start.F +module_initialize.o : module_initialize.F +module_initialize_b_wave.o : module_initialize_b_wave.F +module_initialize_hill2d_x.o : module_initialize_hill2d_x.F +module_initialize_quarter_ss.o : module_initialize_quarter_ss.F +module_initialize_squall2d_x.o : module_initialize_squall2d_x.F +module_initialize_squall2d_y.o : module_initialize_squall2d_y.F +module_initialize_real.o : module_initialize_real.F +module_dm.o : module_dm.F +start_domain.o : start_domain.F +mediation_integrate.o : mediation_integrate.F +module_configure.o : module_configure.F + +solve_interface.o \ +shift_domain_em.o \ +module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \ +module_start.o module_initialize.o module_initialize_b_wave.o \ +module_initialize_hill2d_x.o module_initialize_quarter_ss.o \ +module_initialize_squall2d_x.o module_initialize_squall2d_y.o \ +module_configure.o \ +mediation_integrate.o \ +module_initialize_real.o module_dm.o start_domain.o : + $(RM) $@ + $(SED_FTN) $*.F > $*.b + $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90 + $(RM) $*.b + $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 + ################################################################## #ARCH NULL