###########################################################
#ARCH SGI 32 bit machine IRIX
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCDEBUG = # -g
FCBASEOPTS = -freeform -I. -w
FCFLAGS = $(FCBASEOPTS)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_configure.o : module_configure.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI 32 bit machine, sycamore IRIX
FC = f90
SFC = $(FC)
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCDEBUG = # -g
FCBASEOPTS = -freeform -I. -w
FCFLAGS = -freeform -I. -w
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share -I../phys -I../chem \
-I../external/esmf_time_f90 -I../inc
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_configure.o : module_configure.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI 64 bit machine IRIX64 (single-threaded, no nesting)
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
FCOPTIM = -O3
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCDEBUG = # -g
FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
PROMOTION = -r$(RWORDSIZE) -i4
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_configure.o : module_configure.F
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI O2K IRIX
FC = f90 -n32 -mips4 -w
SFC = $(FC)
LD = f90 -n32 -mips4 -w
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -n32 -mips4
FCDEBUG = # -g
FCBASEOPTS = -freeform -I. -w
FCFLAGS = -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share \
-I../phys -I../chem -I../inc -I../external/esmf_time_f90
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
AR = ar ru
M4 = m4 -B14000
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_configure.o : module_configure.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI 64 bit machine IRIX64 (OpenMP, no nesting)
OMP = -mp
OMPCPP = -D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
FCOPTIM = -O3
FCDEBUG = # -g
FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_configure.o : module_configure.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI O2K DM IRIX64 DM-Parallel (RSL, SGI-MPI, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
OMP = #-mp
OMPCPP = #-D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -w -64 -mips4 -DWRF_RSL_IO -DMAXDOM_MAKE=$(MAX_DOMAINS) \
-DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -DDM_PARALLEL -DLANDREAD_STUB -DNCARIBM_NOC99
FCDEBUG = # -g
FCOPTIM = -O3 -OPT:roundoff=3:IEEE_arithmetic=3
FCBASEOPTS = -freeform -I. -64 -mips4 -w $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
-DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DLANDREAD_STUB
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../external/esmf_time_f90 \
-I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl -lmpi \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -64 $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the SGI Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
LEARN_BCAST=-DLEARN_BCAST o2k )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_configure.o : module_configure.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Sun SunOS (single-threaded, no nesting)
#
FC = f95
SFC = $(FC)
LD = f95
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
CFLAGS = -DNCARIBM_NOC99
FCOPTIM = -O2 # -O4 -xlibmopt
FCDEBUG = #-g
FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem \
-M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
-M../frame -M../share -M../phys -M../inc -M../chem \
-M../dyn_em
ARCHFLAGS = -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
#CPP = /opt/SUNWspro/bin/fpp
CPP = /usr/ccs/lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Sun Fortran compiler complains about long source lines, ####
#### usually due to cpp translating __FILE__ to a full pathname. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
wrf_bdyin.o : wrf_bdyin.F
wrf_bdyout.o : wrf_bdyout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_restartin.o : wrf_restartin.F
wrf_restartout.o : wrf_restartout.F
module_configure.o : module_configure.F
module_configure.o \
shift_domain_em.o \
wrf_bdyin.o wrf_bdyout.o \
wrf_histin.o wrf_histout.o \
wrf_inputin.o wrf_inputout.o \
wrf_restartin.o wrf_restartout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o mediation_interp_domain.o \
mediation_force_domain.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Sun SunOS (single-threaded, nesting using RSL and no MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DM_PARALLEL = 1
OMP =
OMPCPP =
FC = f95
SFC = $(FC)
LD = f95
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DSTUBMPI
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
FCOPTIM = -O2 # -O4 -xlibmopt
FCDEBUG = # -g
FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem \
-M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
-M../frame -M../share -M../phys -M../inc -M../chem \
-M../dyn_em
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/ccs/lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Sun Fortran compiler complains about long source lines, ####
#### usually due to cpp translating __FILE__ to a full pathname. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
wrf_bdyin.o : wrf_bdyin.F
wrf_bdyout.o : wrf_bdyout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_restartin.o : wrf_restartin.F
wrf_restartout.o : wrf_restartout.F
module_configure.o : module_configure.F
module_configure.o \
wrf_bdyin.o wrf_bdyout.o \
wrf_histin.o wrf_histout.o \
wrf_inputin.o wrf_inputout.o \
wrf_restartin.o wrf_restartout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Sun SunOS SM (OpenMP, no nesting)
#
OMP = -mp=openmp -explicitpar -stackvar
OMPCPP = -D_OPENMP
FC = f95
SFC = $(FC)
LD = f95
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
CFLAGS = -DNCARIBM_NOC99
FCOPTIM = -O3 -xlibmopt
FCDEBUG = #-g
FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem \
-M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
-M../frame -M../share -M../phys -M../inc -M../chem \
-M../dyn_em
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
#CPP = /opt/SUNWspro/bin/fpp
CPP = /usr/ccs/lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Sun Fortran compiler complains about long source lines, ####
#### usually due to cpp translating __FILE__ to a full pathname. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Sun SunOS SM (OpenMP, nesting using RSL and no MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DM_PARALLEL = 1
OMP = -mp=openmp -explicitpar -stackvar
OMPCPP = -D_OPENMP
FC = f95
SFC = $(FC)
LD = f95
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DSTUBMPI
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
FCOPTIM = -O3 -xlibmopt
FCDEBUG = # -g
FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem \
-M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
-M../frame -M../share -M../phys -M../inc -M../chem \
-M../dyn_em
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/ccs/lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Sun Fortran compiler complains about long source lines, ####
#### usually due to cpp translating __FILE__ to a full pathname. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -cpp -free" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH AIX (single-threaded, no nesting)
#
FC = xlf90_r
SFC = $(FC)
LD = xlf90_r
CC = cc_r
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFIXED = -qfixed
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
solve_interface.o : solve_interface.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
module_integrate.o : module_integrate.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o \
mediation_integrate.o \
mediation_interp_domain.o \
module_configure.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
# to prevent having to call our service representative
mediation_feedback_domain.o \
mediation_force_domain.o start_domain.o module_integrate.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX SM (OpenMP, no nesting)
#
OMP = -qsmp=noauto:noopt
OMPCPP = -D_OPENMP
FC = xlf90_r
SFC = $(FC)
LD = xlf90_r
CC = cc_r
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
module_sm.o : module_sm.F
module_tiles.o : module_tiles.F
solve_em.o : solve_em.F
solve_exp.o : solve_exp.F
convert_nmm.o : convert_nmm.F
module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
# Compiled WITHOUT ANY SMP, needed Mar 2005
module_domain.o : module_domain.F
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
# compile these without high optimization to speed compile
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
solve_interface.o : solve_interface.F
module_integrate.o : module_integrate.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o \
mediation_integrate.o \
mediation_interp_domain.o \
module_configure.o \
solve_interface.o \
shift_domain_em.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
###########################################################
#ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpxlf90_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf \
-I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
-DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST)
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
-L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
PNETCDFPATH = CONFIGURE_PNETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_pnf :
( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpxlf90_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFIXED = -qfixed
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/io_pnetcdf $(ESMF_IO_INC) \
-I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC)
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
-DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV $(ESMF_IO_DEFS)
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
-L../external/RSL/RSL -lrsl -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o $(ESMF_IO_LIB)
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
PNETCDFPATH = CONFIGURE_PNETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET)
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_pnf :
( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
start_domain_nmm.o : start_domain_nmm.F
couple_or_uncouple_em.o : couple_or_uncouple_em.F
nest_init_utils.o : nest_init_utils.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
start_domain_nmm.o \
couple_or_uncouple_em.o \
nest_init_utils.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting )(PARALLEL HDF5)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpxlf90_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_phdf5 :
( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpxlf90_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_phdf5 :
( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX DM-Parallel/SM-Parallel (not recommended) (RSL, IBM-MPI, OpenMP, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
OMP = -qsmp=noauto:noopt
OMPCPP = -D_OPENMP
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpxlf90_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lxlsmp -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
MAX_PROC = 1024
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
# compile these without high optimization to speed compile
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
convert_nmm.o \
module_configure.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
mediation_integrate.o \
mediation_interp_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
# to prevent having to call our service representative
mediation_feedback_domain.o \
mediation_force_domain.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
# Compiled WITHOUT ANY SMP, needed Mar 2005
module_domain.o : module_domain.F
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX DM-Parallel (RSL, IBM-MPI, MCEL) May 2003, EXPERIMENTAL
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = mpxlf90_r
LD = mpCC_r
CC = mpcc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
MCELHOME = /home/bluesky/bettenc/disttest
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../../inc -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \
-DNO_NAMELIST_PRINT -DNATIVE_MASSV
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/RSL/RSL -lrsl -lmass -lmassv -lxlsmp \
-L../external/io_mcel -lwrfio_mcel \
-L$(MCELHOME)/MCELSystem/MCEL -lMCEL \
-L$(MCELHOME)/lib -lomniORB4 \
-lomnithread -lomniDynamic4 -lnetcdf_c++ -lnetcdf -lxlf90 -lxlopt \
-lxlf -lxlomp_ser -lm -lc -lpthread \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( cat ../tools/gen_comms_warning ../external/RSL/gen_comms.c > ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( cat module_dm_warning ../external/RSL/module_dm.F > module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
wrfio_mcel :
( cd ../external/io_mcel ; \
make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I../../inc -I../io_netcdf -I../../frame -I../../share \
-I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX (single-threaded, nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = xlf90_r
LD = xlf90_r
CC = cc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
couple_or_uncouple_em.o : couple_or_uncouple_em.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_force_domain.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_feedback_domain.o \
solve_interface.o \
shift_domain_em.o \
couple_or_uncouple_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH AIX (OpenMP, nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
OMP = -qsmp=noauto:noopt
OMPCPP = -D_OPENMP
DMPARALLEL = 1
SFC = xlf90_r
SCC = cc_r
FC = xlf90_r
LD = xlf90_r
CC = cc_r
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
FCOPTIM = -O2 -qarch=auto
#FCOPTIM = -O3 -qhot
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS = -lC
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
start_domain.o : start_domain.F
convert_nmm.o : convert_nmm.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
solve_em.o : solve_em.F
solve_nmm.o : solve_nmm.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
start_domain.o \
solve_interface.o \
shift_domain_em.o \
solve_em.o \
solve_nmm.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
# Compiled WITHOUT ANY SMP, needed Mar 2005
module_domain.o : module_domain.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_initialize_real.o : module_initialize_real.F
module_domain.o \
module_dm.o \
mediation_integrate.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
###########################################################
#ARCH Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI)
#
# from sheeba
BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys
MPI_INC = -I$(BGL_SYS)/include
MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
TRACE_LIB = -L/contrib/bgl/mpi_trace -lmpitrace_c
SFC = blrts_xlf90
SCC = blrts_xlc
DMPARALLEL = 1
FC = $(SFC)
LD = $(FC)
CC = $(SCC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB
FCOPTIM = -O2 -qarch=440
FCDEBUG = # -qnoopt -qfullpath -qarch=440
FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=64000 $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
ARCHFLAGS = -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DLANDREAD_STUB
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
-L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
$(TRACE_LIB) $(MPI_LIB)
LDFLAGS = -Wl,--allow-multiple-definition -qstatic
ENVCOMPDEFS =
WRF_CHEM = 0
CPP = /opt/ibmcmp/xlf/9.1/exe/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
#### this is a hand installed version of m4 on frost.ucar.edu
#### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
M4 = /home/janicec/m4 -B 12000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
PNETCDFPATH = CONFIGURE_PNETCDF_PATH
CC_TOOLS = cc
WRF_CONVERT = 0
externals : wrf_ioapi_includes ../external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_pnf :
( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
wrf_bdyout.o : wrf_bdyout.F
wrf_bdyin.o : wrf_bdyin.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
solve_em.o : solve_em.F
start_em.o : start_em.F
wrf_bdyout.o wrf_bdyin.o \
wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o \
mediation_integrate.o \
mediation_interp_domain.o \
module_configure.o \
solve_em.o \
start_em.o \
shift_domain_em.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
# to prevent having to call our service representative
mediation_feedback_domain.o \
mediation_force_domain.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
###########################################################
#ARCH Compaq OSF1 alpha (single-threaded, no nesting)
#
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS)
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha (single-threaded, nesting using RSL without MPI )
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DM_PARALLEL = 1
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS='-O -convert big_endian' \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha SM (OpenMP, no nesting)
#
OMP = -omp
OMPCPP = -D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS)
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCREAL8OMP = -align records -align dcommons -granularity quadword
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha SM-Parallel (OpenMP, nesting using RSL without MPI )
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DM_PARALLEL = 1
OMP = -omp
OMPCPP = -D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCREAL8OMP = -align records -align dcommons -granularity quadword
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS="-O -convert big_endian $(FCREAL8OMP)" \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DDM_PARALLEL -DRSL_LITE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE
FCOPTIM = -fast -O4
FCDEBUG = #-g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL_LITE -lrsl_lite \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
start_domain_nmm.o : start_domain_nmm.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o start_domain_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
start_em.o : start_em.F
start_domain_nmm.o : start_domain_nmm.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o start_em.o start_domain_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, MPICH, OpenMP, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
OMP = -omp
OMPCPP = -D_OPENMP
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCREAL8OMP = -align records -align dcommons -granularity quadword
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, DECMPI, OpenMP, allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
OMP = -omp
OMPCPP = -D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCREAL8OMP = -align records -align dcommons -granularity quadword
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl -lmpi \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC=cc FC="$(SFC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, MCEL EXPERIMENTAL)
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90 -f90=cxx
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL -DRSL -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMCELIO
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_mcel -lwrfio_mcel \
-L/users/bettenc/MCELSystem/MCEL -lMCEL \
-L/users/bettenc/lib -lOB -lJTC -lrt -lpthread \
-lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc -L/users/michalak/mpich/lib -lfmpich -lmpichfsup \
/usr/lib/cmplrs/fortrtl/libUfor.a -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -pthread -ieee -ptr /users/bettenc/ptr -L/users/bettenc/MCELSystem/MCEL -lMCEL -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a wrfio_mcel gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
wrfio_mcel :
( cd ../external/io_mcel ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -I../io_netcdf -I../../frame -I../../share \
-I/users/bettenc/MCELSystem/MCEL -convert big_endian -automatic -cpp -free" all )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
nest_init_utils.o module_optional_si_input.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM/SM (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = echo # mpif90
SFC = echo # mpif90
LD = echo # mpif90
CC = echo # mpicc
SCC = echo # cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
-DDM_PARALLEL="'DM_PARALLEL'" -DRSL="'RSL'" \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting, UNOPT shift_domain)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DDM_PARALLEL -DRSL_LITE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS -DFLOATSAFE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE
FCOPTIM = -fast -O4
FCDEBUG = #-g
FCDEBUG_ESMF = # -O0
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/RSL_LITE -lrsl_lite \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1024
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
nest_init_utils.o : nest_init_utils.F
module_optional_si_input.o : module_optional_si_input.F
module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
start_domain_nmm.o : start_domain_nmm.F
module_configure.o : module_configure.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
shift_domain_em.o \
module_initialize_real.o start_domain.o start_domain_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
mediation_wrfmain.o : mediation_wrfmain.F
solve_em.o : solve_em.F
mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
###########################################################
#ARCH Alpha Linux alpha DM (single-threaded, no nesting)
#
FC = fort
SFC = $(FC)
LD = fort
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DF2CSTYLE
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
-arch host $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; \
cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Alpha Linux alpha SM (DOES NOT WORK ON JET! No nesting)
#
FC = fort
SFC = $(FC)
LD = fort
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DF2CSTYLE
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
-arch host $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
/bin/cp module_dm_warning module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Alpha Linux alpha DM-Parallel (RSL, MPICH, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -DF2CSTYLE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
-I../external/RSL/RSL
FCOPTIM = -fast -O4
FCDEBUG = # -g
FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
-arch host $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/io_int -lwrfio_int -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
TRADFLAG="-traditional" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
UNDERSCORE=-DF2CSTYLE LEARN_BCAST=-DLEARN_BCAST alpha )
# compile these without high optimization to speed compile
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH VPP UNIX_System_V F300 5000
#
FC = frt
SFC = $(FC)
LD = frt
CC = vcc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
FCFLAGS = -Free -X9 -Am
FCFLAGS = -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
FCDEBUG = # -g
FCBASEOPTS = $(FCFLAGS)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DLIMIT_ARGS
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
LDFLAGS = -Wl,-P -J CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
LDFLAGS = -J CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
###########################################################
#ARCH Cray
#
FC = f90
SFC = $(FC)
CC = cc
SCC = $(CC)
NATIVE_RWORDSIZE = 8
RWORDSIZE = $(NATIVE_RWORDSIZE)
# does this PROMOTION flag work on Cray?
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
FCFLAGS = -f free -N 255 -I.
FCDEBUG = # -g
FCBASEOPTS = $(FCFLAGS)
ARCHFLAGS = -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
-DLIMIT_ARGS
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /opt/ctl/bin/cpp
POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
#LIB = CONFIGURE_NETCDF_LIB_PATH
LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler (Single-threaded, no nesting)
#
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
SFC = $(FC)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
#FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler (single threaded, allows nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DSTUBMPI
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, no nesting)
#
OMP = -mp
OMPCPP = -D_OPENMP
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
SFC = $(FC)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
OMP = -mp
OMPCPP = -D_OPENMP
DMPARALLEL = 1
MAX_PROC = 1024
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DSTUBMPI
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL, MPICH, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=pgf90
LD = mpif90 -f90=pgf90
CC = mpicc -cc=gcc
SCC = gcc
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=pgf90
LD = mpif90 -f90=pgf90
CC = mpicc -cc=gcc
SCC = gcc
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
#FCOPTIM = -fastsse
FCOPTIM = -O2 # -fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
#Options for Debian Sarge systems
#FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
#PGI if [ ! -e $@ ] ; then \
#PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
#PGI fi
###########################################################
#ARCH Intel Itanium2 ia64 madison Linux DM-Parallel (e.g. mpp2 at PNNL), efc71 compiler (RSL, MPICH, nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
MAX_PROC = 2000
FC = mpif90
LD = mpif90
CC = mpicc
SCC = cc
SFC = efc
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -w \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 \
-I/usr/lib/mpi/mpi_intel/include
FCOPTIM = -O2 -ftz
FCDEBUG = #-g
FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -w -cm
FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
-DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc \
-I/usr/lib/mpi/mpi_intel/include
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 \
-limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional -C -P
POUND_DEF = -DNO_RRTM_PHYSICS \
-DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \
-I../external/RSL/RSL -C -EP `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = ecc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC='mpicc -w -I. '\
FC="$(FC) $(PROMOTION) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Intel Itanium2 ia64 Linux (eg. Jacaranda), ifort compiler (RSL, no-MPI, allows nesting)
#
# On Jacaranda, setenv NETCDF /jacaranda/users/michalak/netcdf-3.5.1
# Built this netcdf by first setenv FC efc and CPPFLAGS '-DNDEBUG -DpgiFortran'
# before typing configure and make and make install 20040506. JM
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
MAX_PROC = 1
# for multithreading, uncomment the following
#OMP = -openmp
#OMPCPP = -DOPEN_MP
FC = ifort
LD = ifort
CC = cc
SCC = $(CC)
SFC = ifort
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -cm -w \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
FCOPTIM = -O2 -ftz
FCDEBUG = #-g
FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm -convert big_endian -mp
FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
-DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional -C -P
POUND_DEF = -DNO_RRTM_PHYSICS \
-DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \
-I../external/RSL/RSL -C `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="-DSTUBS -O" \
FC="$(FC) $(PROMOTION)" FCFLAGS="$(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
mediation_integrate.o : mediation_integrate.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_interp_domain.o \
mediation_force_domain.o \
mediation_feedback_domain.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, no nesting)
# Note that for 5.1.x comment out -Mpia=fast
#
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
SFC = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DLANDREAD_STUB
FCOPTIM = -fastsse #-Mipa=fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS -DLANDREAD_STUB
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher, DM-Parallel (RSL, MPICH, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
# Note that for 5.1.x comment out -Mpia=fast
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90
LD = mpif90
CC = mpicc
SCC = gcc
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \
-DLANDREAD_STUB
FCOPTIM = -fastsse #-Mipa=fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DLANDREAD_STUB
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, No periodic LBCs)
# Note that for 5.1.x comment out -Mpia=fast
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90
LD = mpif90
CC = mpicc
SCC = gcc
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
-DLANDREAD_STUB
FCOPTIM = -fastsse #-Mipa=fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DLANDREAD_STUB
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, RSL, Allows nesting)
# Note that for 5.1.x comment out -Mpia=fast
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = pgf90
LD = pgf90
CC = gcc
SCC = $(CC)
SFC = pgf90
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCOPTIM = -fastsse # -Mipa=fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DSTUBMPI
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
-L../external/io_int -lwrfio_int \
-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 = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
# if [ ! -e $@ ] ; then \
# sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
###########################################################
#ARCH Intel Itanium2 ia64 madison Linux (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting )
# Notes for running on PNNL cluster:
#
# 1. source /home/oehmen/.mycshrc
# 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 2000
FC = mpif90
LD = mpif90
CC = mpicc
SCC = gcc
SFC = efc
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
-I../external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include
FCOPTIM = -O2 -ftz
FCDEBUG = #-g
FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm
FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
ARCHFLAGS = -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
-DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem \
-I/usr/lib/mpi/mpi_intel/include
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
-lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
-DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \
-I../external/RSL_LITE -C -EP `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = ecc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC='mpicc -w -I.' \
FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL, VMI, allows nesting)
#
# Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
# Note hard-coded paths to Mark Straka's accounts and ecc6 libs
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
#OMP = -openmp
#OMPCPP = -D_OPENMP
INCLUDE = ../external/io_netcdf/
MAX_PROC = 256
FC = efc -I.. -I/usr/local/vmi/mpich/include
LD = efc
CC = ecc -I. -I/usr/local/vmi/mpich/include
SCC = $(CC)
SFC = efc
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
FCOPTIM = -O3 -ftz
FCDEBUG = #-g
FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
ARCHFLAGS = -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
-DGRIB1 CONFIGURE_GRIB2_FLAG
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = ecc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time io_grib1
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="efc -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
#../external/RSL/RSL/librsl.a :
# ( cd ../external/RSL/RSL ; \
# make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
# LEARN_BCAST=-DLEARN_BCAST o2k )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include '\
FC="$(SFC) $(PROMOTION) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows nesting)
#
# Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
# Note hard-coded paths to Mark Straka's accounts and ecc6 libs
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
INCLUDE = ../external/io_netcdf/
MAX_PROC = 256
FC = efc -I.. -I/usr/local/vmi/mpich/include
LD = efc
CC = ecc -I. -I/usr/local/vmi/mpich/include
SCC = $(CC)
SFC = efc
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL -I../external/RSL_LITE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64
FCOPTIM = -O3 -ftz
FCDEBUG = #-g
FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
-DGRIB1 CONFIGURE_GRIB2_FLAG
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = ecc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \
FC="$(SFC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting)
#
OMP =
OMPCPP =
FC = ifort
CC = gcc
SCC = $(CC)
SFC = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
FCDEBUG = # -g
FCBASEOPTS = -w -FR -cm -I. -Vaxlib -convert big_endian -mp
FCOPTIM = -O2
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
CFLAGS = -w
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
ARCHFLAGS = -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIFORT_KLUDGE
LD = $(FC)
LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
-DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share
AR = ar ru
M4 = m4 -B14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
wrf_bdyin.o : wrf_bdyin.F
wrf_bdyout.o : wrf_bdyout.F
wrf_histin.o : wrf_histin.F
wrf_histout.o : wrf_histout.F
wrf_inputin.o : wrf_inputin.F
wrf_inputout.o : wrf_inputout.F
wrf_restartin.o : wrf_restartin.F
wrf_restartout.o : wrf_restartout.F
wrf_bdyin.o wrf_bdyout.o \
wrf_histin.o wrf_histout.o \
wrf_inputin.o wrf_inputout.o \
wrf_restartin.o wrf_restartout.o \
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single threaded, allows nesting using RSL without MPI)
#
# Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
# has been identified to produce wrong results occationally.
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
OMP =
OMPCPP =
DMPARALLEL = 1
MAX_PROC = 1024
FC = ifort
LD = ifort
CC = gcc
SCC = $(CC)
SFC = ifort
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
FCOPTIM = -O3 # -xW
FCDEBUG = #-g
FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE
CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = gcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" \
CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP)
#
# Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
# has been identified to produce wrong results occationally.
#
OMP = -openmp -fpp -auto
OMPCPP = -D_OPENMP
FC = ifort
LD = ifort
CC = gcc
SCC = $(CC)
SFC = $(FC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
CFLAGS =
FCOPTIM = -O3 # -xW
FCDEBUG = #-g
FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS -DIFORT_KLUDGE
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI)
#
# Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
# has been identified to produce wrong results occationally.
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
OMP = -openmp -fpp -auto
OMPCPP = -D_OPENMP
DMPARALLEL = 1
MAX_PROC = 1024
FC = ifort
LD = ifort
CC = gcc
SCC = $(CC)
SFC = ifort
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
FCOPTIM = -O3 # -xW
FCDEBUG = #-g
FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DSTUBMPI -DIFORT_KLUDGE
CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int -L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time $(OMP)
LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = gcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+icc compiler DM-Parallel (RSL, MPICH, allows nesting)
#
# Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
# has been identified to produce wrong results occationally.
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=ifort
LD = mpif90 -f90=ifort
CC = mpicc -cc=icc
SCC = gcc
SFC = ifort
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
FCOPTIM = -O3 # -xW
FCDEBUG = #-g
FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DMPI \
-DLIMIT_ARGS -DIFORT_KLUDGE
CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = gcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler DM-Parallel (RSL, MPICH, allows nesting)
#
# Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
# has been identified to produce wrong results occationally.
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=ifort
LD = mpif90 -f90=ifort
CC = mpicc -cc=gcc
SCC = gcc
SFC = ifort
RWORDSIZE = $(NATIVE_RWORDSIZE)
RSIZEBITS = `expr $(RWORDSIZE) \* 8`
PROMOTION = -real_size $(RSIZEBITS)
FCOPTIM = -O3 # -xW
FCDEBUG = #-g
FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DMPI \
-DLIMIT_ARGS -DIFORT_KLUDGE
CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -traditional
POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = gcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_initialize_real.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
module_dm.o : module_dm.F
module_configure.o : module_configure.F
module_configure.o \
module_dm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
###########################################################
#ARCH NEC SUPER-UX SX-6 (serial)
#***** some sx f90 compiler options***********
# -V : version # of f90 command to stderr
#-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
#-Ep: activate cpp preprocessor to perfomr conditional compiling
#****However, cpp also activated by using .F or .F90 suffixes...
# -Wf: specifies option string of the f90/sx detailed options
#-g: debug info generated in object file for dbx symbolic debugging
# -ew : all numbers size=8bytes
#-eW: 4 bytes
# -float0: default and only -float(number) option for sx6
# -USX: unname the prev. defined reserved symbol SX of the preprocessor
# -U overrides -D, so '-USX -D$(RUNTIMESYSTEM)' might be redundant
# -p: object file in execution format corresp. to 'prof' command be generated
# -f4: input source program is described in F90 standard free format
# -w: only syntax diagnostic messages at the fatal level are output
# -C: specifies compile mode
# ssafe: only safe optimization in scalar mode (minimize side effects of
# opt. no loop unrolling, etc
# -init : init stack and heap areas
# -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
RUNTIME_SYSTEM = sx
MPP_TARGET = $(RUNTIME_SYSTEM)
FC = f90
SFC = $(FC)
CC = cc
SCC = $(CC)
LD = $(FC)
NATIVE_RWORDSIZE = 8
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 -DLIMIT_ARGS -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
##for DM compilation -DDM_PARALLEL -DRSL
# note: -ew already does this for SX6, see comments above
PROMOTION =
CFLAGS = $(ARCHFLAGS)
#CFLAGS = $(ARCHFLAGS) -DMPI -Dvpp -I../external/RSL/RSL
FCFLAGS = -w -Ep -C ssafe \
-sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I../inc -f4
# -Wf"-init stack=zero heap=zero"
# -Wf"-L transform fmtlist summary stdout" -g
FCDEBUG = # -g
FCBASEOPTS = $(FCFLAGS) -w
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int \
-I../external/esmf_time_f90 -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
# -L../external/RSL/RSL -lrsl \
-L../external/esmf_time_f90 -lesmf_time \
../frame/module_internal_header_util.o ../frame/pack_utils.o
#-lmpi for 4byte storage, -lmpiw for 8 byte storage
#LDOPTIONS = -lmpiw -ew
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS)
#CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) -DSYSTEM_CALL_OK -DMPI -Dvpp
MAX_PROC = 8
MAKE = make -i -r
AWK = awk
SED = sed
CAT = cat
CUT = cut
EXPAND = expand
AR = ar ru
M4 = m4 -B14000
RANLIB = ar ru
NETCDFPATH = /usr/local/netcdf/current
CC_TOOLS = $(CC)
ARCH_OBJS = milliclock.o
ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
FLIC_MACROS = LMvpp.m4 -B 14000
VECTOR = 1
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int esmf_time module_dm.F
( /sbin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F:
( /sbin/cp module_dm_warning module_dm.F ; \
cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive)
esmf_time :
( cd ../external/esmf_time_f90 ;\
make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I../../inc " )
#sx : uses makefile.sx in the directory
#../external/RSL/RSL/librsl.a :
# (cd ../external/RSL/RSL ; \
# make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
#
#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, Intel MKL, allows nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
# Change MPI_HOME if SGI's MPI is not in the default directories
# Change MKL_HOME if Intel's MKL is not in the default directories
#
# Process pinning should be used -- set the environment
# variable MPI_DSM_DISTRIBUTE on a dedicated system, when
# running through the cpuset command, or when using a batch
# scheduler that has dynamic cpuset support enabled. In
# other cases, if specific processors are known to be free,
# the environment variable MPI_DSM_CPULIST may be used
# (details in 'man mpi').
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
INCLUDE = ../external/io_netcdf/
MAX_DOMAINS = 7
MAX_PROC = 1024
MPI_HOME = /usr
MKL_HOME = /usr/lib
# MKL_HOME = /sw/sdev/mkl/7.2.008/mkl72/lib/64
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
-DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DIFORT_KLUDGE -DINTELMKL
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time \
-L$(MKL_HOME) -lvml -lmkl_ipf
LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
-I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \
FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
LEARN_BCAST=-DLEARN_BCAST altix )
# compile these without high optimization to speed compile
module_configure.o : module_configure.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o \
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Intel MKL, Allows nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
# Change MPI_HOME if SGI's MPI is not in the default directories
# Change MKL_HOME if Intel's MKL is not in the default directories
#
# Process pinning should be used -- set the environment
# variable MPI_DSM_DISTRIBUTE on a dedicated system, when
# running through the cpuset command, or when using a batch
# scheduler that has dynamic cpuset support enabled. In
# other cases, if specific processors are known to be free,
# the environment variable MPI_DSM_CPULIST may be used
# (details in 'man mpi').
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
INCLUDE = ../external/io_netcdf/
MAX_PROC = 1024
MPI_HOME = /usr
MKL_HOME = /usr/lib
# MKL_HOME = /sw/sdev/mkl/7.2.008/mkl72/lib/64
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
-DINTELMKL
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time \
-L$(MKL_HOME) -lvml -lmkl_ipf
LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
-I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
# compile these without high optimization to speed compile
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_dm.o : module_dm.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o : module_configure.F
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
module_configure.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, allows nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
# Change MPI_HOME if SGI's MPI is not in the default directories
#
# Process pinning should be used -- set the environment
# variable MPI_DSM_DISTRIBUTE on a dedicated system, when
# running through the cpuset command, or when using a batch
# scheduler that has dynamic cpuset support enabled. In
# other cases, if specific processors are known to be free,
# the environment variable MPI_DSM_CPULIST may be used
# (details in 'man mpi').
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
#
DMPARALLEL = 1
INCLUDE = ../external/io_netcdf/
MAX_DOMAINS = 7
MAX_PROC = 1024
MPI_HOME = /usr
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
-DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DIFORT_KLUDGE
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/RSL/RSL -lrsl \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
-I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \
FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
LEARN_BCAST=-DLEARN_BCAST altix )
# compile these without high optimization to speed compile
module_configure.o : module_configure.F
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o \
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Allows nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
# Change MPI_HOME if SGI's MPI is not in the default directories
#
# Process pinning should be used -- set the environment
# variable MPI_DSM_DISTRIBUTE on a dedicated system, when
# running through the cpuset command, or when using a batch
# scheduler that has dynamic cpuset support enabled. In
# other cases, if specific processors are known to be free,
# the environment variable MPI_DSM_CPULIST may be used
# (details in 'man mpi').
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
INCLUDE = ../external/io_netcdf/
MAX_PROC = 1024
MPI_HOME = /usr
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
-I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
# compile these without high optimization to speed compile
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_wrf.o : module_io_wrf.F
module_dm.o : module_dm.F
module_domain.o : module_domain.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o : module_configure.F
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
module_configure.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (OpenMP, no nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
# Set up only for idealized experiments
#
OMP = -openmp
OMPCPP = -D_OPENMP
INCLUDE = ../external/io_netcdf/
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
-I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; \
cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
# /bin/cp wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_dm.o : module_dm.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o : module_configure.F
module_bl_mrf.o: module_bl_mrf.F
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
module_configure.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o module_bl_mrf.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (Single-processor, no nesting)
#
# 'setenv F_UFMTENDIAN big' in run scripts not necessary
# since -convert big_endian is in FCBASEOPTS
#
# Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
# modules/routines that take a long time to compile but do not
# significantly contribute to the total runtime performance is
# appropriate. Temporary suggestion for 2.1.1, Nov 2005.
#
# Contributed settings from Gerardo Cisneros, SGI
#
INCLUDE = ../external/io_netcdf/
FC = ifort -I..
LD = ifort
CC = icc -I.
SCC = icc -I.
CC_TOOLS = cc
SFC = ifort
CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz
FCOPTIM = -O3 -unroll0
FCDEBUG = # -g
FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
-fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
-I$(INCLUDE) -I.
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf \
CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -O3 -ip CONFIGURE_LDFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) \
-I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
$(POUND_DEF) $(COREDEFS)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; \
cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
/bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
# /bin/cp wrf_io_flags.h ../io_quilt )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
mediation_integrate.o : mediation_integrate.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
wrf_auxinput1out.o : wrf_auxinput1out.F
wrf_histout.o : wrf_histout.F
wrf_restartout.o : wrf_restartout.F
wrf_inputin.o : wrf_inputin.F
wrf_auxinput1in.o : wrf_auxinput1in.F
wrf_histin.o : wrf_histin.F
wrf_restartin.o : wrf_restartin.F
module_initialize_real.o: module_initialize_real.F
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_dm.o : module_dm.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
start_domain.o : start_domain.F
mediation_force_domain.o : mediation_force_domain.F
module_configure.o : module_configure.F
mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
module_configure.o \
wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
shift_domain_em.o \
mediation_force_domain.o:
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
###########################################################
#ARCH UNICOS/mp machine crayx1 (RSL_LITE, MPI, MSP mode)
#
# Cray X1 (RSL_LITE, MPI, MSP mode)
# For CSD mode set numtiles=4 in &domains section
# in namelist.input for best MSP efficiency.
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = ftn
SFC = $(FC)
LD = ftn
CC = cc
SCC = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script converts !$OMP directives to !csd$ directives ####
SED_FTN = sed -f ../arch/cray_csd.sed
## Use these for X1 cross compiler to build Registry
##X1_CROSS_COMP = "gcc"
##X1_CROSS_CFLG = ""
## Use these for X1 native (trigger) compiler
X1_CROSS_COMP = "cc"
X1_CROSS_CFLG = "-hcommand"
CC_TOOLS = $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
RWORDSIZE = $(NATIVE_RWORDSIZE)
FCDEBUG = # -g
FCBASEOPTS = -f free -N 255 -I. -x omp -dy
FCFLAGS_LOWOPT = $(FCBASEOPTS) -O1
FCFLAGS = $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
#if using 64bit precision
#PROMOTION = -sreal64 -dp -sinteger32
CFLAGS = -I../external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
-DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../inc \
-p./ -p../external/io_netcdf -p../external/io_int -p../frame \
-p../frame -p../share -p../phys -p../chem \
-p../dyn_em -p ../external/esmf_time_f90
ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
-DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
-DLIMIT_ARGS -Dcrayx1
PERL = perl
REGISTRY = Registry
LIB = -L../external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
-L../external/RSL_LITE -lrsl_lite \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time -lmalloc
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
LDFLAGS =
CPP = cpp -C -P -Dcrayx1
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) # -DNO_NAMELIST_PRINT
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) -f free -N 255" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" \
MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
solve_em.o : solve_em.F
solve_interface.o : solve_interface.F
wrf_restartout.o : wrf_restartout.F
wrf_restartin.o : wrf_restartin.F
input_wrf.o : input_wrf.F
output_wrf.o : output_wrf.F
module_io_mm5.o module_si_io.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o start_domain.o \
mediation_interp_domain.o \
mediation_force_domain.o \
module_configure.o solve_em.o \
input_wrf.o output_wrf.o \
solve_interface.o wrf_restartout.o wrf_restartin.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX PA8600 32bit (single-threaded, no nesting)
#
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX PA8600 32bit (single-threaded, nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS \
-DDM_PARALLEL -DFLOATSAFE -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL/ -lrsl -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
MAX_PROC = 1
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" CFLAGS=" -DSTUBS +O3 " FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX Itanium2 (single-threaded, no nesting)
#
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX Itanium2 (single-threaded, nesting using RSL without MPI)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
OMP =
OMPCPP =
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DSTUBMPI
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
FCOPTIM = +O3 +DSitanium2 +Odataprefetch +Olibcalls +DO11.23 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX PA8600 32bit (openmp, no nesting)
#
OMP = +Oopenmp
OMPCPP = -D_OPENMP
FC = f90
SFC = $(FC)
LD = f90
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DS2.0a $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX PA8600 DM-Parallel (RSL, MPICH, nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH HP-UX Itanium2 DM-Parallel (RSL, MPICH, nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
OMP =
OMPCPP =
FC = mpif90
SFC = f90
LD = mpif90
CC = mpicc
SCC = cc
RWORDSIZE = $(NATIVE_RWORDSIZE)
ARCHFLAGS = CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
+save +fastallocatable +Ofltacc +extend_source +source=free +FPD
FCDEBUG = # -g
FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B14000
RANLIB = echo
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; \
cat ../external/RSL/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; \
make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
mediation_integrate.o : mediation_integrate.F
start_domain.o : start_domain.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_configure.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Darwin (single-threaded, no nesting)
#
# Using -qfloat=nomaf option can result in identical results with
# non-optimized and optimized results (suggested by Fovell of UCLA)
# One may turn on by uncommenting it in FCOPTIM line
#
FC = xlf90_r
SFC = $(FC)
LD = xlf90_r
#CC = cc_r
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
# -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
#LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
#CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
# compile these without high optimization to speed compile
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_em.o : solve_em.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o \
shift_domain_em.o \
mediation_interp_domain.o \
module_configure.o \
solve_em.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
###########################################################
#ARCH Darwin (OpenMP, no nesting)
#
# Using -qfloat=nomaf option can result in identical results with
# non-optimized and optimized results (suggested by Fovell of UCLA)
# One may turn on by uncommenting it in FCOPTIM line
#
OMP = -qsmp=noauto
OMPCPP = -D_OPENMP
FC = xlf90_r
SFC = $(FC)
LD = xlf90_r
CC = cc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
FCOPTIM = -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
module_configure.o : module_configure.F
module_domain.o : module_domain.F
module_sm.o : module_sm.F
module_tiles.o : module_tiles.F
solve_em.o : solve_em.F
solve_exp.o : solve_exp.F
convert_nmm.o : convert_nmm.F
module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
$(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
module_domain.o :
$(RM) $@
$(SED_FTN) $*.F90 > $*.b
$(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
$(RM) $*.b
$(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
###########################################################
#ARCH Darwin (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs)
#
# Using -qfloat=nomaf option can result in identical results with
# non-optimized and optimized results (suggested by Fovell of UCLA)
# One may turn on by uncommenting it in FCOPTIM line
#
FC = xlf90_r
SFC = $(FC)
LD = xlf90_r
#CC = cc_r
CC = gcc-3.3
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf
FCDEBUG = # -qnoopt -qfullpath
FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
FCSUFFIX = -qsuffix=f=f90
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../inc -I../chem
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
# -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
PERL = CONFIGURE_PERL_PATH
REGISTRY = Registry
#LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_int -lwrfio_int \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
#CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
solve_interface.o : solve_interface.F
$(RM) $@
$(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
$(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
# compile these without high optimization to speed compile
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_em.o : solve_em.F
mediation_interp_domain.o : mediation_interp_domain.F
mediation_force_domain.o : mediation_force_domain.F
mediation_feedback_domain.o : mediation_feedback_domain.F
convert_nmm.o : convert_nmm.F
module_configure.o : module_configure.F
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_initialize_real.o module_dm.o \
shift_domain_em.o \
mediation_interp_domain.o \
module_configure.o \
solve_em.o \
convert_nmm.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting)
#
FC = pathf90
LD = pathf90
CC = pathcc
SCC = $(CC)
NATIVE_RWORDSIZE= 4
RWORDSIZE = $(NATIVE_RWORDSIZE)
SFC = $(FC)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS =
FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
FCDEBUG = #-g
FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w -fno-second-underscore" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_fddaobs_rtfdda.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel (RSL_LITE, PathScale MPICH, No periodic LBCs)
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=pathf90
LD = mpif90 -f90=pathf90
CC = mpicc -cc=pathcc
SCC = pathcc
SFC = pathf90
NATIVE_RWORDSIZE= 4
RWORDSIZE = $(NATIVE_RWORDSIZE)
CFLAGS = -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
FCDEBUG = #-g
FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
EXTRAMODULES =
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = -byteswapio
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = pathcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
#io_flags:
# ( cd ../external/io_netcdf ; make flags_only ; \
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
# /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \
FFLAGS='$(FCFLAGS) -I../../inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
module_configure.o : module_configure.F
solve_interface.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_fddaobs_rtfdda.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, Periodic in X only )
# Note that for 5.1.x comment out -Mpia=fast
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = ftn
LD = ftn
CC = gcc -DMPI2_SUPPORT
SCC = gcc
SFC = mpif90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION = -r$(RWORDSIZE) -i4
CFLAGS = -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
-DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include
FCOPTIM = -O3 -fastsse #-Mipa=fast
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DLANDREAD_STUB -DNO_NAMELIST_PRINT -DXT3_Catamount
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../inc -I../chem
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o \
-L../external/esmf_time_f90 -lesmf_time
# add this to LIB to use XT3 iobuf library after loading iobuf module, also requires
# properly built netCDF library that includes iobuf
# $(IOBUF_POST_LINK_OPTS)
LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = gcc
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
solve_em.o : solve_em.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
solve_em.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = sxmpif90
LD = sxmpif90
CC = sxmpic++
SCC = sxmpic++
SFC = sxmpif90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION =
CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL -DWRF_RSL_IO \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
FCOPTIM =
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
-L../external/io_grib1 -lio_grib1 \
-L../external/io_int -lwrfio_int \
-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 -L$(SX_BASE_CPLUS)/lib -lcpp
LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
AR_BASE = sxar
AR = $(AR_BASE) ru
M4 = m4 -B 14000
RANLIB = sxar rs
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_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" AR="$(AR_BASE)" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
../external/RSL/RSL/librsl.a :
( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
# if [ ! -e $@ ] ; then \
# sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
###########################################################
#ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = sxmpif90
LD = sxmpif90
CC = sxmpic++
SCC = sxmpic++
SFC = sxmpif90
RWORDSIZE = $(NATIVE_RWORDSIZE)
PROMOTION =
CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
FCOPTIM =
FCDEBUG = #-g
#FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG)
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
AR_BASE = sxar
AR = $(AR_BASE) ru
M4 = m4 -B 14000
RANLIB = sxar rs
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
# if [ ! -e $@ ] ; then \
# sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
# if [ ! -e $@ ] ; then \
# sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
# fi
###########################################################
#ARCH CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler (Single-threaded, no nesting)
#
FC = g95
LD = g95
CC = gcc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
SFC = $(FC)
# g95 does not like -r8. if you want -r8, just add it to PROMOTION below
#PROMOTION = -r$(RWORDSIZE) -i4
PROMOTION = -i4
CFLAGS =
FCOPTIM = -O2
FCDEBUG = #-g
FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS -DG95
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = cpp -C -P -traditional
POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux i486 i586 i686, g95 compiler (Single-threaded, no nesting)
#
FC = g95
LD = g95
CC = gcc
SCC = $(CC)
RWORDSIZE = $(NATIVE_RWORDSIZE)
SFC = $(FC)
# g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
#PROMOTION = -r$(RWORDSIZE) -i4
PROMOTION = -i4
CFLAGS =
FCOPTIM = -O2 # -fast
FCDEBUG = #-g -O0
FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
-DLIMIT_ARGS -DG95
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = $(CC)
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
module_dm.F :
( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
mediation_integrate.o \
module_configure.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
###########################################################
#ARCH PC Linux i486 i586 i686, g95 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
#
# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
# for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
#
DMPARALLEL = 1
MAX_PROC = 1024
FC = mpif90 -f90=g95
LD = mpif90 -f90=g95
CC = mpicc -cc=gcc
SCC = gcc
SFC = g95
RWORDSIZE = $(NATIVE_RWORDSIZE)
# g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
#PROMOTION = -r$(RWORDSIZE) -i4
PROMOTION = -i4
CFLAGS = -DDM_PARALLEL \
-DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
FCOPTIM = -O2 # -fast
FCDEBUG = #-g -O0
FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
ARCHFLAGS = -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
-DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
-DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95
# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
ESMF_LIB_FLAGS =
ESMF_IO_LIB = ESMFIOLIB
ESMF_IO_LIB_EXT = ESMFIOEXTLIB
INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
-I../external -I../frame -I../share -I../phys -I../chem -I../inc
PERL = perl
REGISTRY = Registry
LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
-L../external/io_grib1 -lio_grib1 \
CONFIGURE_GRIB2_LIB \
-L../external/io_grib_share -lio_grib_share \
-L../external/io_int -lwrfio_int \
../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
CPP = /lib/cpp -C -P -traditional
POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
AR = ar ru
M4 = m4 -B 14000
RANLIB = ranlib
NETCDFPATH = CONFIGURE_NETCDF_PATH
CC_TOOLS = cc
#### Override default sed command and script for Fortran source files ####
#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
#### because the Fortran compiler complains about long source lines. ####
SED_FTN = sed -f ../arch/no_file_line.sed
externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
gen_comms.c : ../external/RSL_LITE/gen_comms.c
( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
module_dm.F : ../external/RSL_LITE/module_dm.F
( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
wrfio_nf :
( cd ../external/io_netcdf ; \
make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
wrfio_grib_share :
( cd ../external/io_grib_share ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib1 :
( cd ../external/io_grib1 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
wrfio_grib2 :
( cd ../external/io_grib2 ; \
make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
wrfio_int :
( cd ../external/io_int ; \
make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
esmf_time :
( cd ../external/esmf_time_f90 ; \
make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
../external/RSL_LITE/librsl_lite.a :
( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
# compile these without high optimization to speed compile
solve_interface.o : solve_interface.F
shift_domain_em.o : shift_domain_em.F
module_io_mm5.o : module_io_mm5.F
module_si_io.o : module_si_io.F
module_io_wrf.o : module_io_wrf.F
module_domain.o : module_domain.F
module_start.o : module_start.F
module_initialize.o : module_initialize.F
module_initialize_b_wave.o : module_initialize_b_wave.F
module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
module_initialize_real.o : module_initialize_real.F
module_dm.o : module_dm.F
start_domain.o : start_domain.F
mediation_integrate.o : mediation_integrate.F
module_configure.o : module_configure.F
solve_interface.o \
shift_domain_em.o \
module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
module_start.o module_initialize.o module_initialize_b_wave.o \
module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
module_configure.o \
mediation_integrate.o \
module_initialize_real.o module_dm.o start_domain.o :
$(RM) $@
$(SED_FTN) $*.F > $*.b
$(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
$(RM) $*.b
$(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
##################################################################
#ARCH NULL