4 # THIS IS THE OLD V2 CONFIGURE DEFAULTS FILE, KEPT AROUND FOR REFERENCE
5 # BUT IS NOT USED OR MAINTAINED AT ALL IN V3. MOST OF THE COMMON SETTINGS
6 # HAVE BEEN MOVED TO THE NEW V3 CONFIGURATION MECHANISM AND
7 # FILE: configure_new.defaults
8 # SEVERAL OTHER SETS OF OPTIONS HAVE BEEN PRESERVED BUT MOVED INTO THE
9 # FILE: configure_old.defaults.
11 ##########################################################
12 #ARCH SGI 32 bit machine IRIX
19 RWORDSIZE = CONFIGURE_RWORDSIZE
21 FCBASEOPTS = -freeform -I. -w
22 FCFLAGS = $(FCBASEOPTS)
23 PROMOTION = -r$(RWORDSIZE) -i4
25 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
27 ESMF_IO_LIB = ESMFIOLIB
28 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
29 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
30 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
31 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS $(DA_ARCHFLAGS)
32 LDFLAGS = CONFIGURE_LDFLAGS
33 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
35 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
36 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
37 PERL = CONFIGURE_PERL_PATH
39 LIB = $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
40 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
41 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
43 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
47 NETCDFPATH = CONFIGURE_NETCDF_PATH
50 #### Override default sed command and script for Fortran source files ####
51 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
52 #### because the SGI Fortran compiler complains about long source lines. ####
53 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
55 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
58 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
61 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
62 make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
65 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
66 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
69 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
70 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
73 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
74 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
77 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
78 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
81 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
82 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
85 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
86 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
88 # compile these without high optimization to speed compile
89 solve_interface.o : solve_interface.F
90 shift_domain_em.o : shift_domain_em.F
91 module_configure.o : module_configure.F
92 module_io_mm5.o : module_io_mm5.F
93 module_si_io.o : module_si_io.F
94 module_io_wrf.o : module_io_wrf.F
95 module_domain.o : module_domain.F
96 module_start.o : module_start.F
97 module_initialize.o : module_initialize.F
98 module_initialize_b_wave.o : module_initialize_b_wave.F
99 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
100 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
101 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
102 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
103 module_initialize_real.o : module_initialize_real.F
104 module_dm.o : module_dm.F
105 module_comm_dm.o : module_comm_dm.F
106 start_domain.o : start_domain.F
111 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
112 module_start.o module_initialize.o module_initialize_b_wave.o \
113 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
114 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
115 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
117 $(SED_FTN) $*.F > $*.b
118 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
120 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
123 ###########################################################
124 #ARCH SGI 32 bit machine, sycamore IRIX
130 RWORDSIZE = CONFIGURE_RWORDSIZE
132 FCBASEOPTS = -freeform -I. -w
133 FCFLAGS = -freeform -I. -w
134 PROMOTION = -r$(RWORDSIZE) -i4
136 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
138 ESMF_IO_LIB = ESMFIOLIB
139 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
140 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem \
141 -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -I$(WRF_SRC_ROOT_DIR)/inc
142 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
144 -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
145 LDFLAGS = CONFIGURE_LDFLAGS
146 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
148 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
149 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
150 PERL = CONFIGURE_PERL_PATH
152 LIB = $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
153 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
154 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
155 CONFIGURE_GRIB2_LIB \
156 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
160 NETCDFPATH = CONFIGURE_NETCDF_PATH
163 #### Override default sed command and script for Fortran source files ####
164 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
165 #### because the SGI Fortran compiler complains about long source lines. ####
166 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
168 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
171 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
174 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
177 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
178 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
181 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
182 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
185 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
186 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
189 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
190 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
193 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
194 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
197 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
198 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
200 # compile these without high optimization to speed compile
201 solve_interface.o : solve_interface.F
202 shift_domain_em.o : shift_domain_em.F
203 module_configure.o : module_configure.F
204 module_io_mm5.o : module_io_mm5.F
205 module_si_io.o : module_si_io.F
206 module_io_wrf.o : module_io_wrf.F
207 module_domain.o : module_domain.F
208 module_start.o : module_start.F
209 module_initialize.o : module_initialize.F
210 module_initialize_b_wave.o : module_initialize_b_wave.F
211 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
212 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
213 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
214 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
215 module_initialize_real.o : module_initialize_real.F
216 module_dm.o : module_dm.F
217 module_comm_dm.o : module_comm_dm.F
218 start_domain.o : start_domain.F
223 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
224 module_start.o module_initialize.o module_initialize_b_wave.o \
225 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
226 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
227 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
229 $(SED_FTN) $*.F > $*.b
230 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
232 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
234 ###########################################################
235 #ARCH SGI 64 bit machine IRIX64 (single-threaded, no nesting)
242 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
244 RWORDSIZE = CONFIGURE_RWORDSIZE
246 FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
247 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
248 PROMOTION = -r$(RWORDSIZE) -i4
249 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
251 ESMF_IO_LIB = ESMFIOLIB
252 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
253 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
254 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
255 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
257 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
258 -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
259 PERL = CONFIGURE_PERL_PATH
261 LIB = CONFIGURE_NETCDF_LIB_PATH \
262 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
263 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
264 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
265 CONFIGURE_GRIB2_LIB \
266 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
267 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
268 LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
269 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
271 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
272 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
276 NETCDFPATH = CONFIGURE_NETCDF_PATH
279 #### Override default sed command and script for Fortran source files ####
280 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
281 #### because the SGI Fortran compiler complains about long source lines. ####
282 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
284 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
287 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
290 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
293 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
294 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
297 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
298 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
301 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
302 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
305 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
306 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
309 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
310 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
313 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
314 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
316 # compile these without high optimization to speed compile
317 solve_interface.o : solve_interface.F
318 shift_domain_em.o : shift_domain_em.F
319 module_io_mm5.o : module_io_mm5.F
320 module_si_io.o : module_si_io.F
321 module_io_wrf.o : module_io_wrf.F
322 module_domain.o : module_domain.F
323 module_start.o : module_start.F
324 module_initialize.o : module_initialize.F
325 module_initialize_b_wave.o : module_initialize_b_wave.F
326 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
327 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
328 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
329 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
330 module_initialize_real.o : module_initialize_real.F
331 module_dm.o : module_dm.F
332 module_comm_dm.o : module_comm_dm.F
333 start_domain.o : start_domain.F
337 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
338 module_start.o module_initialize.o module_initialize_b_wave.o \
339 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
340 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
341 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
343 $(SED_FTN) $*.F > $*.b
344 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
346 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
348 module_configure.o : module_configure.F
350 $(SED_FTN) $*.F > $*.b
351 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
353 $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
355 ###########################################################
358 FC = f90 -n32 -mips4 -w
360 LD = f90 -n32 -mips4 -w
363 RWORDSIZE = CONFIGURE_RWORDSIZE
364 PROMOTION = -r$(RWORDSIZE) -i4
367 FCBASEOPTS = -freeform -I. -w
368 FCFLAGS = -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
369 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
371 -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
372 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
374 ESMF_IO_LIB = ESMFIOLIB
375 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
376 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share \
377 -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
378 PERL = CONFIGURE_PERL_PATH
380 LIB = CONFIGURE_NETCDF_LIB_PATH \
381 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
382 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
383 CONFIGURE_GRIB2_LIB \
384 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
385 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
388 LDFLAGS = CONFIGURE_LDFLAGS
389 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
391 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
392 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
394 NETCDFPATH = CONFIGURE_NETCDF_PATH
397 #### Override default sed command and script for Fortran source files ####
398 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
399 #### because the SGI Fortran compiler complains about long source lines. ####
400 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
402 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
405 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
408 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
411 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
412 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
415 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
416 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
419 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
420 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
423 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
424 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
427 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
428 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
431 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
432 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
434 # compile these without high optimization to speed compile
435 solve_interface.o : solve_interface.F
436 shift_domain_em.o : shift_domain_em.F
437 module_configure.o : module_configure.F
438 module_io_mm5.o : module_io_mm5.F
439 module_si_io.o : module_si_io.F
440 module_io_wrf.o : module_io_wrf.F
441 module_domain.o : module_domain.F
442 module_start.o : module_start.F
443 module_initialize.o : module_initialize.F
444 module_initialize_b_wave.o : module_initialize_b_wave.F
445 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
446 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
447 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
448 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
449 module_initialize_real.o : module_initialize_real.F
450 module_dm.o : module_dm.F
451 module_comm_dm.o : module_comm_dm.F
452 start_domain.o : start_domain.F
457 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
458 module_start.o module_initialize.o module_initialize_b_wave.o \
459 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
460 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
461 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
463 $(SED_FTN) $*.F > $*.b
464 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
466 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
468 ###########################################################
469 #ARCH SGI 64 bit machine IRIX64 (OpenMP, no nesting)
478 RWORDSIZE = CONFIGURE_RWORDSIZE
479 PROMOTION = -r$(RWORDSIZE) -i4
480 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
483 FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
484 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
485 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
487 ESMF_IO_LIB = ESMFIOLIB
488 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
489 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
490 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
491 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
493 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
494 -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
495 PERL = CONFIGURE_PERL_PATH
497 LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \
498 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
499 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
500 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
501 CONFIGURE_GRIB2_LIB \
502 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
503 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
504 LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
505 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
507 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
508 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
512 NETCDFPATH = CONFIGURE_NETCDF_PATH
515 #### Override default sed command and script for Fortran source files ####
516 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
517 #### because the SGI Fortran compiler complains about long source lines. ####
518 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
520 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
523 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
526 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
529 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
530 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
533 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
534 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
537 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
538 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
541 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
542 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
545 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
546 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
549 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
550 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
552 # compile these without high optimization to speed compile
553 solve_interface.o : solve_interface.F
554 shift_domain_em.o : shift_domain_em.F
555 module_configure.o : module_configure.F
556 module_io_mm5.o : module_io_mm5.F
557 module_si_io.o : module_si_io.F
558 module_io_wrf.o : module_io_wrf.F
559 module_domain.o : module_domain.F
560 module_start.o : module_start.F
561 module_initialize.o : module_initialize.F
562 module_initialize_b_wave.o : module_initialize_b_wave.F
563 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
564 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
565 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
566 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
567 module_initialize_real.o : module_initialize_real.F
568 module_dm.o : module_dm.F
569 module_comm_dm.o : module_comm_dm.F
570 start_domain.o : start_domain.F
575 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
576 module_start.o module_initialize.o module_initialize_b_wave.o \
577 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
578 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
579 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
581 $(SED_FTN) $*.F > $*.b
582 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
584 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
586 ###########################################################
587 #ARCH Sun SunOS (single-threaded, no nesting)
594 RWORDSIZE = CONFIGURE_RWORDSIZE
595 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
596 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
597 CFLAGS = -DNCARIBM_NOC99
598 FCOPTIM = -O2 # -O4 -xlibmopt
600 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
601 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
602 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
604 ESMF_IO_LIB = ESMFIOLIB
605 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
606 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
607 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
608 -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
609 -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
610 -M$(WRF_SRC_ROOT_DIR)/dyn_em
611 ARCHFLAGS = $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
613 CONFIGURE_NETCDF_FLAG \
615 PERL = CONFIGURE_PERL_PATH
617 LIB = CONFIGURE_NETCDF_LIB_PATH \
618 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
619 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
620 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
621 CONFIGURE_GRIB2_LIB \
622 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
623 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
624 LDFLAGS = $(FCOPTIM) CONFIGURE_LDFLAGS
625 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
626 #CPP = /opt/SUNWspro/bin/fpp
627 CPP = /usr/ccs/lib/cpp -C -P
628 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
629 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
633 NETCDFPATH = CONFIGURE_NETCDF_PATH
636 #### Override default sed command and script for Fortran source files ####
637 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
638 #### because the Sun Fortran compiler complains about long source lines, ####
639 #### usually due to cpp translating __FILE__ to a full pathname. ####
640 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
642 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
645 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
648 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
651 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
652 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
655 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
656 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
659 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
660 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
663 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
664 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
667 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
668 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
671 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
672 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
674 solve_interface.o : solve_interface.F
676 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
677 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
679 # compile these without high optimization to speed compile
680 shift_domain_em.o : shift_domain_em.F
681 module_io_mm5.o : module_io_mm5.F
682 module_si_io.o : module_si_io.F
683 module_io_wrf.o : module_io_wrf.F
684 module_domain.o : module_domain.F
685 module_start.o : module_start.F
686 module_initialize.o : module_initialize.F
687 module_initialize_b_wave.o : module_initialize_b_wave.F
688 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
689 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
690 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
691 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
692 module_initialize_real.o : module_initialize_real.F
693 mediation_interp_domain.o : mediation_interp_domain.F
694 mediation_force_domain.o : mediation_force_domain.F
695 module_dm.o : module_dm.F
696 module_comm_dm.o : module_comm_dm.F
697 start_domain.o : start_domain.F
698 wrf_bdyin.o : wrf_bdyin.F
699 wrf_bdyout.o : wrf_bdyout.F
700 wrf_histin.o : wrf_histin.F
701 wrf_histout.o : wrf_histout.F
702 wrf_inputin.o : wrf_inputin.F
703 wrf_inputout.o : wrf_inputout.F
704 wrf_restartin.o : wrf_restartin.F
705 wrf_restartout.o : wrf_restartout.F
706 module_configure.o : module_configure.F
710 wrf_bdyin.o wrf_bdyout.o \
711 wrf_histin.o wrf_histout.o \
712 wrf_inputin.o wrf_inputout.o \
713 wrf_restartin.o wrf_restartout.o \
714 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
715 module_start.o module_initialize.o module_initialize_b_wave.o \
716 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
717 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
718 module_initialize_real.o mediation_interp_domain.o \
719 mediation_force_domain.o module_dm.o module_comm_dm.o start_domain.o :
721 $(SED_FTN) $*.F > $*.b
722 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
724 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
726 ###########################################################
727 #ARCH Sun SunOS SM (OpenMP, no nesting)
729 OMP = -mp=openmp -explicitpar -stackvar
736 RWORDSIZE = CONFIGURE_RWORDSIZE
737 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
738 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
739 CFLAGS = -DNCARIBM_NOC99
740 FCOPTIM = -O3 -xlibmopt
742 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
743 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
744 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
746 ESMF_IO_LIB = ESMFIOLIB
747 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
748 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
749 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
750 -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
751 -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
752 -M$(WRF_SRC_ROOT_DIR)/dyn_em
753 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
755 CONFIGURE_NETCDF_FLAG \
757 PERL = CONFIGURE_PERL_PATH
759 LIB = CONFIGURE_NETCDF_LIB_PATH \
760 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
761 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
762 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
763 CONFIGURE_GRIB2_LIB \
764 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
765 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
766 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
767 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
768 #CPP = /opt/SUNWspro/bin/fpp
769 CPP = /usr/ccs/lib/cpp -C -P
770 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
771 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
775 NETCDFPATH = CONFIGURE_NETCDF_PATH
778 #### Override default sed command and script for Fortran source files ####
779 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
780 #### because the Sun Fortran compiler complains about long source lines, ####
781 #### usually due to cpp translating __FILE__ to a full pathname. ####
782 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
784 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
787 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
790 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
793 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
794 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
797 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
798 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
801 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
802 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
805 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
806 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
809 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
810 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
813 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
814 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
816 solve_interface.o : solve_interface.F
818 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
819 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
821 # compile these without high optimization to speed compile
822 shift_domain_em.o : shift_domain_em.F
823 module_io_mm5.o : module_io_mm5.F
824 module_si_io.o : module_si_io.F
825 module_io_wrf.o : module_io_wrf.F
826 module_domain.o : module_domain.F
827 module_start.o : module_start.F
828 module_initialize.o : module_initialize.F
829 module_initialize_b_wave.o : module_initialize_b_wave.F
830 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
831 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
832 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
833 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
834 module_initialize_real.o : module_initialize_real.F
835 module_dm.o : module_dm.F
836 module_comm_dm.o : module_comm_dm.F
837 start_domain.o : start_domain.F
838 module_configure.o : module_configure.F
841 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
842 module_start.o module_initialize.o module_initialize_b_wave.o \
843 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
844 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
846 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
848 $(SED_FTN) $*.F > $*.b
849 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
851 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
853 ###########################################################
854 #ARCH AIX (single-threaded, no nesting)
861 RWORDSIZE = CONFIGURE_RWORDSIZE
862 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
863 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
864 FCOPTIM = -O2 -qarch=auto
866 FCDEBUG = # -qnoopt -qfullpath
867 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
868 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
869 FCSUFFIX = -qsuffix=f=f90
870 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
872 ESMF_IO_LIB = ESMFIOLIB
873 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
874 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
875 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
876 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
878 CONFIGURE_NETCDF_FLAG \
879 -DLIMIT_ARGS -DNATIVE_MASSV
880 PERL = CONFIGURE_PERL_PATH
882 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
883 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
884 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
885 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
886 CONFIGURE_GRIB2_LIB \
887 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
888 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
890 LDFLAGS = CONFIGURE_LDFLAGS
891 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
893 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
894 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
898 NETCDFPATH = CONFIGURE_NETCDF_PATH
901 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
904 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
907 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
910 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
911 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
914 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
915 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
918 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
919 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
922 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
923 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 )
926 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
927 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
930 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
931 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
933 # compile these without high optimization to speed compile
934 wrf_bdyout.o : wrf_bdyout.F
935 wrf_bdyin.o : wrf_bdyin.F
936 wrf_restartout.o : wrf_restartout.F
937 wrf_restartin.o : wrf_restartin.F
938 wrf_inputin.o : wrf_inputin.F
939 wrf_inputout.o : wrf_inputout.F
940 wrf_histin.o : wrf_histin.F
941 wrf_histout.o : wrf_histout.F
942 shift_domain_em.o : shift_domain_em.F
943 module_io_mm5.o : module_io_mm5.F
944 module_si_io.o : module_si_io.F
945 module_io_wrf.o : module_io_wrf.F
946 module_domain.o : module_domain.F
947 module_start.o : module_start.F
948 module_initialize.o : module_initialize.F
949 module_initialize_b_wave.o : module_initialize_b_wave.F
950 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
951 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
952 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
953 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
954 module_initialize_real.o : module_initialize_real.F
955 module_dm.o : module_dm.F
956 module_comm_dm.o : module_comm_dm.F
957 start_domain.o : start_domain.F
958 mediation_integrate.o : mediation_integrate.F
959 mediation_interp_domain.o : mediation_interp_domain.F
960 mediation_force_domain.o : mediation_force_domain.F
961 mediation_feedback_domain.o : mediation_feedback_domain.F
962 convert_nmm.o : convert_nmm.F
963 module_configure.o : module_configure.F
964 solve_interface.o : solve_interface.F
965 solve_em.o : solve_em.F
966 solve_nmm.o : solve_nmm.F
967 module_integrate.o : module_integrate.F
969 wrf_bdyout.o wrf_bdyin.o \
970 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
971 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
972 module_start.o module_initialize.o module_initialize_b_wave.o \
973 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
974 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
975 module_initialize_real.o module_dm.o module_comm_dm.o \
976 mediation_integrate.o \
977 mediation_interp_domain.o \
985 $(SED_FTN) $*.F > $*.b
986 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
988 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
990 # to prevent having to call our service representative
991 mediation_feedback_domain.o \
992 mediation_force_domain.o start_domain.o module_integrate.o :
994 $(SED_FTN) $*.F > $*.b
995 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
997 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
999 ###########################################################
1000 #ARCH AIX (single-threaded, nesting, RSL_LITE w/o MPI)
1007 RWORDSIZE = CONFIGURE_RWORDSIZE
1008 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1009 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 -DSTUBMPI
1010 FCOPTIM = -O2 -qarch=auto
1011 #FCOPTIM = -O3 -qhot
1012 FCDEBUG = # -qnoopt -qfullpath
1013 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w -DSTUBMPI #-qflttrap=zerodivide:invalid:enable -qsigtrap
1014 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1015 FCSUFFIX = -qsuffix=f=f90
1016 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1017 ESMF_LIB_FLAGS = -lC
1018 ESMF_IO_LIB = ESMFIOLIB
1019 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1020 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1021 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1022 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1024 CONFIGURE_NETCDF_FLAG \
1025 -DLIMIT_ARGS -DNATIVE_MASSV
1026 PERL = CONFIGURE_PERL_PATH
1028 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
1029 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1030 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1031 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1032 CONFIGURE_GRIB2_LIB \
1033 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1034 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1036 LDFLAGS = CONFIGURE_LDFLAGS
1037 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1038 CPP = /lib/cpp -C -P
1039 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1040 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1044 NETCDFPATH = CONFIGURE_NETCDF_PATH
1047 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1049 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1050 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1053 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1056 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1057 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1060 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1061 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1064 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1065 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1068 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1069 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 )
1072 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1073 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1076 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1077 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1079 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1080 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1082 # compile these without high optimization to speed compile
1083 wrf_bdyout.o : wrf_bdyout.F
1084 wrf_bdyin.o : wrf_bdyin.F
1085 wrf_restartout.o : wrf_restartout.F
1086 wrf_restartin.o : wrf_restartin.F
1087 wrf_inputin.o : wrf_inputin.F
1088 wrf_inputout.o : wrf_inputout.F
1089 wrf_histin.o : wrf_histin.F
1090 wrf_histout.o : wrf_histout.F
1091 shift_domain_em.o : shift_domain_em.F
1092 module_io_mm5.o : module_io_mm5.F
1093 module_si_io.o : module_si_io.F
1094 module_io_wrf.o : module_io_wrf.F
1095 module_domain.o : module_domain.F
1096 module_start.o : module_start.F
1097 module_initialize.o : module_initialize.F
1098 module_initialize_b_wave.o : module_initialize_b_wave.F
1099 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1100 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1101 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1102 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1103 module_initialize_real.o : module_initialize_real.F
1104 module_dm.o : module_dm.F
1105 module_comm_dm.o : module_comm_dm.F
1106 start_domain.o : start_domain.F
1107 mediation_integrate.o : mediation_integrate.F
1108 mediation_interp_domain.o : mediation_interp_domain.F
1109 mediation_force_domain.o : mediation_force_domain.F
1110 mediation_feedback_domain.o : mediation_feedback_domain.F
1111 convert_nmm.o : convert_nmm.F
1112 module_configure.o : module_configure.F
1113 solve_interface.o : solve_interface.F
1114 solve_em.o : solve_em.F
1115 solve_nmm.o : solve_nmm.F
1116 module_integrate.o : module_integrate.F
1118 wrf_bdyout.o wrf_bdyin.o \
1119 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1120 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1121 module_start.o module_initialize.o module_initialize_b_wave.o \
1122 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1123 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1124 module_initialize_real.o module_dm.o module_comm_dm.o \
1125 mediation_integrate.o \
1126 mediation_interp_domain.o \
1127 module_configure.o \
1134 $(SED_FTN) $*.F > $*.b
1135 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1137 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1139 # to prevent having to call our service representative
1140 mediation_feedback_domain.o \
1141 mediation_force_domain.o start_domain.o module_integrate.o :
1143 $(SED_FTN) $*.F > $*.b
1144 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1146 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1148 ###########################################################
1149 #ARCH AIX SM (OpenMP, no nesting)
1151 OMP = -qsmp=noauto:noopt
1158 RWORDSIZE = CONFIGURE_RWORDSIZE
1159 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1160 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
1161 FCOPTIM = -O2 -qarch=auto
1162 #FCOPTIM = -O3 -qhot
1163 FCDEBUG = # -qnoopt -qfullpath
1164 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1165 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1166 FCSUFFIX = -qsuffix=f=f90
1167 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1168 ESMF_LIB_FLAGS = -lC
1169 ESMF_IO_LIB = ESMFIOLIB
1170 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1171 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1172 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1173 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1175 CONFIGURE_NETCDF_FLAG \
1176 -DLIMIT_ARGS -DNATIVE_MASSV
1177 PERL = CONFIGURE_PERL_PATH
1179 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1180 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1181 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1182 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1183 CONFIGURE_GRIB2_LIB \
1184 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1185 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1186 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
1187 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1188 CPP = /lib/cpp -C -P
1189 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1190 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1194 NETCDFPATH = CONFIGURE_NETCDF_PATH
1197 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
1200 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1203 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1206 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1207 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1210 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1211 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1214 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1215 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1218 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1219 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 )
1222 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1223 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1226 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1227 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1229 module_sm.o : module_sm.F
1230 module_tiles.o : module_tiles.F
1231 solve_em.o : solve_em.F
1232 solve_exp.o : solve_exp.F
1233 convert_nmm.o : convert_nmm.F
1235 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1237 $(SED_FTN) $*.F > $*.b
1238 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
1240 $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1242 # Compiled WITHOUT ANY SMP, needed Mar 2005
1243 module_domain.o : module_domain.F
1245 $(SED_FTN) $*.F > $*.b
1246 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1248 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1250 # compile these without high optimization to speed compile
1251 wrf_bdyout.o : wrf_bdyout.F
1252 wrf_bdyin.o : wrf_bdyin.F
1253 wrf_restartout.o : wrf_restartout.F
1254 wrf_restartin.o : wrf_restartin.F
1255 wrf_inputin.o : wrf_inputin.F
1256 wrf_inputout.o : wrf_inputout.F
1257 wrf_histin.o : wrf_histin.F
1258 wrf_histout.o : wrf_histout.F
1259 shift_domain_em.o : shift_domain_em.F
1260 module_io_mm5.o : module_io_mm5.F
1261 module_si_io.o : module_si_io.F
1262 module_io_wrf.o : module_io_wrf.F
1263 module_start.o : module_start.F
1264 module_initialize.o : module_initialize.F
1265 module_initialize_b_wave.o : module_initialize_b_wave.F
1266 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1267 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1268 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1269 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1270 module_initialize_real.o : module_initialize_real.F
1271 module_dm.o : module_dm.F
1272 module_comm_dm.o : module_comm_dm.F
1273 start_domain.o : start_domain.F
1274 mediation_integrate.o : mediation_integrate.F
1275 mediation_interp_domain.o : mediation_interp_domain.F
1276 mediation_force_domain.o : mediation_force_domain.F
1277 mediation_feedback_domain.o : mediation_feedback_domain.F
1278 convert_nmm.o : convert_nmm.F
1279 module_configure.o : module_configure.F
1280 solve_interface.o : solve_interface.F
1281 module_integrate.o : module_integrate.F
1283 wrf_bdyout.o wrf_bdyin.o \
1284 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1285 module_io_mm5.o module_si_io.o module_io_wrf.o \
1286 module_start.o module_initialize.o module_initialize_b_wave.o \
1287 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1288 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1289 module_initialize_real.o module_dm.o module_comm_dm.o \
1290 mediation_integrate.o \
1291 mediation_interp_domain.o \
1292 module_configure.o \
1297 $(SED_FTN) $*.F > $*.b
1298 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1300 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1302 ###########################################################
1303 #ARCH AIX SM (OpenMP, nesting, RSL_LITE w/o MPI)
1305 OMP = -qsmp=noauto:noopt
1312 RWORDSIZE = CONFIGURE_RWORDSIZE
1313 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1314 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 -DSTUBMPI
1315 FCOPTIM = -O2 -qarch=auto
1316 #FCOPTIM = -O3 -qhot
1317 FCDEBUG = # -qnoopt -qfullpath
1318 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -DSTUBMPI #-qflttrap=zerodivide:invalid:enable -qsigtrap
1319 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1320 FCSUFFIX = -qsuffix=f=f90
1321 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1322 ESMF_LIB_FLAGS = -lC
1323 ESMF_IO_LIB = ESMFIOLIB
1324 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1325 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1326 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1327 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1329 CONFIGURE_NETCDF_FLAG \
1330 -DLIMIT_ARGS -DNATIVE_MASSV
1331 PERL = CONFIGURE_PERL_PATH
1333 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1334 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1335 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1336 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1337 CONFIGURE_GRIB2_LIB \
1338 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1339 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1340 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
1341 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1342 CPP = /lib/cpp -C -P
1343 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1344 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1348 NETCDFPATH = CONFIGURE_NETCDF_PATH
1351 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1353 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1354 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1357 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1360 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1361 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1364 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1365 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1368 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1369 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1372 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1373 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 )
1376 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1377 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1380 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1381 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1383 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1384 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1386 module_sm.o : module_sm.F
1387 module_tiles.o : module_tiles.F
1388 solve_em.o : solve_em.F
1389 solve_exp.o : solve_exp.F
1390 convert_nmm.o : convert_nmm.F
1392 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1394 $(SED_FTN) $*.F > $*.b
1395 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
1397 $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1399 # Compiled WITHOUT ANY SMP, needed Mar 2005
1400 module_domain.o : module_domain.F
1402 $(SED_FTN) $*.F > $*.b
1403 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1405 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1407 # compile these without high optimization to speed compile
1408 wrf_bdyout.o : wrf_bdyout.F
1409 wrf_bdyin.o : wrf_bdyin.F
1410 wrf_restartout.o : wrf_restartout.F
1411 wrf_restartin.o : wrf_restartin.F
1412 wrf_inputin.o : wrf_inputin.F
1413 wrf_inputout.o : wrf_inputout.F
1414 wrf_histin.o : wrf_histin.F
1415 wrf_histout.o : wrf_histout.F
1416 shift_domain_em.o : shift_domain_em.F
1417 module_io_mm5.o : module_io_mm5.F
1418 module_si_io.o : module_si_io.F
1419 module_io_wrf.o : module_io_wrf.F
1420 module_start.o : module_start.F
1421 module_initialize.o : module_initialize.F
1422 module_initialize_b_wave.o : module_initialize_b_wave.F
1423 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1424 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1425 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1426 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1427 module_initialize_real.o : module_initialize_real.F
1428 module_dm.o : module_dm.F
1429 module_comm_dm.o : module_comm_dm.F
1430 start_domain.o : start_domain.F
1431 mediation_integrate.o : mediation_integrate.F
1432 mediation_interp_domain.o : mediation_interp_domain.F
1433 mediation_force_domain.o : mediation_force_domain.F
1434 mediation_feedback_domain.o : mediation_feedback_domain.F
1435 convert_nmm.o : convert_nmm.F
1436 module_configure.o : module_configure.F
1437 solve_interface.o : solve_interface.F
1438 module_integrate.o : module_integrate.F
1440 wrf_bdyout.o wrf_bdyin.o \
1441 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1442 module_io_mm5.o module_si_io.o module_io_wrf.o \
1443 module_start.o module_initialize.o module_initialize_b_wave.o \
1444 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1445 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1446 module_initialize_real.o module_dm.o module_comm_dm.o \
1447 mediation_integrate.o \
1448 mediation_interp_domain.o \
1449 module_configure.o \
1454 $(SED_FTN) $*.F > $*.b
1455 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1457 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1459 ###########################################################
1460 #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting)
1462 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1463 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1471 RWORDSIZE = CONFIGURE_RWORDSIZE
1472 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1473 CFLAGS = -DNOUNDERSCORE -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL \
1474 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1475 FCOPTIM = -O2 -qarch=auto
1476 #FCOPTIM = -O3 -qhot
1477 FCDEBUG = # -qnoopt -qfullpath
1478 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1479 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1480 FCSUFFIX = -qsuffix=f=f90
1481 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1482 ESMF_LIB_FLAGS = -lC
1483 ESMF_IO_LIB = ESMFIOLIB
1484 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1485 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_pnetcdf \
1486 -I$(WRF_SRC_ROOT_DIR)/external/io_int $(ESMF_IO_INC) \
1487 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc $(ESMF_MOD_INC)
1488 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1490 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1491 -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1492 -DLIMIT_ARGS -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST) $(ESMF_IO_DEFS)
1495 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1496 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1497 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv \
1498 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1499 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1500 CONFIGURE_GRIB2_LIB \
1501 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1502 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o $(ESMF_IO_LIB)
1503 LDFLAGS = CONFIGURE_LDFLAGS
1504 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1506 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1507 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1512 NETCDFPATH = CONFIGURE_NETCDF_PATH
1513 PNETCDFPATH = CONFIGURE_PNETCDF_PATH
1516 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET) fftpack
1518 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1519 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1521 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1522 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1525 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1528 ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1531 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1532 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1535 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1536 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1539 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1540 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1543 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1544 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 )
1547 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1548 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1551 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1552 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1554 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1555 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1557 # compile these without high optimization
1558 wrf_bdyout.o : wrf_bdyout.F
1559 wrf_bdyin.o : wrf_bdyin.F
1560 wrf_restartout.o : wrf_restartout.F
1561 wrf_restartin.o : wrf_restartin.F
1562 wrf_inputin.o : wrf_inputin.F
1563 wrf_inputout.o : wrf_inputout.F
1564 wrf_histin.o : wrf_histin.F
1565 wrf_histout.o : wrf_histout.F
1566 module_configure.o : module_configure.F
1567 module_io_mm5.o : module_io_mm5.F
1568 module_si_io.o : module_si_io.F
1569 module_io_wrf.o : module_io_wrf.F
1570 module_domain.o : module_domain.F
1571 module_start.o : module_start.F
1572 module_initialize.o : module_initialize.F
1573 module_initialize_b_wave.o : module_initialize_b_wave.F
1574 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1575 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1576 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1577 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1578 module_initialize_real.o : module_initialize_real.F
1579 module_dm.o : module_dm.F
1580 module_comm_dm.o : module_comm_dm.F
1581 start_domain.o : start_domain.F
1582 mediation_integrate.o : mediation_integrate.F
1583 mediation_interp_domain.o : mediation_interp_domain.F
1584 mediation_force_domain.o : mediation_force_domain.F
1585 mediation_feedback_domain.o : mediation_feedback_domain.F
1586 convert_nmm.o : convert_nmm.F
1587 solve_interface.o : solve_interface.F
1588 shift_domain_em.o : shift_domain_em.F
1589 solve_em.o : solve_em.F
1590 solve_nmm.o : solve_nmm.F
1592 wrf_bdyout.o wrf_bdyin.o \
1593 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1594 module_configure.o module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1595 module_start.o module_initialize.o module_initialize_b_wave.o \
1596 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1597 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1598 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1599 mediation_force_domain.o \
1600 mediation_integrate.o \
1601 mediation_interp_domain.o \
1602 mediation_feedback_domain.o \
1609 $(SED_FTN) $*.F > $*.b
1610 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1612 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1614 ###########################################################
1615 #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5)
1617 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1618 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1626 RWORDSIZE = CONFIGURE_RWORDSIZE
1627 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1628 CFLAGS = -DNOUNDERSCORE -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL \
1629 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1630 FCOPTIM = -O2 -qarch=auto
1631 #FCOPTIM = -O3 -qhot
1632 FCDEBUG = # -qnoopt -qfullpath
1633 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1634 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1635 FCSUFFIX = -qsuffix=f=f90
1636 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1637 ESMF_LIB_FLAGS = -lC
1638 ESMF_IO_LIB = ESMFIOLIB
1639 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1640 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_phdf5 -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1641 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
1642 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1644 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1645 -DLIMIT_ARGS -DNATIVE_MASSV
1648 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv \
1649 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1650 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1651 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1652 CONFIGURE_GRIB2_LIB \
1653 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1654 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1655 LDFLAGS = CONFIGURE_LDFLAGS
1656 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1658 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1659 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1664 NETCDFPATH = CONFIGURE_NETCDF_PATH
1667 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1669 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1670 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1672 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1673 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1676 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1679 ( cd $(WRF_SRC_ROOT_DIR)/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 $(WRF_SRC_ROOT_DIR)/inc )
1682 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1683 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1686 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1687 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1690 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1691 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1694 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1695 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 )
1698 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1699 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1702 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1703 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1705 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1706 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1708 # compile these without high optimization
1709 wrf_bdyout.o : wrf_bdyout.F
1710 wrf_bdyin.o : wrf_bdyin.F
1711 wrf_restartout.o : wrf_restartout.F
1712 wrf_restartin.o : wrf_restartin.F
1713 wrf_inputin.o : wrf_inputin.F
1714 wrf_inputout.o : wrf_inputout.F
1715 wrf_histin.o : wrf_histin.F
1716 wrf_histout.o : wrf_histout.F
1717 module_configure.o : module_configure.F
1718 module_io_mm5.o : module_io_mm5.F
1719 module_si_io.o : module_si_io.F
1720 module_io_wrf.o : module_io_wrf.F
1721 module_domain.o : module_domain.F
1722 module_start.o : module_start.F
1723 module_initialize.o : module_initialize.F
1724 module_initialize_b_wave.o : module_initialize_b_wave.F
1725 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1726 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1727 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1728 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1729 module_initialize_real.o : module_initialize_real.F
1730 module_dm.o : module_dm.F
1731 module_comm_dm.o : module_comm_dm.F
1732 start_domain.o : start_domain.F
1733 mediation_integrate.o : mediation_integrate.F
1734 mediation_interp_domain.o : mediation_interp_domain.F
1735 mediation_force_domain.o : mediation_force_domain.F
1736 mediation_feedback_domain.o : mediation_feedback_domain.F
1737 convert_nmm.o : convert_nmm.F
1738 solve_interface.o : solve_interface.F
1739 shift_domain_em.o : shift_domain_em.F
1740 solve_em.o : solve_em.F
1741 solve_nmm.o : solve_nmm.F
1743 wrf_bdyout.o wrf_bdyin.o \
1744 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1745 module_configure.o module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1746 module_start.o module_initialize.o module_initialize_b_wave.o \
1747 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1748 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1749 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1750 mediation_force_domain.o \
1751 mediation_integrate.o \
1752 mediation_interp_domain.o \
1753 mediation_feedback_domain.o \
1760 $(SED_FTN) $*.F > $*.b
1761 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
1763 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1765 ###########################################################
1766 #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, MCEL) May 2003, EXPERIMENTAL
1768 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1769 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1777 RWORDSIZE = CONFIGURE_RWORDSIZE
1778 MCELHOME = /home/bluesky/bettenc/disttest
1779 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1780 CFLAGS = -DNOUNDERSCORE -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL \
1781 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1782 FCOPTIM = -O2 -qarch=auto
1783 FCDEBUG = # -qnoopt -qfullpath
1784 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1785 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1786 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1787 ESMF_LIB_FLAGS = -lC
1788 ESMF_IO_LIB = ESMFIOLIB
1789 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1790 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1791 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1792 ARCHFLAGS = -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1794 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \
1798 LIB = CONFIGURE_NETCDF_LIB_PATH \
1799 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1800 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1801 CONFIGURE_GRIB2_LIB \
1802 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1803 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv -lxlsmp \
1804 -L$(WRF_SRC_ROOT_DIR)/external/io_mcel -lwrfio_mcel \
1805 -L$(MCELHOME)/MCELSystem/MCEL -lMCEL \
1806 -L$(MCELHOME)/lib -lomniORB4 \
1807 -lomnithread -lomniDynamic4 -lnetcdf_c++ -lnetcdf -lxlf90 -lxlopt \
1808 -lxlf -lxlomp_ser -lm -lc -lpthread \
1809 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1810 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1811 LDFLAGS = CONFIGURE_LDFLAGS
1812 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1814 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1815 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1820 NETCDFPATH = CONFIGURE_NETCDF_PATH
1823 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time fftpack
1825 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1826 ( cat $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c > $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1828 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1829 ( cat module_dm_warning $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F > module_dm.F )
1832 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1833 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1836 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1837 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1840 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1841 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
1844 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1845 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive )
1848 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1849 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 )
1852 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1853 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1856 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1857 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1860 ( cd $(WRF_SRC_ROOT_DIR)/external/io_mcel ; \
1861 make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I$(WRF_SRC_ROOT_DIR)/inc -I../io_netcdf -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share \
1862 -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all )
1865 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1866 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1868 # compile these without high optimization
1869 module_configure.o : module_configure.F
1870 module_io_mm5.o : module_io_mm5.F
1871 module_si_io.o : module_si_io.F
1872 module_io_wrf.o : module_io_wrf.F
1873 module_domain.o : module_domain.F
1874 module_start.o : module_start.F
1875 module_initialize.o : module_initialize.F
1876 module_initialize_b_wave.o : module_initialize_b_wave.F
1877 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1878 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1879 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1880 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1881 module_initialize_real.o : module_initialize_real.F
1882 module_dm.o : module_dm.F
1883 module_comm_dm.o : module_comm_dm.F
1884 start_domain.o : start_domain.F
1885 mediation_integrate.o : mediation_integrate.F
1886 mediation_interp_domain.o : mediation_interp_domain.F
1887 mediation_force_domain.o : mediation_force_domain.F
1888 mediation_feedback_domain.o : mediation_feedback_domain.F
1889 convert_nmm.o : convert_nmm.F
1890 solve_interface.o : solve_interface.F
1891 shift_domain_em.o : shift_domain_em.F
1892 solve_em.o : solve_em.F
1894 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1895 module_start.o module_initialize.o module_initialize_b_wave.o \
1896 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1897 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1898 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1899 module_configure.o \
1900 mediation_force_domain.o \
1901 mediation_integrate.o \
1902 mediation_interp_domain.o \
1903 mediation_feedback_domain.o \
1909 $(SED_FTN) $*.F > $*.b
1910 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f
1912 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f
1914 ###########################################################
1915 #ARCH Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI)
1918 BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys
1919 MPI_INC = -I$(BGL_SYS)/include
1920 MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
1921 TRACE_LIB = -L/contrib/bgl/mpi_trace -lmpitrace_c
1930 RWORDSIZE = CONFIGURE_RWORDSIZE
1931 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1932 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DLANDREAD_STUB -DDM_PARALLEL
1933 FCOPTIM = -O2 -qarch=440
1934 FCDEBUG = # -qnoopt -qfullpath -qarch=440
1936 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=64000 $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
1937 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1939 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_pnetcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1940 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1942 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1944 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1945 -DLIMIT_ARGS -DNATIVE_MASSV -DLANDREAD_STUB
1949 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1950 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1951 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
1952 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1953 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1954 -L/home/michalak/fftpack5 -lfftpack \
1955 $(TRACE_LIB) $(MPI_LIB)
1957 LDFLAGS = -Wl,--allow-multiple-definition -qstatic
1960 CPP = /opt/ibmcmp/xlf/9.1/exe/cpp
1961 POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1962 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1964 #### this is a hand installed version of m4 on frost.ucar.edu
1965 #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
1966 M4 = /home/janicec/m4 -B 12000
1968 NETCDFPATH = CONFIGURE_NETCDF_PATH
1969 PNETCDFPATH = CONFIGURE_PNETCDF_PATH
1973 externals : wrf_ioapi_includes $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c fftpack
1975 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1976 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1978 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1979 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1982 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1985 ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1988 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1989 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1992 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1993 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1996 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1997 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2000 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2001 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2003 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2004 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2006 solve_interface.o : solve_interface.F
2008 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
2009 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
2011 # compile these without high optimization to speed compile
2012 wrf_bdyout.o : wrf_bdyout.F
2013 wrf_bdyin.o : wrf_bdyin.F
2014 wrf_restartout.o : wrf_restartout.F
2015 wrf_restartin.o : wrf_restartin.F
2016 wrf_inputin.o : wrf_inputin.F
2017 wrf_inputout.o : wrf_inputout.F
2018 wrf_histin.o : wrf_histin.F
2019 wrf_histout.o : wrf_histout.F
2020 shift_domain_em.o : shift_domain_em.F
2021 module_io_mm5.o : module_io_mm5.F
2022 module_si_io.o : module_si_io.F
2023 module_io_wrf.o : module_io_wrf.F
2024 module_domain.o : module_domain.F
2025 module_start.o : module_start.F
2026 module_initialize.o : module_initialize.F
2027 module_initialize_b_wave.o : module_initialize_b_wave.F
2028 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2029 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2030 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2031 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2032 module_initialize_real.o : module_initialize_real.F
2033 module_dm.o : module_dm.F
2034 module_comm_dm.o : module_comm_dm.F
2035 start_domain.o : start_domain.F
2036 mediation_integrate.o : mediation_integrate.F
2037 mediation_interp_domain.o : mediation_interp_domain.F
2038 mediation_force_domain.o : mediation_force_domain.F
2039 mediation_feedback_domain.o : mediation_feedback_domain.F
2040 convert_nmm.o : convert_nmm.F
2041 module_configure.o : module_configure.F
2042 solve_em.o : solve_em.F
2043 start_em.o : start_em.F
2045 wrf_bdyout.o wrf_bdyin.o \
2046 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2047 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2048 module_start.o module_initialize.o module_initialize_b_wave.o \
2049 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2050 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2051 module_initialize_real.o module_dm.o module_comm_dm.o \
2052 mediation_integrate.o \
2053 mediation_interp_domain.o \
2054 module_configure.o \
2060 $(SED_FTN) $*.F > $*.b
2061 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2063 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
2065 # to prevent having to call our service representative
2066 mediation_feedback_domain.o \
2067 mediation_force_domain.o start_domain.o :
2069 $(SED_FTN) $*.F > $*.b
2070 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2072 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
2074 ###########################################################
2075 #ARCH Compaq OSF1 alpha (single-threaded, no nesting)
2084 RWORDSIZE = CONFIGURE_RWORDSIZE
2085 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2086 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2088 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2089 -DLIMIT_ARGS -DFLOATSAFE
2090 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2091 CFLAGS = $(ARCHFLAGS)
2094 FCDEBUG_ESMF = # -O0
2095 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2096 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2097 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2098 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2099 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2101 ESMF_IO_LIB = ESMFIOLIB
2102 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2103 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2104 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2105 PERL = CONFIGURE_PERL_PATH
2107 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2108 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2109 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2110 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2111 CONFIGURE_GRIB2_LIB \
2112 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2113 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2114 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2115 CPP = /usr/bin/cpp -C -P
2116 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2117 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2121 NETCDFPATH = CONFIGURE_NETCDF_PATH
2124 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2127 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2130 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2131 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2134 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2135 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2138 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2139 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)
2142 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2143 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)
2146 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2147 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)
2150 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2151 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2154 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2155 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2157 nest_init_utils.o : nest_init_utils.F
2158 module_optional_si_input.o : module_optional_si_input.F
2160 nest_init_utils.o module_optional_si_input.o :
2162 $(SED_FTN) $*.F > $*.b
2163 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2165 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2167 # compile these without high optimization to speed compile
2168 module_io_mm5.o : module_io_mm5.F
2169 module_si_io.o : module_si_io.F
2170 module_io_wrf.o : module_io_wrf.F
2171 module_domain.o : module_domain.F
2172 module_start.o : module_start.F
2173 module_initialize.o : module_initialize.F
2174 module_initialize_b_wave.o : module_initialize_b_wave.F
2175 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2176 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2177 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2178 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2179 module_initialize_real.o : module_initialize_real.F
2180 start_domain.o : start_domain.F
2181 module_configure.o : module_configure.F
2182 mediation_interp_domain.o : mediation_interp_domain.F
2183 mediation_force_domain.o : mediation_force_domain.F
2184 mediation_feedback_domain.o : mediation_feedback_domain.F
2186 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2187 module_start.o module_initialize.o module_initialize_b_wave.o \
2188 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2189 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2190 module_configure.o \
2191 mediation_interp_domain.o \
2192 mediation_force_domain.o \
2193 mediation_feedback_domain.o \
2194 module_initialize_real.o start_domain.o :
2196 $(SED_FTN) $*.F > $*.b
2197 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2199 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2201 mediation_integrate.o : mediation_integrate.F
2202 module_dm.o : module_dm.F
2203 module_comm_dm.o : module_comm_dm.F
2204 mediation_wrfmain.o : mediation_wrfmain.F
2205 solve_em.o : solve_em.F
2207 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
2209 $(SED_FTN) $*.F > $*.b
2210 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2212 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2214 ###########################################################
2215 #ARCH Compaq OSF1 alpha SM (OpenMP, no nesting)
2224 RWORDSIZE = CONFIGURE_RWORDSIZE
2225 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2226 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2228 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2229 -DLIMIT_ARGS -DFLOATSAFE
2230 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2231 CFLAGS = $(ARCHFLAGS)
2234 FCDEBUG_ESMF = # -O0
2235 FCREAL8OMP = -align records -align dcommons -granularity quadword
2236 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
2237 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
2238 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2239 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2240 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2242 ESMF_IO_LIB = ESMFIOLIB
2243 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2244 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2245 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2246 PERL = CONFIGURE_PERL_PATH
2248 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2249 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2250 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2251 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2252 CONFIGURE_GRIB2_LIB \
2253 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2254 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2255 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2256 CPP = /usr/bin/cpp -C -P
2257 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2258 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2262 NETCDFPATH = CONFIGURE_NETCDF_PATH
2265 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2268 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2271 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2272 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
2275 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2276 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2279 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2280 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)
2283 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2284 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)
2287 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2288 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)
2291 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2292 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2295 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2296 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2298 nest_init_utils.o : nest_init_utils.F
2299 module_optional_si_input.o : module_optional_si_input.F
2301 nest_init_utils.o module_optional_si_input.o :
2303 $(SED_FTN) $*.F > $*.b
2304 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2306 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2308 # compile these without high optimization to speed compile
2309 module_io_mm5.o : module_io_mm5.F
2310 module_si_io.o : module_si_io.F
2311 module_io_wrf.o : module_io_wrf.F
2312 module_domain.o : module_domain.F
2313 module_start.o : module_start.F
2314 module_initialize.o : module_initialize.F
2315 module_initialize_b_wave.o : module_initialize_b_wave.F
2316 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2317 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2318 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2319 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2320 module_initialize_real.o : module_initialize_real.F
2321 start_domain.o : start_domain.F
2322 module_configure.o : module_configure.F
2323 mediation_interp_domain.o : mediation_interp_domain.F
2324 mediation_force_domain.o : mediation_force_domain.F
2325 mediation_feedback_domain.o : mediation_feedback_domain.F
2327 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2328 module_start.o module_initialize.o module_initialize_b_wave.o \
2329 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2330 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2331 module_configure.o \
2332 mediation_interp_domain.o \
2333 mediation_force_domain.o \
2334 mediation_feedback_domain.o \
2335 module_initialize_real.o start_domain.o :
2337 $(SED_FTN) $*.F > $*.b
2338 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2340 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2342 mediation_integrate.o : mediation_integrate.F
2343 module_dm.o : module_dm.F
2344 module_comm_dm.o : module_comm_dm.F
2345 mediation_wrfmain.o : mediation_wrfmain.F
2346 solve_em.o : solve_em.F
2348 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
2350 $(SED_FTN) $*.F > $*.b
2351 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2353 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2355 ###########################################################
2356 #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows ARW and NMM nesting)
2358 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2359 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2369 RWORDSIZE = CONFIGURE_RWORDSIZE
2370 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2371 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2373 -DDM_PARALLEL -DRSL_LITE \
2374 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2375 -DLIMIT_ARGS -DFLOATSAFE \
2376 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
2377 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2378 CFLAGS = $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2381 FCDEBUG_ESMF = # -O0
2382 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2383 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2384 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2385 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2386 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2388 ESMF_IO_LIB = ESMFIOLIB
2389 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2390 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2391 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2392 PERL = CONFIGURE_PERL_PATH
2394 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2395 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2396 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
2397 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2398 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2399 CONFIGURE_GRIB2_LIB \
2400 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2401 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2402 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2403 CPP = /usr/bin/cpp -C -P
2404 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2405 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2410 NETCDFPATH = CONFIGURE_NETCDF_PATH
2413 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2415 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2416 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2417 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2419 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2420 ( /bin/cp module_dm_warning module_dm.F ; \
2421 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2424 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2425 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2428 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2429 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2432 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2433 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)
2436 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2437 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 )
2440 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2441 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 )
2444 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2445 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2448 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2449 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2451 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2452 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2453 make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
2455 nest_init_utils.o : nest_init_utils.F
2456 module_optional_si_input.o : module_optional_si_input.F
2457 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
2459 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
2461 $(SED_FTN) $*.F > $*.b
2462 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2464 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2466 # compile these without high optimization to speed compile
2467 module_io_mm5.o : module_io_mm5.F
2468 module_si_io.o : module_si_io.F
2469 module_io_wrf.o : module_io_wrf.F
2470 module_domain.o : module_domain.F
2471 module_start.o : module_start.F
2472 module_initialize.o : module_initialize.F
2473 module_initialize_b_wave.o : module_initialize_b_wave.F
2474 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2475 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2476 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2477 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2478 module_initialize_real.o : module_initialize_real.F
2479 start_domain.o : start_domain.F
2480 start_domain_nmm.o : start_domain_nmm.F
2481 module_configure.o : module_configure.F
2482 mediation_interp_domain.o : mediation_interp_domain.F
2483 mediation_force_domain.o : mediation_force_domain.F
2484 mediation_feedback_domain.o : mediation_feedback_domain.F
2486 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2487 module_start.o module_initialize.o module_initialize_b_wave.o \
2488 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2489 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2490 module_configure.o \
2491 mediation_interp_domain.o \
2492 mediation_force_domain.o \
2493 mediation_feedback_domain.o \
2494 module_initialize_real.o start_domain.o start_domain_nmm.o :
2496 $(SED_FTN) $*.F > $*.b
2497 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2499 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2501 mediation_integrate.o : mediation_integrate.F
2502 module_dm.o : module_dm.F
2503 module_comm_dm.o : module_comm_dm.F
2504 mediation_wrfmain.o : mediation_wrfmain.F
2505 solve_em.o : solve_em.F
2507 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
2509 $(SED_FTN) $*.F > $*.b
2510 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2512 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2514 ###########################################################
2515 #ARCH Compaq OSF1 alpha DM/SM (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
2525 RWORDSIZE = CONFIGURE_RWORDSIZE
2526 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2527 ARCHFLAGS = $(COREDEFS) -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
2529 -DDM_PARALLEL="'<b>DM_PARALLEL</b>'" -DRSL_LITE="'<b>RSL_LITE</b>'" \
2530 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2531 -DLIMIT_ARGS -DFLOATSAFE \
2532 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
2533 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2534 CFLAGS = $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2537 FCDEBUG_ESMF = # -O0
2538 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2539 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2540 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2541 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2542 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2544 ESMF_IO_LIB = ESMFIOLIB
2545 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2546 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2547 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2548 PERL = CONFIGURE_PERL_PATH
2550 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2551 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2552 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
2553 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2554 CONFIGURE_GRIB2_LIB \
2555 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2556 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2557 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2558 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2559 CPP = /usr/bin/cpp -C -P
2560 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2561 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2566 NETCDFPATH = CONFIGURE_NETCDF_PATH
2569 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2571 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2572 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2573 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2575 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2576 ( /bin/cp module_dm_warning module_dm.F ; \
2577 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2580 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2581 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2584 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2585 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2588 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2589 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)
2592 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2593 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 )
2596 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2597 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 )
2600 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2601 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2604 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2605 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2607 $(WRF_SRC_ROOT_DIR)/external/RSL/RSL/librsl_lite.a :
2608 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2609 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) all )
2611 # compile these without high optimization to speed compile
2612 module_io_mm5.o : module_io_mm5.F
2613 module_si_io.o : module_si_io.F
2614 module_io_wrf.o : module_io_wrf.F
2615 module_domain.o : module_domain.F
2616 module_start.o : module_start.F
2617 module_initialize.o : module_initialize.F
2618 module_initialize_b_wave.o : module_initialize_b_wave.F
2619 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2620 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2621 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2622 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2623 module_initialize_real.o : module_initialize_real.F
2624 start_domain.o : start_domain.F
2625 module_configure.o : module_configure.F
2627 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2628 module_start.o module_initialize.o module_initialize_b_wave.o \
2629 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2630 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2631 module_configure.o \
2632 module_initialize_real.o start_domain.o :
2634 $(SED_FTN) $*.F > $*.b
2635 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2637 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2639 mediation_integrate.o : mediation_integrate.F
2640 module_dm.o : module_dm.F
2641 module_comm_dm.o : module_comm_dm.F
2642 mediation_wrfmain.o : mediation_wrfmain.F
2643 solve_em.o : solve_em.F
2645 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
2647 $(SED_FTN) $*.F > $*.b
2648 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2650 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2652 ###########################################################
2653 #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows ARW and NMM nesting, UNOPT shift_domain)
2655 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2656 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2666 RWORDSIZE = CONFIGURE_RWORDSIZE
2667 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2668 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2670 -DDM_PARALLEL -DRSL_LITE \
2671 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2672 -DLIMIT_ARGS -DFLOATSAFE \
2673 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
2674 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2675 CFLAGS = $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2678 FCDEBUG_ESMF = # -O0
2679 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2680 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2681 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2682 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2683 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2685 ESMF_IO_LIB = ESMFIOLIB
2686 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2687 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2688 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2689 PERL = CONFIGURE_PERL_PATH
2691 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2692 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2693 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
2694 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2695 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2696 CONFIGURE_GRIB2_LIB \
2697 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2698 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2699 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2700 CPP = /usr/bin/cpp -C -P
2701 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2702 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2707 NETCDFPATH = CONFIGURE_NETCDF_PATH
2710 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2712 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2713 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2714 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2716 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2717 ( /bin/cp module_dm_warning module_dm.F ; \
2718 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2721 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2722 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2725 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2726 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2729 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2730 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)
2733 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2734 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 )
2737 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2738 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 )
2741 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2742 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2745 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2746 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2748 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2749 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2750 make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
2752 nest_init_utils.o : nest_init_utils.F
2753 module_optional_si_input.o : module_optional_si_input.F
2754 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
2756 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
2758 $(SED_FTN) $*.F > $*.b
2759 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2761 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2763 # compile these without high optimization to speed compile
2764 module_io_mm5.o : module_io_mm5.F
2765 module_si_io.o : module_si_io.F
2766 module_io_wrf.o : module_io_wrf.F
2767 module_domain.o : module_domain.F
2768 module_start.o : module_start.F
2769 module_initialize.o : module_initialize.F
2770 module_initialize_b_wave.o : module_initialize_b_wave.F
2771 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2772 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2773 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2774 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2775 module_initialize_real.o : module_initialize_real.F
2776 start_domain.o : start_domain.F
2777 start_domain_nmm.o : start_domain_nmm.F
2778 module_configure.o : module_configure.F
2779 mediation_interp_domain.o : mediation_interp_domain.F
2780 mediation_force_domain.o : mediation_force_domain.F
2781 mediation_feedback_domain.o : mediation_feedback_domain.F
2782 shift_domain_em.o : shift_domain_em.F
2784 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2785 module_start.o module_initialize.o module_initialize_b_wave.o \
2786 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2787 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2788 module_configure.o \
2789 mediation_interp_domain.o \
2790 mediation_force_domain.o \
2791 mediation_feedback_domain.o \
2793 module_initialize_real.o start_domain.o start_domain_nmm.o :
2795 $(SED_FTN) $*.F > $*.b
2796 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2798 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2800 mediation_integrate.o : mediation_integrate.F
2801 module_dm.o : module_dm.F
2802 module_comm_dm.o : module_comm_dm.F
2803 mediation_wrfmain.o : mediation_wrfmain.F
2804 solve_em.o : solve_em.F
2806 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
2808 $(SED_FTN) $*.F > $*.b
2809 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2811 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2813 ###########################################################
2814 #ARCH Alpha Linux alpha DM (single-threaded, no nesting)
2821 RWORDSIZE = CONFIGURE_RWORDSIZE
2822 PROMOTION = -r$(RWORDSIZE) -i4
2826 FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
2827 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
2828 -arch host $(FCDEBUG)
2829 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2830 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2832 CONFIGURE_NETCDF_FLAG
2833 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2835 ESMF_IO_LIB = ESMFIOLIB
2836 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2837 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2838 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2839 PERL = CONFIGURE_PERL_PATH
2841 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2842 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2843 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2844 CONFIGURE_GRIB2_LIB \
2845 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2846 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2847 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
2848 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2849 CPP = /lib/cpp -C -P
2850 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2851 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2855 NETCDFPATH = CONFIGURE_NETCDF_PATH
2858 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2861 ( /bin/cp module_dm_warning module_dm.F ; \
2862 cat module_dm_stubs.F >> module_dm.F )
2865 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2866 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
2869 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2870 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2871 TRADFLAG="-traditional" all )
2874 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2875 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2876 TRADFLAG="-traditional" archive)
2879 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2880 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2881 TRADFLAG="-traditional" archive )
2884 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2885 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2886 TRADFLAG="-traditional" archive )
2889 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2890 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2893 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2894 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2896 # compile these without high optimization to speed compile
2897 module_io_mm5.o : module_io_mm5.F
2898 module_si_io.o : module_si_io.F
2899 module_io_wrf.o : module_io_wrf.F
2900 module_domain.o : module_domain.F
2901 module_start.o : module_start.F
2902 module_initialize.o : module_initialize.F
2903 module_initialize_b_wave.o : module_initialize_b_wave.F
2904 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2905 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2906 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2907 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2908 module_initialize_real.o : module_initialize_real.F
2909 module_dm.o : module_dm.F
2910 module_comm_dm.o : module_comm_dm.F
2911 start_domain.o : start_domain.F
2912 module_configure.o : module_configure.F
2914 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2915 module_start.o module_initialize.o module_initialize_b_wave.o \
2916 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2917 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2918 module_configure.o \
2919 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
2921 $(SED_FTN) $*.F > $*.b
2922 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
2924 $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
2926 ###########################################################
2927 #ARCH Alpha Linux alpha SM (DOES NOT WORK ON JET! No nesting)
2934 RWORDSIZE = CONFIGURE_RWORDSIZE
2935 PROMOTION = -r$(RWORDSIZE) -i4
2939 FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
2940 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
2941 -arch host $(FCDEBUG)
2942 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2943 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2945 CONFIGURE_NETCDF_FLAG
2946 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2948 ESMF_IO_LIB = ESMFIOLIB
2949 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2950 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2951 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2952 PERL = CONFIGURE_PERL_PATH
2954 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2955 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2956 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2957 CONFIGURE_GRIB2_LIB \
2958 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2959 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2960 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
2961 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2962 CPP = /lib/cpp -C -P
2963 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2964 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2968 NETCDFPATH = CONFIGURE_NETCDF_PATH
2971 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2974 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2975 /bin/cp module_dm_warning module_dm.F )
2978 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2979 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
2982 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2983 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2984 TRADFLAG="-traditional" all )
2987 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2988 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2989 TRADFLAG="-traditional" archive)
2992 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2993 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2994 TRADFLAG="-traditional" archive )
2996 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2997 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2998 TRADFLAG="-traditional" archive )
3001 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3002 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3005 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3006 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3008 # compile these without high optimization to speed compile
3009 module_io_mm5.o : module_io_mm5.F
3010 module_si_io.o : module_si_io.F
3011 module_io_wrf.o : module_io_wrf.F
3012 module_domain.o : module_domain.F
3013 module_start.o : module_start.F
3014 module_initialize.o : module_initialize.F
3015 module_initialize_b_wave.o : module_initialize_b_wave.F
3016 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3017 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3018 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3019 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3020 module_initialize_real.o : module_initialize_real.F
3021 module_dm.o : module_dm.F
3022 module_comm_dm.o : module_comm_dm.F
3023 start_domain.o : start_domain.F
3024 module_configure.o : module_configure.F
3026 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3027 module_start.o module_initialize.o module_initialize_b_wave.o \
3028 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3029 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3030 module_configure.o \
3031 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3033 $(SED_FTN) $*.F > $*.b
3034 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
3036 $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
3038 ###########################################################
3039 #ARCH VPP UNIX_System_V F300 5000
3046 RWORDSIZE = CONFIGURE_RWORDSIZE
3047 PROMOTION = -r$(RWORDSIZE) -i4
3049 FCFLAGS = -Free -X9 -Am
3050 FCFLAGS = -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
3052 FCBASEOPTS = $(FCFLAGS)
3053 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3056 PERL = CONFIGURE_PERL_PATH
3058 LIB = $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
3059 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3060 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3061 CONFIGURE_GRIB2_LIB \
3062 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
3063 LDFLAGS = -Wl,-P -J CONFIGURE_LDFLAGS
3064 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3065 LDFLAGS = -J CONFIGURE_LDFLAGS
3066 CPP = /lib/cpp -C -P
3067 POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3068 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3072 NETCDFPATH = CONFIGURE_NETCDF_PATH
3075 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 module_dm.F esmf_time fftpack
3078 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3081 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3082 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
3085 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3086 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
3089 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3090 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
3093 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3094 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
3096 ###########################################################
3103 NATIVE_RWORDSIZE = 8
3104 RWORDSIZE = CONFIGURE_RWORDSIZE
3105 # does this PROMOTION flag work on Cray?
3106 PROMOTION = -r$(RWORDSIZE) -i4
3108 FCFLAGS = -f free -N 255 -I.
3110 FCBASEOPTS = $(FCFLAGS)
3111 ARCHFLAGS = $(COREDEFS) -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
3114 LDFLAGS = CONFIGURE_LDFLAGS
3115 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3116 CPP = /opt/ctl/bin/cpp
3117 POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3118 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3119 PERL = CONFIGURE_PERL_PATH
3121 #LIB = CONFIGURE_NETCDF_LIB_PATH
3122 LIB = $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
3123 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3124 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3125 CONFIGURE_GRIB2_LIB \
3126 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
3130 NETCDFPATH = CONFIGURE_NETCDF_PATH
3133 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
3134 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3137 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3138 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
3141 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3142 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
3145 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3146 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
3149 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3150 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
3152 solve_interface.o : solve_interface.F
3154 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
3155 $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
3157 ###########################################################
3158 #ARCH PC Linux i486 i586 i686, PGI compiler (Single-threaded, no nesting)
3164 RWORDSIZE = CONFIGURE_RWORDSIZE
3166 PROMOTION = -r$(RWORDSIZE) -i4
3168 FCOPTIM = -O2 # -fast
3170 FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3171 #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
3172 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
3173 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3175 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3177 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3179 ESMF_IO_LIB = ESMFIOLIB
3180 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3181 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3182 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3185 LIB = CONFIGURE_NETCDF_LIB_PATH \
3186 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3187 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3188 CONFIGURE_GRIB2_LIB \
3189 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3190 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3191 LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
3192 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3193 CPP = /lib/cpp -C -P -traditional
3194 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3195 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3199 NETCDFPATH = CONFIGURE_NETCDF_PATH
3202 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3205 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3208 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3209 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3212 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3213 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3216 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3217 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
3220 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3221 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 )
3224 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3225 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3226 TRADFLAG="-traditional" all )
3229 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3230 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3233 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3234 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3236 # compile these without high optimization to speed compile
3237 solve_interface.o : solve_interface.F
3238 shift_domain_em.o : shift_domain_em.F
3239 module_io_mm5.o : module_io_mm5.F
3240 module_si_io.o : module_si_io.F
3241 module_io_wrf.o : module_io_wrf.F
3242 module_domain.o : module_domain.F
3243 module_start.o : module_start.F
3244 module_initialize.o : module_initialize.F
3245 module_initialize_b_wave.o : module_initialize_b_wave.F
3246 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3247 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3248 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3249 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3250 module_initialize_real.o : module_initialize_real.F
3251 module_dm.o : module_dm.F
3252 module_comm_dm.o : module_comm_dm.F
3253 start_domain.o : start_domain.F
3254 mediation_integrate.o : mediation_integrate.F
3255 module_configure.o : module_configure.F
3259 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3260 module_start.o module_initialize.o module_initialize_b_wave.o \
3261 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3262 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3263 mediation_integrate.o \
3264 module_configure.o \
3265 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3267 $(SED_FTN) $*.F > $*.b
3268 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
3270 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3271 #PGI if [ ! -e $@ ] ; then \
3272 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3274 #PGI if [ ! -e $@ ] ; then \
3275 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3277 #PGI if [ ! -e $@ ] ; then \
3278 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3281 ###########################################################
3282 #ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, no nesting)
3290 RWORDSIZE = CONFIGURE_RWORDSIZE
3292 PROMOTION = -r$(RWORDSIZE) -i4
3294 FCOPTIM = -O2 # -fast
3296 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3297 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
3298 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3299 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3301 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3303 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3305 ESMF_IO_LIB = ESMFIOLIB
3306 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3307 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3308 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3311 LIB = CONFIGURE_NETCDF_LIB_PATH \
3312 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3313 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3314 CONFIGURE_GRIB2_LIB \
3315 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3316 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3317 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
3318 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3319 CPP = /lib/cpp -C -P -traditional
3320 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3321 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3325 NETCDFPATH = CONFIGURE_NETCDF_PATH
3328 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3331 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3334 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3335 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3338 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3339 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3342 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3343 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
3346 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3347 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 )
3350 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3351 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3352 TRADFLAG="-traditional" all )
3355 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3356 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3359 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3360 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3362 # compile these without high optimization to speed compile
3363 solve_interface.o : solve_interface.F
3364 shift_domain_em.o : shift_domain_em.F
3365 module_io_mm5.o : module_io_mm5.F
3366 module_si_io.o : module_si_io.F
3367 module_io_wrf.o : module_io_wrf.F
3368 module_domain.o : module_domain.F
3369 module_start.o : module_start.F
3370 module_initialize.o : module_initialize.F
3371 module_initialize_b_wave.o : module_initialize_b_wave.F
3372 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3373 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3374 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3375 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3376 module_initialize_real.o : module_initialize_real.F
3377 module_dm.o : module_dm.F
3378 module_comm_dm.o : module_comm_dm.F
3379 start_domain.o : start_domain.F
3380 mediation_integrate.o : mediation_integrate.F
3381 module_configure.o : module_configure.F
3385 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3386 module_start.o module_initialize.o module_initialize_b_wave.o \
3387 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3388 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3389 module_configure.o \
3390 mediation_integrate.o \
3391 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3393 $(SED_FTN) $*.F > $*.b
3394 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
3396 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3397 #PGI if [ ! -e $@ ] ; then \
3398 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3400 #PGI if [ ! -e $@ ] ; then \
3401 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3403 #PGI if [ ! -e $@ ] ; then \
3404 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3407 ###########################################################
3408 #ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
3410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3411 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3415 FC = mpif90 -f90=pgf90
3416 LD = mpif90 -f90=pgf90
3420 RWORDSIZE = CONFIGURE_RWORDSIZE
3421 PROMOTION = -r$(RWORDSIZE) -i4
3422 CFLAGS = -DDM_PARALLEL \
3423 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
3425 FCOPTIM = -O2 # -fast
3427 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3428 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
3429 #Options for Debian Sarge systems
3430 #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
3431 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
3432 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
3433 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
3435 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
3436 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3438 ESMF_IO_LIB = ESMFIOLIB
3439 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3440 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3441 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3444 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
3445 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3446 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3447 CONFIGURE_GRIB2_LIB \
3448 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3449 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
3450 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3451 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
3452 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3453 CPP = /lib/cpp -C -P -traditional
3454 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3455 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3459 NETCDFPATH = CONFIGURE_NETCDF_PATH
3462 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
3464 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
3465 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
3466 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
3468 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
3469 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
3472 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3473 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3476 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3477 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3480 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3481 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3484 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3485 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)
3488 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3489 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
3492 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3493 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3496 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3497 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3499 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
3500 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
3502 # compile these without high optimization to speed compile
3503 solve_interface.o : solve_interface.F
3504 shift_domain_em.o : shift_domain_em.F
3505 module_io_mm5.o : module_io_mm5.F
3506 module_si_io.o : module_si_io.F
3507 module_io_wrf.o : module_io_wrf.F
3508 module_domain.o : module_domain.F
3509 module_start.o : module_start.F
3510 module_initialize.o : module_initialize.F
3511 module_initialize_b_wave.o : module_initialize_b_wave.F
3512 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3513 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3514 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3515 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3516 module_initialize_real.o : module_initialize_real.F
3517 module_dm.o : module_dm.F
3518 module_comm_dm.o : module_comm_dm.F
3519 start_domain.o : start_domain.F
3520 mediation_integrate.o : mediation_integrate.F
3521 module_configure.o : module_configure.F
3525 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3526 module_start.o module_initialize.o module_initialize_b_wave.o \
3527 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3528 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3529 module_configure.o \
3530 mediation_integrate.o \
3531 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3533 $(SED_FTN) $*.F > $*.b
3534 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
3536 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3537 #PGI if [ ! -e $@ ] ; then \
3538 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3540 #PGI if [ ! -e $@ ] ; then \
3541 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3543 #PGI if [ ! -e $@ ] ; then \
3544 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3547 ###########################################################
3548 #ARCH PC Linux x86_64 (IA64 and Opteron), gfortran compiler 4.3.0 or higher (single threaded)
3559 RWORDSIZE = $(NATIVE_RWORDSIZE)
3561 CFLAGS = -w -O3 -c -DLANDREAD_STUB
3563 FCBASEOPTS = -fconvert=big-endian -frecord-marker=4 -I. $(FCDEBUG) -ffree-form
3564 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3565 ARCHFLAGS = $(COREDEFS) \
3566 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3567 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3568 -DLIMIT_ARGS -DLANDREAD_STUB
3569 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3571 ESMF_IO_LIB = ESMFIOLIB
3572 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3573 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3574 -I../external -I../frame -I../share -I../phys -I../inc
3577 LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \
3578 -L../external/fftpack/fftpack5 -lfftpack \
3579 -L../external/io_grib1 -lio_grib1 \
3580 CONFIGURE_GRIB2_LIB \
3581 -L../external/io_grib_share -lio_grib_share \
3582 -L../external/io_int -lwrfio_int \
3583 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
3585 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3586 CPP = /lib/cpp -C -P -traditional
3587 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3588 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3592 NETCDFPATH = CONFIGURE_NETCDF_PATH
3594 externals : wrfio_nf wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 esmf_time fftpack
3597 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3600 ( cd ../external/io_netcdf ; \
3601 make NETCDFPATH=/home/michalak/netcdf CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
3602 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
3603 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
3604 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
3605 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
3608 ( cd ../external/io_int ; \
3609 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3610 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
3611 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
3612 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
3615 ( cd ../external/io_grib_share ; \
3616 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
3617 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
3620 ( cd ../external/io_grib1 ; \
3621 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3622 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3625 ( cd ../external/io_grib2 ; \
3626 make CC="$(CC) " CPP="$(CPP) " RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3627 FREE="-FR" FIXED="-FI" \
3628 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3631 ( cd ../external/esmf_time_f90 ; \
3632 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3635 ( cd ../external/fftpack/fftpack5 ; \
3636 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3638 # Compile these without high optimization and no interprocedural
3639 # optimizations to speed compile. Commenting them out may result
3640 # in longer compilation time, but might produce substantialy faster
3642 mediation_integrate.o : mediation_integrate.F
3643 mediation_interp_domain.o : mediation_interp_domain.F
3644 mediation_feedback_domain.o : mediation_feedback_domain.F
3645 wrf_auxinput1out.o : wrf_auxinput1out.F
3646 wrf_histout.o : wrf_histout.F
3647 wrf_restartout.o : wrf_restartout.F
3648 wrf_inputin.o : wrf_inputin.F
3649 wrf_auxinput1in.o : wrf_auxinput1in.F
3650 wrf_histin.o : wrf_histin.F
3651 wrf_restartin.o : wrf_restartin.F
3652 module_initialize_real.o: module_initialize_real.F
3653 solve_interface.o : solve_interface.F
3654 shift_domain_em.o : shift_domain_em.F
3655 module_io_wrf.o : module_io_wrf.F
3656 module_domain.o : module_domain.F
3657 start_domain.o : start_domain.F
3658 mediation_force_domain.o : mediation_force_domain.F
3659 module_configure.o : module_configure.F
3661 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
3662 module_configure.o \
3663 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
3664 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
3665 module_domain.o module_io_wrf.o start_domain.o solve_interface.o \
3667 mediation_force_domain.o:
3669 $(SED_FTN) $*.F > $*.b
3670 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3672 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
3674 # Force even lower optimization level for these files to decrease
3675 # compilation time and lower memory demands
3676 module_dm.o : module_dm.F
3677 solve_em.o : solve_em.F
3678 start_em.o : start_em.F
3684 $(SED_FTN) $*.F > $*.b
3685 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3687 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
3689 ###########################################################
3690 #ARCH PC Linux x86_64 (IA64 and Opteron), gfortran compiler 4.3.0 or higher (MPICH, RSL_LITE)
3692 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3693 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3700 FC = $(MPI_HOME)/bin/mpif90 -f90=gfortran
3702 CC = $(MPI_HOME)/bin/mpicc -cc=gcc
3706 RWORDSIZE = $(NATIVE_RWORDSIZE)
3708 CFLAGS = -w -O3 -c -DDM_PARALLEL -I../external/RSL_LITE -DLANDREAD_STUB
3710 FCBASEOPTS = -fconvert=big-endian -frecord-marker=4 -I. $(FCDEBUG) -ffree-form
3711 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3712 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL \
3713 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3714 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3715 -DLIMIT_ARGS -DLANDREAD_STUB
3716 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3718 ESMF_IO_LIB = ESMFIOLIB
3719 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3720 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3721 -I../external -I../frame -I../share -I../phys -I../inc
3724 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite $(OMP) \
3725 -L../external/fftpack/fftpack5 -lfftpack \
3726 -L../external/io_grib1 -lio_grib1 \
3727 CONFIGURE_GRIB2_LIB \
3728 -L../external/io_grib_share -lio_grib_share \
3729 -L../external/io_int -lwrfio_int \
3730 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
3732 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3733 CPP = /lib/cpp -C -P -traditional
3734 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3735 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3739 NETCDFPATH = CONFIGURE_NETCDF_PATH
3741 externals : wrfio_nf ../external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 esmf_time fftpack
3743 gen_comms.c : ../external/RSL_LITE/gen_comms.c
3744 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3745 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
3747 module_dm.F : ../external/RSL_LITE/module_dm.F
3748 ( /bin/cp module_dm_warning module_dm.F ; \
3749 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
3751 ../external/RSL_LITE/librsl_lite.a :
3752 ( cd ../external/RSL_LITE ; make CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
3753 FC='$(FC) $(FCFLAGS) -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
3756 ( cd ../external/io_netcdf ; \
3757 make NETCDFPATH=/home/michalak/netcdf CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
3758 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
3759 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
3760 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
3761 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
3764 ( cd ../external/io_int ; \
3765 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3766 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
3767 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
3768 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
3771 ( cd ../external/io_grib_share ; \
3772 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
3773 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
3776 ( cd ../external/io_grib1 ; \
3777 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3778 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3781 ( cd ../external/io_grib2 ; \
3782 make CC="$(CC) " CPP="$(CPP) " RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3783 FREE="-FR" FIXED="-FI" \
3784 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3787 ( cd ../external/esmf_time_f90 ; \
3788 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3791 ( cd ../external/fftpack/fftpack5 ; \
3792 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3794 # Compile these without high optimization and no interprocedural
3795 # optimizations to speed compile. Commenting them out may result
3796 # in longer compilation time, but might produce substantialy faster
3798 mediation_integrate.o : mediation_integrate.F
3799 mediation_interp_domain.o : mediation_interp_domain.F
3800 mediation_feedback_domain.o : mediation_feedback_domain.F
3801 wrf_auxinput1out.o : wrf_auxinput1out.F
3802 wrf_histout.o : wrf_histout.F
3803 wrf_restartout.o : wrf_restartout.F
3804 wrf_inputin.o : wrf_inputin.F
3805 wrf_auxinput1in.o : wrf_auxinput1in.F
3806 wrf_histin.o : wrf_histin.F
3807 wrf_restartin.o : wrf_restartin.F
3808 module_initialize_real.o: module_initialize_real.F
3809 solve_interface.o : solve_interface.F
3810 shift_domain_em.o : shift_domain_em.F
3811 module_io_wrf.o : module_io_wrf.F
3812 module_domain.o : module_domain.F
3813 start_domain.o : start_domain.F
3814 mediation_force_domain.o : mediation_force_domain.F
3815 module_configure.o : module_configure.F
3817 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
3818 module_configure.o \
3819 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
3820 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
3821 module_domain.o module_io_wrf.o start_domain.o solve_interface.o \
3823 mediation_force_domain.o:
3825 $(SED_FTN) $*.F > $*.b
3826 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3828 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
3830 # Force even lower optimization level for these files to decrease
3831 # compilation time and lower memory demands
3832 module_dm.o : module_dm.F
3833 solve_em.o : solve_em.F
3834 start_em.o : start_em.F
3840 $(SED_FTN) $*.F > $*.b
3841 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3843 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
3845 ############################################################
3847 # These sub-directory builds are identical across all architectures
3849 ( cd ../external/io_esmf ; \
3850 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " )
3854 # Macros, these should be generic for all machines
3860 # There is probably no reason to modify these rules
3862 wrf_ioapi_includes :
3863 ( cd ../external/ioapi_share ; \
3864 $(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" )
3868 $(CPP) -I../inc $(CPPFLAGS) $*.F > $@
3869 mv $*.i $(DEVTOP)/pick/$*.f90
3870 cp $*.F $(DEVTOP)/pick
3874 $(SED_FTN) $*.F > $*.b
3875 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3877 $(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90
3878 #PGI if [ ! -e $@ ] ; then \
3879 #PGI sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3881 #PGI if [ ! -e $@ ] ; then \
3882 #PGI sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3887 $(SED_FTN) $*.F > $*.b
3888 $(CPP) -I../inc $(CPPFLAGS) $*.b > $@
3893 $(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90
3894 #PGI if [ ! -e $@ ] ; then \
3895 #PGI sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3897 #PGI if [ ! -e $@ ] ; then \
3898 #PGI sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3903 $(CC) -o $@ -c $(CFLAGS) $*.c
3905 ###########################################################
3906 #ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, no nesting)
3907 # Note that for 5.1.x comment out -Mpia=fast
3914 RWORDSIZE = CONFIGURE_RWORDSIZE
3915 PROMOTION = -r$(RWORDSIZE) -i4
3916 CFLAGS = -DLANDREAD_STUB
3917 FCOPTIM = -fastsse #-Mipa=fast
3919 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3920 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
3921 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
3922 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3924 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3925 -DLIMIT_ARGS -DLANDREAD_STUB
3926 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3928 ESMF_IO_LIB = ESMFIOLIB
3929 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3930 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3931 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
3934 LIB = CONFIGURE_NETCDF_LIB_PATH \
3935 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3936 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3937 CONFIGURE_GRIB2_LIB \
3938 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3939 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3940 LDFLAGS = CONFIGURE_LDFLAGS
3941 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3942 CPP = /lib/cpp -C -P -traditional
3943 POUND_DEF = -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3944 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3948 NETCDFPATH = CONFIGURE_NETCDF_PATH
3951 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3954 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3957 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3958 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3961 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3962 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3965 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3966 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3969 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3970 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)
3973 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3974 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3975 TRADFLAG="-traditional" all )
3978 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3979 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3982 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3983 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3985 # compile these without high optimization to speed compile
3986 solve_interface.o : solve_interface.F
3987 shift_domain_em.o : shift_domain_em.F
3988 module_io_mm5.o : module_io_mm5.F
3989 module_si_io.o : module_si_io.F
3990 module_io_wrf.o : module_io_wrf.F
3991 module_domain.o : module_domain.F
3992 module_start.o : module_start.F
3993 module_initialize.o : module_initialize.F
3994 module_initialize_b_wave.o : module_initialize_b_wave.F
3995 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3996 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3997 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3998 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3999 module_initialize_real.o : module_initialize_real.F
4000 module_dm.o : module_dm.F
4001 module_comm_dm.o : module_comm_dm.F
4002 start_domain.o : start_domain.F
4003 mediation_integrate.o : mediation_integrate.F
4004 module_configure.o : module_configure.F
4008 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4009 module_start.o module_initialize.o module_initialize_b_wave.o \
4010 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4011 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4012 mediation_integrate.o \
4013 module_configure.o \
4014 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4016 $(SED_FTN) $*.F > $*.b
4017 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4019 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4021 ###########################################################
4022 #ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting)
4023 # Note that for 5.1.x comment out -Mpia=fast
4025 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4026 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4035 RWORDSIZE = CONFIGURE_RWORDSIZE
4036 PROMOTION = -r$(RWORDSIZE) -i4
4037 CFLAGS = -DDM_PARALLEL \
4038 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
4040 FCOPTIM = -fastsse #-Mipa=fast
4042 FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
4043 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
4044 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
4046 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
4047 -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST)
4048 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4050 ESMF_IO_LIB = ESMFIOLIB
4051 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4052 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4053 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4056 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4057 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4058 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4059 CONFIGURE_GRIB2_LIB \
4060 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4061 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4062 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
4063 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
4064 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4065 CPP = /lib/cpp -C -P -traditional
4066 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4067 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
4071 NETCDFPATH = CONFIGURE_NETCDF_PATH
4074 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4076 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4077 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4078 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4080 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4081 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4084 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4085 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4088 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4089 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4092 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4093 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4096 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4097 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)
4100 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4101 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
4104 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4105 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4108 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4109 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4111 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4112 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
4114 # compile these without high optimization to speed compile
4115 solve_interface.o : solve_interface.F
4116 shift_domain_em.o : shift_domain_em.F
4117 module_io_mm5.o : module_io_mm5.F
4118 module_si_io.o : module_si_io.F
4119 module_io_wrf.o : module_io_wrf.F
4120 module_domain.o : module_domain.F
4121 module_start.o : module_start.F
4122 module_initialize.o : module_initialize.F
4123 module_initialize_b_wave.o : module_initialize_b_wave.F
4124 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4125 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4126 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4127 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4128 module_initialize_real.o : module_initialize_real.F
4129 module_dm.o : module_dm.F
4130 module_comm_dm.o : module_comm_dm.F
4131 start_domain.o : start_domain.F
4132 mediation_integrate.o : mediation_integrate.F
4133 module_configure.o : module_configure.F
4137 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4138 module_start.o module_initialize.o module_initialize_b_wave.o \
4139 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4140 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4141 mediation_integrate.o \
4142 module_configure.o \
4143 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4145 $(SED_FTN) $*.F > $*.b
4146 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4148 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4150 ###########################################################
4151 #ARCH Intel Itanium2 ia64 madison Linux (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting )
4152 # Notes for running on PNNL cluster:
4154 # 1. source /home/oehmen/.mycshrc
4155 # 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh
4157 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4158 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4167 RWORDSIZE = CONFIGURE_RWORDSIZE
4168 PROMOTION = -r$(RWORDSIZE) -i4
4169 CFLAGS = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
4170 -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include
4173 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm
4174 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
4175 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
4176 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL \
4177 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
4179 -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
4180 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4182 ESMF_IO_LIB = ESMFIOLIB
4183 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4184 INCLUDE_MODULES = $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4185 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
4186 -I/usr/lib/mpi/mpi_intel/include
4189 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4190 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4191 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4192 CONFIGURE_GRIB2_LIB \
4193 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4194 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4195 -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
4196 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
4197 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4198 CPP = /lib/cpp -traditional -C -P -traditional
4199 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
4200 -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4201 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \
4202 -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -EP `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(POUND_DEF)
4206 NETCDFPATH = CONFIGURE_NETCDF_PATH
4209 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4211 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4212 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4213 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4216 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4217 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4219 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4220 ( /bin/cp module_dm_warning module_dm.F ; \
4221 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4224 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4225 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4228 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4229 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4232 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4233 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4236 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4237 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
4240 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4241 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4244 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4245 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4247 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4248 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='mpicc -w -I.' \
4249 FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4251 # compile these without high optimization to speed compile
4252 solve_interface.o : solve_interface.F
4253 shift_domain_em.o : shift_domain_em.F
4254 module_io_mm5.o : module_io_mm5.F
4255 module_si_io.o : module_si_io.F
4256 module_io_wrf.o : module_io_wrf.F
4257 module_domain.o : module_domain.F
4258 module_start.o : module_start.F
4259 module_initialize.o : module_initialize.F
4260 module_initialize_b_wave.o : module_initialize_b_wave.F
4261 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4262 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4263 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4264 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4265 module_initialize_real.o : module_initialize_real.F
4266 module_dm.o : module_dm.F
4267 module_comm_dm.o : module_comm_dm.F
4268 start_domain.o : start_domain.F
4269 module_configure.o : module_configure.F
4273 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4274 module_start.o module_initialize.o module_initialize_b_wave.o \
4275 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4276 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4277 module_configure.o \
4278 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4280 $(SED_FTN) $*.F > $*.b
4281 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4283 $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
4285 ###########################################################
4286 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows ARW and NMM nesting)
4288 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
4289 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
4291 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4292 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4295 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
4297 FC = efc -I.. -I/usr/local/vmi/mpich/include
4299 CC = ecc -I. -I/usr/local/vmi/mpich/include
4302 RWORDSIZE = CONFIGURE_RWORDSIZE
4303 PROMOTION = -r$(RWORDSIZE) -i4
4304 CFLAGS = -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
4305 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64
4308 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
4309 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
4310 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL \
4311 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
4313 -DGRIB1 CONFIGURE_GRIB2_FLAG
4314 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4316 ESMF_IO_LIB = ESMFIOLIB
4317 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4318 INCLUDE_MODULES = $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4319 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
4322 LIB = -Vaxlib -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4323 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4324 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4325 CONFIGURE_GRIB2_LIB \
4326 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4327 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4328 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
4329 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
4330 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4331 CPP = /lib/cpp -C -P -traditional
4332 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4333 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
4337 NETCDFPATH = CONFIGURE_NETCDF_PATH
4340 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4342 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4343 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4344 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4346 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4347 ( /bin/cp module_dm_warning module_dm.F ; \
4348 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4351 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4352 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS) -w" )
4355 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4356 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 )
4359 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4360 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)
4363 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4364 make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
4367 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4368 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)
4371 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4372 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4375 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4376 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4378 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4379 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \
4380 FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I$(WRF_SRC_ROOT_DIR)/.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4382 # compile these without high optimization to speed compile
4383 solve_interface.o : solve_interface.F
4384 shift_domain_em.o : shift_domain_em.F
4385 module_io_mm5.o : module_io_mm5.F
4386 module_si_io.o : module_si_io.F
4387 module_io_wrf.o : module_io_wrf.F
4388 module_domain.o : module_domain.F
4389 module_start.o : module_start.F
4390 module_initialize.o : module_initialize.F
4391 module_initialize_b_wave.o : module_initialize_b_wave.F
4392 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4393 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4394 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4395 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4396 module_initialize_real.o : module_initialize_real.F
4397 module_dm.o : module_dm.F
4398 module_comm_dm.o : module_comm_dm.F
4399 start_domain.o : start_domain.F
4400 module_configure.o : module_configure.F
4404 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4405 module_start.o module_initialize.o module_initialize_b_wave.o \
4406 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4407 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4408 module_configure.o \
4409 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4411 $(SED_FTN) $*.F > $*.b
4412 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4414 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4416 ###########################################################
4417 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting)
4425 RWORDSIZE = CONFIGURE_RWORDSIZE
4426 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4427 PROMOTION = -real_size $(RSIZEBITS)
4429 FCBASEOPTS = -w -FR -cm -I. -Vaxlib -convert big_endian -mp
4431 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4433 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4435 ESMF_IO_LIB = ESMFIOLIB
4436 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4437 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4438 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4439 ARCHFLAGS = $(COREDEFS) -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
4441 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
4443 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
4444 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4445 CPP = /lib/cpp -traditional
4446 POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
4447 -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4448 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4449 PERL = CONFIGURE_PERL_PATH
4451 LIB = CONFIGURE_NETCDF_LIB_PATH $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
4452 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4453 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4454 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4455 CONFIGURE_GRIB2_LIB \
4456 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
4460 NETCDFPATH = CONFIGURE_NETCDF_PATH
4463 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
4466 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4469 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4470 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
4473 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4474 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4475 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4478 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4479 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4482 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4483 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4486 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4487 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
4490 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4491 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4494 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4495 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4497 # compile these without high optimization to speed compile
4498 solve_interface.o : solve_interface.F
4499 shift_domain_em.o : shift_domain_em.F
4500 module_io_mm5.o : module_io_mm5.F
4501 module_si_io.o : module_si_io.F
4502 module_io_wrf.o : module_io_wrf.F
4503 module_domain.o : module_domain.F
4504 module_start.o : module_start.F
4505 module_initialize.o : module_initialize.F
4506 module_initialize_b_wave.o : module_initialize_b_wave.F
4507 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4508 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4509 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4510 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4511 module_initialize_real.o : module_initialize_real.F
4512 start_domain.o : start_domain.F
4513 wrf_bdyin.o : wrf_bdyin.F
4514 wrf_bdyout.o : wrf_bdyout.F
4515 wrf_histin.o : wrf_histin.F
4516 wrf_histout.o : wrf_histout.F
4517 wrf_inputin.o : wrf_inputin.F
4518 wrf_inputout.o : wrf_inputout.F
4519 wrf_restartin.o : wrf_restartin.F
4520 wrf_restartout.o : wrf_restartout.F
4522 wrf_bdyin.o wrf_bdyout.o \
4523 wrf_histin.o wrf_histout.o \
4524 wrf_inputin.o wrf_inputout.o \
4525 wrf_restartin.o wrf_restartout.o \
4528 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4529 module_start.o module_initialize.o module_initialize_b_wave.o \
4530 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4531 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4532 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4534 $(SED_FTN) $*.F > $*.b
4535 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4537 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
4539 module_dm.o : module_dm.F
4540 module_comm_dm.o : module_comm_dm.F
4541 module_configure.o : module_configure.F
4543 module_configure.o \
4544 module_dm.o module_comm_dm.o :
4546 $(SED_FTN) $*.F > $*.b
4547 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4549 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) -g -O0 $*.f90
4551 ###########################################################
4552 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP)
4554 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
4555 # has been identified to produce wrong results occationally.
4557 OMP = -openmp -fpp -auto
4564 RWORDSIZE = CONFIGURE_RWORDSIZE
4565 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4566 PROMOTION = -real_size $(RSIZEBITS)
4570 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
4571 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4572 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4574 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
4576 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4578 ESMF_IO_LIB = ESMFIOLIB
4579 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4580 INCLUDE_MODULES = -I $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4581 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4584 LIB = CONFIGURE_NETCDF_LIB_PATH \
4585 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4586 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4587 CONFIGURE_GRIB2_LIB \
4588 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4589 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
4590 LDFLAGS = $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
4591 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4592 CPP = /lib/cpp -traditional
4593 POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
4594 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4598 NETCDFPATH = CONFIGURE_NETCDF_PATH
4601 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
4604 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4607 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4608 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4611 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4612 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4613 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4616 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4617 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4620 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4621 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4624 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4625 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
4626 TRADFLAG="-traditional" all )
4629 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4630 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4633 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4634 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4636 # compile these without high optimization to speed compile
4637 solve_interface.o : solve_interface.F
4638 solve_em.o : solve_em.F
4639 shift_domain_em.o : shift_domain_em.F
4640 module_io_mm5.o : module_io_mm5.F
4641 module_si_io.o : module_si_io.F
4642 module_io_wrf.o : module_io_wrf.F
4643 module_domain.o : module_domain.F
4644 module_start.o : module_start.F
4645 module_initialize.o : module_initialize.F
4646 module_initialize_b_wave.o : module_initialize_b_wave.F
4647 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4648 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4649 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4650 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4651 module_initialize_real.o : module_initialize_real.F
4652 start_domain.o : start_domain.F
4653 mediation_integrate.o : mediation_integrate.F
4658 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4659 module_start.o module_initialize.o module_initialize_b_wave.o \
4660 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4661 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4662 mediation_integrate.o \
4663 module_initialize_real.o start_domain.o :
4665 $(SED_FTN) $*.F > $*.b
4666 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4668 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(OMP) $(MODULE_DIRS) $*.f90
4670 module_dm.o : module_dm.F
4671 module_comm_dm.o : module_comm_dm.F
4672 module_configure.o : module_configure.F
4674 module_configure.o \
4675 module_dm.o module_comm_dm.o :
4677 $(SED_FTN) $*.F > $*.b
4678 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4680 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
4682 ###########################################################
4683 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler DM-Parallel (RSL_LITE, MPICH)
4685 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
4686 # has been identified to produce wrong results occationally.
4687 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4688 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4693 FC = mpif90 -f90=ifort
4694 LD = mpif90 -f90=ifort
4698 RWORDSIZE = CONFIGURE_RWORDSIZE
4699 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4700 PROMOTION = -real_size $(RSIZEBITS)
4703 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
4704 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
4705 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
4706 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
4710 CFLAGS = -w -DDM_PARALLEL $(ARCHFLAGS) \
4711 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
4712 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4714 ESMF_IO_LIB = ESMFIOLIB
4715 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4716 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4717 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4720 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4721 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4722 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4723 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4724 CONFIGURE_GRIB2_LIB \
4725 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4726 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
4727 LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
4728 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4729 CPP = /lib/cpp -traditional
4730 POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
4731 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
4735 NETCDFPATH = CONFIGURE_NETCDF_PATH
4738 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4740 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4741 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4742 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4744 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4745 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4748 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4749 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4752 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4753 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4754 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4757 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4758 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4761 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4762 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4765 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4766 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
4769 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4770 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4773 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4774 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4776 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4777 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
4778 make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4780 # compile these without high optimization to speed compile
4781 solve_interface.o : solve_interface.F
4782 shift_domain_em.o : shift_domain_em.F
4783 module_io_mm5.o : module_io_mm5.F
4784 module_si_io.o : module_si_io.F
4785 module_io_wrf.o : module_io_wrf.F
4786 module_domain.o : module_domain.F
4787 module_start.o : module_start.F
4788 module_initialize.o : module_initialize.F
4789 module_initialize_b_wave.o : module_initialize_b_wave.F
4790 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4791 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4792 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4793 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4794 module_initialize_real.o : module_initialize_real.F
4795 start_domain.o : start_domain.F
4796 solve_em.o : solve_em.F
4797 start_em.o : start_em.F
4798 mediation_integrate.o : mediation_integrate.F
4802 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4803 module_start.o module_initialize.o module_initialize_b_wave.o \
4804 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4805 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4806 mediation_integrate.o \
4807 module_initialize_real.o start_domain.o solve_em.o start_em.o :
4809 $(SED_FTN) $*.F > $*.b
4810 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4812 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4814 module_dm.o : module_dm.F
4815 module_comm_dm.o : module_comm_dm.F
4816 module_configure.o : module_configure.F
4818 module_configure.o \
4819 module_dm.o module_comm_dm.o :
4821 $(SED_FTN) $*.F > $*.b
4822 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4824 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
4826 ###########################################################
4828 #ARCH NEC SUPER-UX SX-6 (serial)
4830 #***** some sx f90 compiler options***********
4831 # -V : version # of f90 command to stderr
4832 #-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
4833 #-Ep: activate cpp preprocessor to perfomr conditional compiling
4834 #****However, cpp also activated by using .F or .F90 suffixes...
4835 # -Wf: specifies option string of the f90/sx detailed options
4836 #-g: debug info generated in object file for dbx symbolic debugging
4837 # -ew : all numbers size=8bytes
4839 # -float0: default and only -float(number) option for sx6
4840 # -USX: unname the prev. defined reserved symbol SX of the preprocessor
4841 # -U overrides -D, so '-USX -D$(RUNTIMESYSTEM)' might be redundant
4842 # -p: object file in execution format corresp. to 'prof' command be generated
4843 # -f4: input source program is described in F90 standard free format
4844 # -w: only syntax diagnostic messages at the fatal level are output
4845 # -C: specifies compile mode
4846 # ssafe: only safe optimization in scalar mode (minimize side effects of
4847 # opt. no loop unrolling, etc
4848 # -init : init stack and heap areas
4849 # -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
4852 MPP_TARGET = $(RUNTIME_SYSTEM)
4858 NATIVE_RWORDSIZE = 8
4859 RWORDSIZE = CONFIGURE_RWORDSIZE
4860 ARCHFLAGS = $(COREDEFS) -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) $(DA_ARCHFLAGS)
4862 CFLAGS = $(ARCHFLAGS)
4864 FCFLAGS = -w -Ep -C ssafe \
4865 -sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I$(WRF_SRC_ROOT_DIR)/inc -f4
4866 # -Wf"-init stack=zero heap=zero"
4867 # -Wf"-L transform fmtlist summary stdout" -g
4869 FCBASEOPTS = $(FCFLAGS) -w
4871 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4873 ESMF_IO_LIB = ESMFIOLIB
4874 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4875 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int \
4876 -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
4879 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4880 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4881 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4882 CONFIGURE_GRIB2_LIB \
4883 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4884 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4885 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
4887 #-lmpi for 4byte storage, -lmpiw for 8 byte storage
4888 #LDOPTIONS = -lmpiw -ew
4890 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4891 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS)
4903 NETCDFPATH = /usr/local/netcdf/current
4905 ARCH_OBJS = milliclock.o
4906 ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
4907 FLIC_MACROS = LMvpp.m4 -B 14000
4911 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int esmf_time module_dm.F fftpack
4914 ( /sbin/cp module_dm_warning module_dm.F ; \
4915 cat module_dm_stubs.F >> module_dm.F )
4918 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4919 make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
4923 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4924 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all )
4927 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4928 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4931 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4932 make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4935 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4936 make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive)
4939 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ;\
4940 make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " )
4943 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4944 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4946 # compile these without high optimization to speed compile
4947 solve_interface.o : solve_interface.F
4948 shift_domain_em.o : shift_domain_em.F
4949 module_io_mm5.o : module_io_mm5.F
4950 module_si_io.o : module_si_io.F
4951 module_io_wrf.o : module_io_wrf.F
4952 module_domain.o : module_domain.F
4953 module_start.o : module_start.F
4954 module_initialize.o : module_initialize.F
4955 module_initialize_b_wave.o : module_initialize_b_wave.F
4956 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4957 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4958 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4959 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4960 module_initialize_real.o : module_initialize_real.F
4961 module_dm.o : module_dm.F
4962 module_comm_dm.o : module_comm_dm.F
4963 start_domain.o : start_domain.F
4964 module_configure.o : module_configure.F
4968 module_configure.o \
4969 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4970 module_start.o module_initialize.o module_initialize_b_wave.o \
4971 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4972 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4973 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4975 $(SED_FTN) $*.F > $*.b
4976 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4978 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
4980 ############################################################
4981 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, OpenMP, RSL_LITE, allows nesting)
4983 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4984 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4986 # By default, some files are compiled without optimizations to speed up compilation. Removing
4987 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
4988 # Out Of Memory messages, but might produce binaries which are substantially faster.
4990 # If you got Out Of Memory message, there are several options:
4991 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
4992 # 2. Remove any debugging flags (-g, -check, -traceback).
4993 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
4994 # -no-ip compiler flag.
4996 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
4997 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
4999 # Hybrid OpenMP+MPI configurations might be helpfull to improve scaling for multicore architecures
5000 # and reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5001 # performance improvements).
5003 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5004 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5005 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5007 # If you have Intel MPI installed and wish to use instead, make the
5008 # following changes to settings below:
5009 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5010 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5013 OMP = -openmp -fpp -auto
5015 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5024 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
5026 FCDEBUG = # -g -traceback
5027 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5029 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5030 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5031 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5032 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5035 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5037 ESMF_IO_LIB = ESMFIOLIB
5038 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5039 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5040 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5043 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5044 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5045 CONFIGURE_NETCDF_LIB_PATH \
5046 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5047 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5048 CONFIGURE_GRIB2_LIB \
5049 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5050 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5051 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5052 -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5053 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5054 CPP = /lib/cpp -C -P -traditional
5055 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5056 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5057 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5058 $(POUND_DEF) $(COREDEFS)
5062 NETCDFPATH = CONFIGURE_NETCDF_PATH
5064 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5066 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5067 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5068 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5070 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5071 ( /bin/cp module_dm_warning module_dm.F ; \
5072 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5074 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5075 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5076 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5079 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5080 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5081 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5082 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5083 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5084 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5087 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5088 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5089 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5090 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5091 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5094 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5095 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5096 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5099 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5100 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5101 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5104 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5105 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5106 FREE="-FR" FIXED="-FI" \
5107 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5110 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5111 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5114 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5115 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5117 # Compile these without high optimization and no interprocedural
5118 # optimizations to speed compile. Commenting them out may result
5119 # in longer compilation time, but might produce substantialy faster
5121 mediation_integrate.o : mediation_integrate.F
5122 mediation_interp_domain.o : mediation_interp_domain.F
5123 mediation_feedback_domain.o : mediation_feedback_domain.F
5124 wrf_auxinput1out.o : wrf_auxinput1out.F
5125 wrf_histout.o : wrf_histout.F
5126 wrf_restartout.o : wrf_restartout.F
5127 wrf_inputin.o : wrf_inputin.F
5128 wrf_auxinput1in.o : wrf_auxinput1in.F
5129 wrf_histin.o : wrf_histin.F
5130 wrf_restartin.o : wrf_restartin.F
5131 module_initialize_real.o: module_initialize_real.F
5132 solve_interface.o : solve_interface.F
5133 shift_domain_em.o : shift_domain_em.F
5134 module_io_wrf.o : module_io_wrf.F
5135 module_dm.o : module_dm.F
5136 module_domain.o : module_domain.F
5137 start_domain.o : start_domain.F
5138 mediation_force_domain.o : mediation_force_domain.F
5139 module_configure.o : module_configure.F
5141 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5142 module_configure.o \
5143 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5144 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5145 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5147 mediation_force_domain.o:
5149 $(SED_FTN) $*.F > $*.b
5150 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5152 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5154 ############################################################
5155 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, RSL_LITE, allows nesting)
5157 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5158 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5160 # By default, some files are compiled without optimizations to speed up compilation. Removing
5161 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5162 # Out Of Memory messages, but might produce binaries which are substantially faster.
5164 # If you got Out Of Memory message, there are several options:
5165 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5166 # 2. Remove any debugging flags (-g, -check, -traceback).
5167 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5168 # -no-ip compiler flag.
5170 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5171 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5173 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5174 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5175 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5177 # If you have Intel MPI installed and wish to use instead, make the
5178 # following changes to settings below:
5179 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5180 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5185 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5194 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
5196 FCDEBUG = # -g -traceback
5197 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5199 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5200 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5201 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5202 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5205 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5207 ESMF_IO_LIB = ESMFIOLIB
5208 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5209 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5210 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5213 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5214 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5215 CONFIGURE_NETCDF_LIB_PATH \
5216 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5217 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5218 CONFIGURE_GRIB2_LIB \
5219 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5220 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5221 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5222 -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5223 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5224 CPP = /lib/cpp -C -P -traditional
5225 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5226 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5227 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5228 $(POUND_DEF) $(COREDEFS)
5232 NETCDFPATH = CONFIGURE_NETCDF_PATH
5234 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5236 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5237 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5238 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5240 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5241 ( /bin/cp module_dm_warning module_dm.F ; \
5242 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5244 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5245 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5246 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5249 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5250 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5251 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5252 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5253 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5254 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5257 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5258 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5259 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5260 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5261 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5264 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5265 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5266 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5269 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5270 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5271 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5274 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5275 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5276 FREE="-FR" FIXED="-FI" \
5277 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5280 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5281 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5284 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5285 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5287 # Compile these without high optimization and no interprocedural
5288 # optimizations to speed compile. Commenting them out may result
5289 # in longer compilation time, but might produce substantialy faster
5291 mediation_integrate.o : mediation_integrate.F
5292 mediation_interp_domain.o : mediation_interp_domain.F
5293 mediation_feedback_domain.o : mediation_feedback_domain.F
5294 wrf_auxinput1out.o : wrf_auxinput1out.F
5295 wrf_histout.o : wrf_histout.F
5296 wrf_restartout.o : wrf_restartout.F
5297 wrf_inputin.o : wrf_inputin.F
5298 wrf_auxinput1in.o : wrf_auxinput1in.F
5299 wrf_histin.o : wrf_histin.F
5300 wrf_restartin.o : wrf_restartin.F
5301 module_initialize_real.o: module_initialize_real.F
5302 solve_interface.o : solve_interface.F
5303 shift_domain_em.o : shift_domain_em.F
5304 module_io_wrf.o : module_io_wrf.F
5305 module_dm.o : module_dm.F
5306 module_domain.o : module_domain.F
5307 start_domain.o : start_domain.F
5308 mediation_force_domain.o : mediation_force_domain.F
5309 module_configure.o : module_configure.F
5311 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5312 module_configure.o \
5313 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5314 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5315 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5317 mediation_force_domain.o:
5319 $(SED_FTN) $*.F > $*.b
5320 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5322 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5324 ############################################################
5325 #ARCH SGI Altix/Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
5327 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5328 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5330 # By default, some files are compiled without optimizations to speed up compilation. Removing
5331 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5332 # Out Of Memory messages, but might produce binaries which are substantially faster.
5334 # If you got Out Of Memory message, there are several options:
5335 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5336 # 2. Remove any debugging flags (-g, -check, -traceback).
5337 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5338 # -no-ip compiler flag.
5340 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5341 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5343 # Hybrid OpenMP+MPI configurations might be helpfull to improve scaling for multicore architecures
5344 # and reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5345 # performance improvements).
5347 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5348 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5349 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5351 # If you have Intel MPI installed and wish to use instead, make the
5352 # following changes to settings below:
5353 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5354 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5357 OMP = -openmp -fpp -auto
5359 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5368 CFLAGS = -w -O3 -ip -c -openmp
5370 FCDEBUG = # -g -traceback
5371 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5373 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5374 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5375 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
5376 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5379 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5381 ESMF_IO_LIB = ESMFIOLIB
5382 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5383 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5384 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5387 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5388 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5389 CONFIGURE_NETCDF_LIB_PATH \
5391 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5392 CONFIGURE_GRIB2_LIB \
5393 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5394 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5395 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5396 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5397 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5398 CPP = /lib/cpp -C -P -traditional
5399 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5400 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5401 -I$(INCLUDE) -C -P \
5402 $(POUND_DEF) $(COREDEFS)
5406 NETCDFPATH = CONFIGURE_NETCDF_PATH
5408 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5411 ( /bin/cp module_dm_warning module_dm.F ; \
5412 cat module_dm_stubs.F >> module_dm.F )
5415 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5416 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5417 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5418 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5419 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5420 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5423 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5424 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5425 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5426 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5427 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5430 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5431 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5432 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5435 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5436 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5437 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5440 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5441 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5442 FREE="-FR" FIXED="-FI" \
5443 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5446 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5447 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5450 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5451 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5453 # Compile these without high optimization and no interprocedural
5454 # optimizations to speed compile. Commenting them out may result
5455 # in longer compilation time, but might produce substantialy faster
5457 mediation_integrate.o : mediation_integrate.F
5458 mediation_interp_domain.o : mediation_interp_domain.F
5459 mediation_feedback_domain.o : mediation_feedback_domain.F
5460 wrf_auxinput1out.o : wrf_auxinput1out.F
5461 wrf_histout.o : wrf_histout.F
5462 wrf_restartout.o : wrf_restartout.F
5463 wrf_inputin.o : wrf_inputin.F
5464 wrf_auxinput1in.o : wrf_auxinput1in.F
5465 wrf_histin.o : wrf_histin.F
5466 wrf_restartin.o : wrf_restartin.F
5467 module_initialize_real.o: module_initialize_real.F
5468 solve_interface.o : solve_interface.F
5469 shift_domain_em.o : shift_domain_em.F
5470 module_io_wrf.o : module_io_wrf.F
5471 module_dm.o : module_dm.F
5472 module_domain.o : module_domain.F
5473 start_domain.o : start_domain.F
5474 mediation_force_domain.o : mediation_force_domain.F
5475 module_configure.o : module_configure.F
5477 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5478 module_configure.o \
5479 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5480 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5481 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5483 mediation_force_domain.o:
5485 $(SED_FTN) $*.F > $*.b
5486 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5488 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5490 ############################################################
5491 #ARCH SGI Altix/Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
5493 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5494 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5496 # By default, some files are compiled without optimizations to speed up compilation. Removing
5497 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5498 # Out Of Memory messages, but might produce binaries which are substantially faster.
5500 # If you got Out Of Memory message, there are several options:
5501 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5502 # 2. Remove any debugging flags (-g, -check, -traceback).
5503 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5504 # -no-ip compiler flag.
5506 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5507 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5509 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5510 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5511 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5513 # If you have Intel MPI installed and wish to use instead, make the
5514 # following changes to settings below:
5515 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5516 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5521 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5530 CFLAGS = -w -O3 -ip -c
5532 FCDEBUG = # -g -traceback
5533 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5535 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5536 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5537 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
5538 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5541 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5543 ESMF_IO_LIB = ESMFIOLIB
5544 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5545 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5546 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5549 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5550 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5551 CONFIGURE_NETCDF_LIB_PATH \
5553 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5554 CONFIGURE_GRIB2_LIB \
5555 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5556 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5557 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5558 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5559 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5560 CPP = /lib/cpp -C -P -traditional
5561 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5562 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5563 -I$(INCLUDE) -C -P \
5564 $(POUND_DEF) $(COREDEFS)
5568 NETCDFPATH = CONFIGURE_NETCDF_PATH
5570 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5573 ( /bin/cp module_dm_warning module_dm.F ; \
5574 cat module_dm_stubs.F >> module_dm.F )
5577 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5578 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5579 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5580 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5581 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5582 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5585 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5586 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5587 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5588 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5589 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5592 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5593 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5594 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5597 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5598 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5599 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5602 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5603 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5604 FREE="-FR" FIXED="-FI" \
5605 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5608 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5609 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5612 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5613 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5615 # Compile these without high optimization and no interprocedural
5616 # optimizations to speed compile. Commenting them out may result
5617 # in longer compilation time, but might produce substantialy faster
5619 mediation_integrate.o : mediation_integrate.F
5620 mediation_interp_domain.o : mediation_interp_domain.F
5621 mediation_feedback_domain.o : mediation_feedback_domain.F
5622 wrf_auxinput1out.o : wrf_auxinput1out.F
5623 wrf_histout.o : wrf_histout.F
5624 wrf_restartout.o : wrf_restartout.F
5625 wrf_inputin.o : wrf_inputin.F
5626 wrf_auxinput1in.o : wrf_auxinput1in.F
5627 wrf_histin.o : wrf_histin.F
5628 wrf_restartin.o : wrf_restartin.F
5629 module_initialize_real.o: module_initialize_real.F
5630 solve_interface.o : solve_interface.F
5631 shift_domain_em.o : shift_domain_em.F
5632 module_io_wrf.o : module_io_wrf.F
5633 module_dm.o : module_dm.F
5634 module_domain.o : module_domain.F
5635 start_domain.o : start_domain.F
5636 mediation_force_domain.o : mediation_force_domain.F
5637 module_configure.o : module_configure.F
5639 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5640 module_configure.o \
5641 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5642 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5643 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5645 mediation_force_domain.o:
5647 $(SED_FTN) $*.F > $*.b
5648 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5650 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5652 ############################################################
5653 #ARCH SGI Altix, Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, OpenMP, RSL_LITE, allows nesting)
5655 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5656 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5658 # By default, some files are compiled without optimizations to speed up compilation. Removing
5659 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5660 # Out Of Memory messages, but might produce binaries which are substantially faster.
5662 # If you got Out Of Memory message, there are several options:
5663 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5664 # 2. Remove any debugging flags (-g, -check, -traceback).
5665 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5666 # -no-ip compiler flag.
5668 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5669 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5671 # Hybrid OpenMP+MPI configurations might be helpfull to improve scaling for multicore architecures
5672 # and reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5673 # performance improvements).
5675 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5676 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5677 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5679 # If you have Intel MPI installed and wish to use instead, make the
5680 # following changes to settings below:
5681 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5682 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5685 OMP = -openmp -fpp -auto
5687 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5696 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
5698 FCDEBUG = # -g -traceback
5699 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5700 -fno-alias -mtune=itanium2-p9000 \
5701 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5702 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5703 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5704 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5707 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5709 ESMF_IO_LIB = ESMFIOLIB
5710 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5711 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5712 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5715 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5716 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5717 CONFIGURE_NETCDF_LIB_PATH \
5718 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5719 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5720 CONFIGURE_GRIB2_LIB \
5721 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5722 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5723 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5724 -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5725 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5726 CPP = /lib/cpp -C -P -traditional
5727 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5728 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5729 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5730 $(POUND_DEF) $(COREDEFS)
5734 NETCDFPATH = CONFIGURE_NETCDF_PATH
5736 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5738 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5739 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5740 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5742 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5743 ( /bin/cp module_dm_warning module_dm.F ; \
5744 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5746 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5747 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5748 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5751 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5752 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5753 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5754 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5755 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5756 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5759 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5760 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5761 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5762 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5763 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5766 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5767 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5768 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5771 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5772 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5773 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5776 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5777 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5778 FREE="-FR" FIXED="-FI" \
5779 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5782 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5783 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5786 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5787 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5789 # Compile these without high optimization and no interprocedural
5790 # optimizations to speed compile. Commenting them out may result
5791 # in longer compilation time, but might produce substantialy faster
5793 mediation_integrate.o : mediation_integrate.F
5794 mediation_interp_domain.o : mediation_interp_domain.F
5795 mediation_feedback_domain.o : mediation_feedback_domain.F
5796 wrf_auxinput1out.o : wrf_auxinput1out.F
5797 wrf_histout.o : wrf_histout.F
5798 wrf_restartout.o : wrf_restartout.F
5799 wrf_inputin.o : wrf_inputin.F
5800 wrf_auxinput1in.o : wrf_auxinput1in.F
5801 wrf_histin.o : wrf_histin.F
5802 wrf_restartin.o : wrf_restartin.F
5803 module_initialize_real.o: module_initialize_real.F
5804 solve_interface.o : solve_interface.F
5805 shift_domain_em.o : shift_domain_em.F
5806 module_io_wrf.o : module_io_wrf.F
5807 module_dm.o : module_dm.F
5808 module_domain.o : module_domain.F
5809 start_domain.o : start_domain.F
5810 mediation_force_domain.o : mediation_force_domain.F
5811 module_configure.o : module_configure.F
5813 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5814 module_configure.o \
5815 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5816 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5817 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5819 mediation_force_domain.o:
5821 $(SED_FTN) $*.F > $*.b
5822 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5824 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5826 # OpenMP workaround for solve_em.F
5827 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
5828 # You can check if you really need this workaround by building without the following rule
5829 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
5830 solve_em.o : solve_em.F
5832 $(SED_FTN) $*.F > $*.b
5833 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5835 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
5837 ############################################################
5838 #ARCH SGI Altix, Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, RSL_LITE, allows nesting)
5840 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5841 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5843 # By default, some files are compiled without optimizations to speed up compilation. Removing
5844 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5845 # Out Of Memory messages, but might produce binaries which are substantially faster.
5847 # If you got Out Of Memory message, there are several options:
5848 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5849 # 2. Remove any debugging flags (-g, -check, -traceback).
5850 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5851 # -no-ip compiler flag.
5853 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5854 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5856 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5857 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5858 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5860 # If you have Intel MPI installed and wish to use instead, make the
5861 # following changes to settings below:
5862 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
5863 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
5868 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5877 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
5879 FCDEBUG = # -g -traceback
5880 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
5881 -fno-alias -mtune=itanium2-p9000 \
5882 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5883 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5884 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5885 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5888 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5890 ESMF_IO_LIB = ESMFIOLIB
5891 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5892 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5893 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5896 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5897 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5898 CONFIGURE_NETCDF_LIB_PATH \
5899 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5900 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5901 CONFIGURE_GRIB2_LIB \
5902 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5903 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5904 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5905 -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5906 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5907 CPP = /lib/cpp -C -P -traditional
5908 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5909 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5910 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5911 $(POUND_DEF) $(COREDEFS)
5915 NETCDFPATH = CONFIGURE_NETCDF_PATH
5917 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5919 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5920 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5921 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5923 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5924 ( /bin/cp module_dm_warning module_dm.F ; \
5925 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5927 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5928 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5929 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5932 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5933 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5934 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5935 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5936 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5937 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5940 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5941 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5942 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5943 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5944 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5947 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5948 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5949 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5952 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5953 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5954 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5957 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5958 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5959 FREE="-FR" FIXED="-FI" \
5960 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5963 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5964 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5967 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5968 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5970 # Compile these without high optimization and no interprocedural
5971 # optimizations to speed compile. Commenting them out may result
5972 # in longer compilation time, but might produce substantialy faster
5974 mediation_integrate.o : mediation_integrate.F
5975 mediation_interp_domain.o : mediation_interp_domain.F
5976 mediation_feedback_domain.o : mediation_feedback_domain.F
5977 wrf_auxinput1out.o : wrf_auxinput1out.F
5978 wrf_histout.o : wrf_histout.F
5979 wrf_restartout.o : wrf_restartout.F
5980 wrf_inputin.o : wrf_inputin.F
5981 wrf_auxinput1in.o : wrf_auxinput1in.F
5982 wrf_histin.o : wrf_histin.F
5983 wrf_restartin.o : wrf_restartin.F
5984 module_initialize_real.o: module_initialize_real.F
5985 solve_interface.o : solve_interface.F
5986 shift_domain_em.o : shift_domain_em.F
5987 module_io_wrf.o : module_io_wrf.F
5988 module_dm.o : module_dm.F
5989 module_domain.o : module_domain.F
5990 start_domain.o : start_domain.F
5991 mediation_force_domain.o : mediation_force_domain.F
5992 module_configure.o : module_configure.F
5994 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5995 module_configure.o \
5996 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5997 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5998 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
6000 mediation_force_domain.o:
6002 $(SED_FTN) $*.F > $*.b
6003 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6005 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6007 ############################################################
6008 #ARCH SGI Altix/Generic Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
6010 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6011 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6013 # By default, some files are compiled without optimizations to speed up compilation. Removing
6014 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
6015 # Out Of Memory messages, but might produce binaries which are substantially faster.
6017 # If you got Out Of Memory message, there are several options:
6018 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
6019 # 2. Remove any debugging flags (-g, -check, -traceback).
6020 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
6021 # -no-ip compiler flag.
6023 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
6024 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
6026 # Hybrid OpenMP+MPI configurations might be helpfull to improve scaling for multicore architecures
6027 # and reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
6028 # performance improvements).
6030 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
6031 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
6032 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
6034 # If you have Intel MPI installed and wish to use instead, make the
6035 # following changes to settings below:
6036 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
6037 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
6040 OMP = -openmp -fpp -auto
6042 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
6051 CFLAGS = -w -O3 -ip -c -openmp
6053 FCDEBUG = # -g -traceback
6054 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
6055 -fno-alias -mtune=itanium2-p9000 \
6056 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
6057 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6058 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
6059 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
6062 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6064 ESMF_IO_LIB = ESMFIOLIB
6065 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6066 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6067 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
6070 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
6071 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6072 CONFIGURE_NETCDF_LIB_PATH \
6074 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6075 CONFIGURE_GRIB2_LIB \
6076 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6077 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6078 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6079 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6080 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
6081 CPP = /lib/cpp -C -P -traditional
6082 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6083 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
6084 -I$(INCLUDE) -C -P \
6085 $(POUND_DEF) $(COREDEFS)
6089 NETCDFPATH = CONFIGURE_NETCDF_PATH
6091 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
6094 ( /bin/cp module_dm_warning module_dm.F ; \
6095 cat module_dm_stubs.F >> module_dm.F )
6098 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6099 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
6100 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
6101 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
6102 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
6103 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
6106 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6107 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6108 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
6109 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
6110 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
6113 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6114 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6115 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
6118 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6119 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6120 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6123 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6124 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6125 FREE="-FR" FIXED="-FI" \
6126 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6129 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6130 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6133 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6134 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6136 # Compile these without high optimization and no interprocedural
6137 # optimizations to speed compile. Commenting them out may result
6138 # in longer compilation time, but might produce substantialy faster
6140 mediation_integrate.o : mediation_integrate.F
6141 mediation_interp_domain.o : mediation_interp_domain.F
6142 mediation_feedback_domain.o : mediation_feedback_domain.F
6143 wrf_auxinput1out.o : wrf_auxinput1out.F
6144 wrf_histout.o : wrf_histout.F
6145 wrf_restartout.o : wrf_restartout.F
6146 wrf_inputin.o : wrf_inputin.F
6147 wrf_auxinput1in.o : wrf_auxinput1in.F
6148 wrf_histin.o : wrf_histin.F
6149 wrf_restartin.o : wrf_restartin.F
6150 module_initialize_real.o: module_initialize_real.F
6151 solve_interface.o : solve_interface.F
6152 shift_domain_em.o : shift_domain_em.F
6153 module_io_wrf.o : module_io_wrf.F
6154 module_dm.o : module_dm.F
6155 module_domain.o : module_domain.F
6156 start_domain.o : start_domain.F
6157 mediation_force_domain.o : mediation_force_domain.F
6158 module_configure.o : module_configure.F
6160 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
6161 module_configure.o \
6162 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
6163 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
6164 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
6166 mediation_force_domain.o:
6168 $(SED_FTN) $*.F > $*.b
6169 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6171 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6173 # OpenMP workaround for solve_em.F
6174 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
6175 # You can check if you really need this workaround by building without the following rule
6176 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
6177 solve_em.o : solve_em.F
6179 $(SED_FTN) $*.F > $*.b
6180 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6182 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
6184 ############################################################
6185 #ARCH SGI Altix/Generic Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
6187 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6188 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6190 # By default, some files are compiled without optimizations to speed up compilation. Removing
6191 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
6192 # Out Of Memory messages, but might produce binaries which are substantially faster.
6194 # If you got Out Of Memory message, there are several options:
6195 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
6196 # 2. Remove any debugging flags (-g, -check, -traceback).
6197 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
6198 # -no-ip compiler flag.
6200 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
6201 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
6203 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
6204 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
6205 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
6207 # If you have Intel MPI installed and wish to use instead, make the
6208 # following changes to settings below:
6209 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
6210 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
6215 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
6224 CFLAGS = -w -O3 -ip -c
6226 FCDEBUG = # -g -traceback
6227 FCBASEOPTS = -ftz -align all -FR -convert big_endian \
6228 -fno-alias -mtune=itanium2-p9000 \
6229 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
6230 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6231 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
6232 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
6235 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6237 ESMF_IO_LIB = ESMFIOLIB
6238 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6239 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6240 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
6243 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
6244 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6245 CONFIGURE_NETCDF_LIB_PATH \
6247 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6248 CONFIGURE_GRIB2_LIB \
6249 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6250 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6251 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6252 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6253 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
6254 CPP = /lib/cpp -C -P -traditional
6255 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6256 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
6257 -I$(INCLUDE) -C -P \
6258 $(POUND_DEF) $(COREDEFS)
6262 NETCDFPATH = CONFIGURE_NETCDF_PATH
6264 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
6267 ( /bin/cp module_dm_warning module_dm.F ; \
6268 cat module_dm_stubs.F >> module_dm.F )
6271 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6272 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
6273 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
6274 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
6275 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
6276 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
6279 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6280 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6281 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
6282 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
6283 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
6286 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6287 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6288 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
6291 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6292 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6293 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6296 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6297 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6298 FREE="-FR" FIXED="-FI" \
6299 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6302 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6303 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6305 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6306 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6308 # Compile these without high optimization and no interprocedural
6309 # optimizations to speed compile. Commenting them out may result
6310 # in longer compilation time, but might produce substantialy faster
6312 mediation_integrate.o : mediation_integrate.F
6313 mediation_interp_domain.o : mediation_interp_domain.F
6314 mediation_feedback_domain.o : mediation_feedback_domain.F
6315 wrf_auxinput1out.o : wrf_auxinput1out.F
6316 wrf_histout.o : wrf_histout.F
6317 wrf_restartout.o : wrf_restartout.F
6318 wrf_inputin.o : wrf_inputin.F
6319 wrf_auxinput1in.o : wrf_auxinput1in.F
6320 wrf_histin.o : wrf_histin.F
6321 wrf_restartin.o : wrf_restartin.F
6322 module_initialize_real.o: module_initialize_real.F
6323 solve_interface.o : solve_interface.F
6324 shift_domain_em.o : shift_domain_em.F
6325 module_io_wrf.o : module_io_wrf.F
6326 module_dm.o : module_dm.F
6327 module_domain.o : module_domain.F
6328 start_domain.o : start_domain.F
6329 mediation_force_domain.o : mediation_force_domain.F
6330 module_configure.o : module_configure.F
6332 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
6333 module_configure.o \
6334 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
6335 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
6336 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
6338 mediation_force_domain.o:
6340 $(SED_FTN) $*.F > $*.b
6341 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6343 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6346 ###########################################################
6347 #ARCH UNICOS/mp machine crayx1 (RSL_LITE, MPI, MSP mode)
6349 # Cray X1 (RSL_LITE, MPI, MSP mode)
6350 # For CSD mode set numtiles=4 in &domains section
6351 # in namelist.input for best MSP efficiency.
6361 #### Override default sed command and script for Fortran source files ####
6362 #### This sed script converts !$OMP directives to !csd$ directives ####
6363 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/cray_csd.sed
6365 ## Use these for X1 cross compiler to build Registry
6366 ##X1_CROSS_COMP = "gcc"
6367 ##X1_CROSS_CFLG = ""
6368 ## Use these for X1 native (trigger) compiler
6369 X1_CROSS_COMP = "cc"
6370 X1_CROSS_CFLG = "-hcommand"
6371 CC_TOOLS = $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
6373 RWORDSIZE = CONFIGURE_RWORDSIZE
6375 FCBASEOPTS = -f free -N 255 -I. -x omp -dy
6376 FCFLAGS_LOWOPT = $(FCBASEOPTS) -O1
6377 FCFLAGS = $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
6378 #if using 64bit precision
6379 #PROMOTION = -sreal64 -dp -sinteger32
6380 CFLAGS = -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
6381 -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
6383 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6385 ESMF_IO_LIB = ESMFIOLIB
6386 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6387 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/inc \
6388 -p./ -p$(WRF_SRC_ROOT_DIR)/external/io_netcdf -p$(WRF_SRC_ROOT_DIR)/external/io_int -p$(WRF_SRC_ROOT_DIR)/frame \
6389 -p$(WRF_SRC_ROOT_DIR)/frame -p$(WRF_SRC_ROOT_DIR)/share -p$(WRF_SRC_ROOT_DIR)/phys -p$(WRF_SRC_ROOT_DIR)/chem \
6390 -p$(WRF_SRC_ROOT_DIR)/dyn_em -p $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
6391 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
6392 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
6394 -DLIMIT_ARGS -Dcrayx1
6399 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
6400 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6401 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
6402 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6403 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6404 CONFIGURE_GRIB2_LIB \
6405 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6406 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6407 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -lmalloc
6409 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6412 CPP = cpp -C -P -Dcrayx1
6413 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) #
6414 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6419 NETCDFPATH = CONFIGURE_NETCDF_PATH
6421 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
6423 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
6424 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
6426 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
6427 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
6430 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
6433 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6434 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
6437 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6438 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
6441 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6442 make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
6443 FC="$(FC) $(PROMOTION) -f free -N 255" archive )
6445 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6446 make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
6447 FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
6450 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6451 make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6454 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6455 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6457 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
6458 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" \
6459 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
6461 # compile these without high optimization
6462 module_io_mm5.o : module_io_mm5.F
6463 module_si_io.o : module_si_io.F
6464 module_domain.o : module_domain.F
6465 module_start.o : module_start.F
6466 module_initialize.o : module_initialize.F
6467 module_initialize_b_wave.o : module_initialize_b_wave.F
6468 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6469 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6470 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6471 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6472 module_initialize_real.o : module_initialize_real.F
6473 module_dm.o : module_dm.F
6474 module_comm_dm.o : module_comm_dm.F
6475 start_domain.o : start_domain.F
6476 mediation_interp_domain.o : mediation_interp_domain.F
6477 mediation_force_domain.o : mediation_force_domain.F
6478 convert_nmm.o : convert_nmm.F
6479 module_configure.o : module_configure.F
6480 solve_em.o : solve_em.F
6481 solve_interface.o : solve_interface.F
6482 wrf_restartout.o : wrf_restartout.F
6483 wrf_restartin.o : wrf_restartin.F
6484 input_wrf.o : input_wrf.F
6485 output_wrf.o : output_wrf.F
6487 module_io_mm5.o module_si_io.o module_domain.o \
6488 module_start.o module_initialize.o module_initialize_b_wave.o \
6489 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6490 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6491 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
6492 mediation_interp_domain.o \
6493 mediation_force_domain.o \
6494 module_configure.o solve_em.o \
6495 input_wrf.o output_wrf.o \
6496 solve_interface.o wrf_restartout.o wrf_restartin.o \
6499 $(SED_FTN) $*.F > $*.b
6500 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6502 $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS) $*.f90
6504 ###########################################################
6505 #ARCH HP-UX PA8600 32bit (single-threaded, no nesting)
6514 RWORDSIZE = CONFIGURE_RWORDSIZE
6515 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6517 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
6518 PROMOTION = -r$(RWORDSIZE) -i4
6519 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
6520 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
6521 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6523 FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
6524 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6525 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6527 ESMF_IO_LIB = ESMFIOLIB
6528 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6529 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6530 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6531 PERL = CONFIGURE_PERL_PATH
6533 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6534 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6535 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6536 CONFIGURE_GRIB2_LIB \
6537 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6538 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6539 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6540 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6542 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6543 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6547 NETCDFPATH = CONFIGURE_NETCDF_PATH
6550 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6553 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6556 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6557 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6560 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6561 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6564 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6565 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6568 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6569 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6570 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6572 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6573 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6574 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6577 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6578 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6581 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6582 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6584 # compile these without high optimization to speed compile
6585 solve_interface.o : solve_interface.F
6586 shift_domain_em.o : shift_domain_em.F
6587 module_io_mm5.o : module_io_mm5.F
6588 module_si_io.o : module_si_io.F
6589 module_io_wrf.o : module_io_wrf.F
6590 module_domain.o : module_domain.F
6591 module_start.o : module_start.F
6592 module_initialize.o : module_initialize.F
6593 module_initialize_b_wave.o : module_initialize_b_wave.F
6594 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6595 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6596 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6597 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6598 module_initialize_real.o : module_initialize_real.F
6599 module_dm.o : module_dm.F
6600 module_comm_dm.o : module_comm_dm.F
6601 mediation_integrate.o : mediation_integrate.F
6602 start_domain.o : start_domain.F
6603 module_configure.o : module_configure.F
6607 module_configure.o \
6608 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6609 module_start.o module_initialize.o module_initialize_b_wave.o \
6610 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6611 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6612 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6614 $(SED_FTN) $*.F > $*.b
6615 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6617 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6619 ###########################################################
6620 #ARCH HP-UX Itanium2 (single-threaded, no nesting)
6629 RWORDSIZE = CONFIGURE_RWORDSIZE
6630 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6632 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
6633 PROMOTION = -r$(RWORDSIZE) -i4
6634 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
6635 FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
6636 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6638 FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
6639 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6640 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6642 ESMF_IO_LIB = ESMFIOLIB
6643 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6644 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6645 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6646 PERL = CONFIGURE_PERL_PATH
6648 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6649 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6650 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6651 CONFIGURE_GRIB2_LIB \
6652 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6653 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6654 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6655 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6657 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6658 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6662 NETCDFPATH = CONFIGURE_NETCDF_PATH
6665 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6668 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6671 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6672 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6675 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6676 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6679 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6680 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6681 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6684 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6685 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6686 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6688 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6689 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6690 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6693 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6694 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6697 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6698 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6700 # compile these without high optimization to speed compile
6701 solve_interface.o : solve_interface.F
6702 shift_domain_em.o : shift_domain_em.F
6703 module_io_mm5.o : module_io_mm5.F
6704 module_si_io.o : module_si_io.F
6705 module_io_wrf.o : module_io_wrf.F
6706 module_domain.o : module_domain.F
6707 module_start.o : module_start.F
6708 module_initialize.o : module_initialize.F
6709 module_initialize_b_wave.o : module_initialize_b_wave.F
6710 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6711 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6712 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6713 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6714 module_initialize_real.o : module_initialize_real.F
6715 module_dm.o : module_dm.F
6716 module_comm_dm.o : module_comm_dm.F
6717 mediation_integrate.o : mediation_integrate.F
6718 start_domain.o : start_domain.F
6719 module_configure.o : module_configure.F
6723 module_configure.o \
6724 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6725 module_start.o module_initialize.o module_initialize_b_wave.o \
6726 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6727 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6728 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6730 $(SED_FTN) $*.F > $*.b
6731 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6733 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6735 ###########################################################
6736 #ARCH HP-UX PA8600 32bit (openmp, no nesting)
6745 RWORDSIZE = CONFIGURE_RWORDSIZE
6746 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6748 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
6749 PROMOTION = -r$(RWORDSIZE) -i4
6750 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
6751 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
6752 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6754 FCBASEOPTS = +U77 +source=free -I. +DS2.0a $(FCDEBUG)
6755 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6756 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6758 ESMF_IO_LIB = ESMFIOLIB
6759 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6760 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6761 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6762 PERL = CONFIGURE_PERL_PATH
6764 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6765 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6766 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6767 CONFIGURE_GRIB2_LIB \
6768 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6769 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6770 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6771 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6773 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6774 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6778 NETCDFPATH = CONFIGURE_NETCDF_PATH
6781 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6784 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6787 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6788 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6791 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6792 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6795 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6796 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6797 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6800 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6801 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6802 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6804 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6805 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6806 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6809 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6810 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6813 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6814 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6816 # compile these without high optimization to speed compile
6817 solve_interface.o : solve_interface.F
6818 shift_domain_em.o : shift_domain_em.F
6819 module_io_mm5.o : module_io_mm5.F
6820 module_si_io.o : module_si_io.F
6821 module_io_wrf.o : module_io_wrf.F
6822 module_domain.o : module_domain.F
6823 module_start.o : module_start.F
6824 module_initialize.o : module_initialize.F
6825 module_initialize_b_wave.o : module_initialize_b_wave.F
6826 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6827 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6828 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6829 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6830 module_initialize_real.o : module_initialize_real.F
6831 module_dm.o : module_dm.F
6832 module_comm_dm.o : module_comm_dm.F
6833 mediation_integrate.o : mediation_integrate.F
6834 start_domain.o : start_domain.F
6835 module_configure.o : module_configure.F
6839 module_configure.o \
6840 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6841 module_start.o module_initialize.o module_initialize_b_wave.o \
6842 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6843 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6844 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6846 $(SED_FTN) $*.F > $*.b
6847 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6849 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6851 ###########################################################
6852 #ARCH Darwin (single-threaded, xlf, no nesting)
6854 # Using -qfloat=nomaf option can result in identical results with
6855 # non-optimized and optimized results (suggested by Fovell of UCLA)
6856 # One may turn on by uncommenting it in FCOPTIM line
6864 RWORDSIZE = CONFIGURE_RWORDSIZE
6865 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
6866 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
6867 FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf
6868 FCDEBUG = # -qnoopt -qfullpath
6869 FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
6870 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
6871 FCSUFFIX = -qsuffix=f=f90
6872 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6874 ESMF_IO_LIB = ESMFIOLIB
6875 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6876 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6877 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6878 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
6880 CONFIGURE_NETCDF_FLAG \
6881 -DLIMIT_ARGS -DLANDREAD_STUB -DMAC_KLUDGE
6882 # -DLIMIT_ARGS -DNATIVE_MASSV -DMACOS
6883 PERL = CONFIGURE_PERL_PATH
6885 #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
6886 LIB = CONFIGURE_NETCDF_LIB_PATH \
6887 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6888 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6889 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6890 CONFIGURE_GRIB2_LIB \
6891 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6892 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6894 LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
6895 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6896 #CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
6897 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
6898 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6899 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6903 NETCDFPATH = CONFIGURE_NETCDF_PATH
6906 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6909 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6912 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
6915 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6916 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
6919 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6920 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
6923 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6924 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
6927 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6928 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)
6931 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6932 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6935 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6936 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6938 solve_interface.o : solve_interface.F
6940 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
6941 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
6943 # compile these without high optimization to speed compile
6944 shift_domain_em.o : shift_domain_em.F
6945 module_io_mm5.o : module_io_mm5.F
6946 module_si_io.o : module_si_io.F
6947 module_io_wrf.o : module_io_wrf.F
6948 module_domain.o : module_domain.F
6949 module_start.o : module_start.F
6950 module_initialize.o : module_initialize.F
6951 module_initialize_b_wave.o : module_initialize_b_wave.F
6952 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6953 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6954 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6955 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6956 module_initialize_real.o : module_initialize_real.F
6957 module_dm.o : module_dm.F
6958 module_comm_dm.o : module_comm_dm.F
6959 start_domain.o : start_domain.F
6960 solve_em.o : solve_em.F
6961 mediation_interp_domain.o : mediation_interp_domain.F
6962 mediation_force_domain.o : mediation_force_domain.F
6963 mediation_feedback_domain.o : mediation_feedback_domain.F
6964 convert_nmm.o : convert_nmm.F
6965 module_configure.o : module_configure.F
6967 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6968 module_start.o module_initialize.o module_initialize_b_wave.o \
6969 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6970 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6971 module_initialize_real.o module_dm.o module_comm_dm.o \
6973 mediation_interp_domain.o \
6974 module_configure.o \
6978 $(SED_FTN) $*.F > $*.b
6979 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6981 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
6983 ###########################################################
6984 #ARCH Darwin (OpenMP, xlf, no nesting)
6986 # Using -qfloat=nomaf option can result in identical results with
6987 # non-optimized and optimized results (suggested by Fovell of UCLA)
6988 # One may turn on by uncommenting it in FCOPTIM line
6997 RWORDSIZE = CONFIGURE_RWORDSIZE
6998 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
6999 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
7000 FCOPTIM = -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
7001 FCDEBUG = # -qnoopt -qfullpath
7002 FCBASEOPTS = -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
7003 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7004 FCSUFFIX = -qsuffix=f=f90
7005 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7007 ESMF_IO_LIB = ESMFIOLIB
7008 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7009 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7010 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
7011 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7013 CONFIGURE_NETCDF_FLAG \
7014 -DLIMIT_ARGS -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
7015 PERL = CONFIGURE_PERL_PATH
7017 LIB = CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
7018 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7019 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7020 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7021 CONFIGURE_GRIB2_LIB \
7022 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7023 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7024 LDFLAGS = $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
7025 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7026 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7027 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7028 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
7032 NETCDFPATH = CONFIGURE_NETCDF_PATH
7035 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7038 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7041 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
7044 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7045 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
7048 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7049 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
7052 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7053 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
7056 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7057 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)
7060 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7061 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7064 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7065 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7068 module_configure.o : module_configure.F
7069 module_domain.o : module_domain.F
7070 module_sm.o : module_sm.F
7071 module_tiles.o : module_tiles.F
7072 solve_em.o : solve_em.F
7073 solve_exp.o : solve_exp.F
7074 convert_nmm.o : convert_nmm.F
7076 module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
7078 $(SED_FTN) $*.F > $*.b
7079 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7081 $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
7085 $(SED_FTN) $*.F90 > $*.b
7086 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7088 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
7090 ###########################################################
7091 #ARCH Darwin (OpenMP, pgf90, no nesting)
7093 # Using -qfloat=nomaf option can result in identical results with
7094 # non-optimized and optimized results (suggested by Fovell of UCLA)
7095 # One may turn on by uncommenting it in FCOPTIM line
7104 RWORDSIZE = CONFIGURE_RWORDSIZE
7105 PROMOTION = -r$(RWORDSIZE) -i4
7107 FCOPTIM = -O2 # -fast
7109 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
7110 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
7111 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7112 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7114 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7116 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7118 ESMF_IO_LIB = ESMFIOLIB
7119 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7120 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7121 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7124 LIB = CONFIGURE_NETCDF_LIB_PATH \
7125 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7126 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7127 CONFIGURE_GRIB2_LIB \
7128 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7129 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7130 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7131 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7132 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7133 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7134 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7138 NETCDFPATH = CONFIGURE_NETCDF_PATH
7141 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7144 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7147 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7148 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7151 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7152 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7155 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7156 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7159 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7160 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 )
7163 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7164 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7165 TRADFLAG="-traditional" all )
7168 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7169 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7172 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7173 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7175 # compile these without high optimization to speed compile
7176 solve_interface.o : solve_interface.F
7177 shift_domain_em.o : shift_domain_em.F
7178 module_io_mm5.o : module_io_mm5.F
7179 module_si_io.o : module_si_io.F
7180 module_io_wrf.o : module_io_wrf.F
7181 module_domain.o : module_domain.F
7182 module_start.o : module_start.F
7183 module_initialize.o : module_initialize.F
7184 module_initialize_b_wave.o : module_initialize_b_wave.F
7185 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7186 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7187 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7188 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7189 module_initialize_real.o : module_initialize_real.F
7190 module_dm.o : module_dm.F
7191 module_comm_dm.o : module_comm_dm.F
7192 start_domain.o : start_domain.F
7193 mediation_integrate.o : mediation_integrate.F
7194 module_configure.o : module_configure.F
7198 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7199 module_start.o module_initialize.o module_initialize_b_wave.o \
7200 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7201 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7202 module_configure.o \
7203 mediation_integrate.o \
7204 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7206 $(SED_FTN) $*.F > $*.b
7207 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7209 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7211 ###########################################################
7212 #ARCH Darwin (ifort, single-threaded, no nesting)
7214 # Using -qfloat=nomaf option can result in identical results with
7215 # non-optimized and optimized results (suggested by Fovell of UCLA)
7216 # One may turn on by uncommenting it in FCOPTIM line
7225 RWORDSIZE = CONFIGURE_RWORDSIZE
7226 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7227 PROMOTION = -real_size $(RSIZEBITS)
7229 FCOPTIM = -O3 # -fast
7231 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7232 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7233 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7235 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7237 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7239 ESMF_IO_LIB = ESMFIOLIB
7240 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7241 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7242 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7245 LIB = CONFIGURE_NETCDF_LIB_PATH \
7246 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7247 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7248 CONFIGURE_GRIB2_LIB \
7249 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7250 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7251 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7252 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7253 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7254 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7255 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7259 NETCDFPATH = CONFIGURE_NETCDF_PATH
7262 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7265 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7268 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7269 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7272 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7273 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7276 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7277 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7280 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7281 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 )
7284 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7285 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7286 TRADFLAG="-traditional" all )
7289 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7290 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7293 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7294 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7296 # compile these without high optimization to speed compile
7297 solve_interface.o : solve_interface.F
7298 shift_domain_em.o : shift_domain_em.F
7299 module_io_mm5.o : module_io_mm5.F
7300 module_si_io.o : module_si_io.F
7301 module_io_wrf.o : module_io_wrf.F
7302 module_domain.o : module_domain.F
7303 module_start.o : module_start.F
7304 module_initialize.o : module_initialize.F
7305 module_initialize_b_wave.o : module_initialize_b_wave.F
7306 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7307 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7308 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7309 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7310 module_initialize_real.o : module_initialize_real.F
7311 module_dm.o : module_dm.F
7312 module_comm_dm.o : module_comm_dm.F
7313 start_domain.o : start_domain.F
7314 mediation_integrate.o : mediation_integrate.F
7315 module_configure.o : module_configure.F
7319 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7320 module_start.o module_initialize.o module_initialize_b_wave.o \
7321 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7322 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7323 module_configure.o \
7324 mediation_integrate.o \
7325 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7327 $(SED_FTN) $*.F > $*.b
7328 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7330 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7333 ###########################################################
7334 #ARCH Darwin (ifort, single-threaded, nesting, RSL_LITE w/o MPI)
7336 # Using -qfloat=nomaf option can result in identical results with
7337 # non-optimized and optimized results (suggested by Fovell of UCLA)
7338 # One may turn on by uncommenting it in FCOPTIM line
7347 RWORDSIZE = CONFIGURE_RWORDSIZE
7348 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7349 PROMOTION = -real_size $(RSIZEBITS)
7350 CFLAGS = -DMACOS -DSTUBMPI
7351 FCOPTIM = -O3 # -fast
7353 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp -DSTUBMPI
7354 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7355 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7357 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7359 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7361 ESMF_IO_LIB = ESMFIOLIB
7362 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7363 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7364 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7367 LIB = CONFIGURE_NETCDF_LIB_PATH \
7368 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7369 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7370 CONFIGURE_GRIB2_LIB \
7371 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7372 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7373 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7374 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7375 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7376 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7377 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7381 NETCDFPATH = CONFIGURE_NETCDF_PATH
7384 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
7386 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
7387 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
7390 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7391 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7394 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7395 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7398 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7399 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7402 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7403 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 )
7406 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7407 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7408 TRADFLAG="-traditional" all )
7411 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7412 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7415 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7416 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7418 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
7419 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
7421 # compile these without high optimization to speed compile
7422 solve_interface.o : solve_interface.F
7423 shift_domain_em.o : shift_domain_em.F
7424 module_io_mm5.o : module_io_mm5.F
7425 module_si_io.o : module_si_io.F
7426 module_io_wrf.o : module_io_wrf.F
7427 module_domain.o : module_domain.F
7428 module_start.o : module_start.F
7429 module_initialize.o : module_initialize.F
7430 module_initialize_b_wave.o : module_initialize_b_wave.F
7431 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7432 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7433 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7434 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7435 module_initialize_real.o : module_initialize_real.F
7436 module_dm.o : module_dm.F
7437 module_comm_dm.o : module_comm_dm.F
7438 start_domain.o : start_domain.F
7439 mediation_integrate.o : mediation_integrate.F
7440 module_configure.o : module_configure.F
7444 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7445 module_start.o module_initialize.o module_initialize_b_wave.o \
7446 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7447 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7448 module_configure.o \
7449 mediation_integrate.o \
7450 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7452 $(SED_FTN) $*.F > $*.b
7453 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7455 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7457 ###########################################################
7458 #ARCH Darwin (OpenMP, ifort, no nesting)
7460 # Using -qfloat=nomaf option can result in identical results with
7461 # non-optimized and optimized results (suggested by Fovell of UCLA)
7462 # One may turn on by uncommenting it in FCOPTIM line
7464 OMP = -openmp -fpp -auto
7471 RWORDSIZE = CONFIGURE_RWORDSIZE
7472 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7473 PROMOTION = -real_size $(RSIZEBITS)
7475 FCOPTIM = -O3 # -fast
7477 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7478 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7479 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7481 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7483 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7485 ESMF_IO_LIB = ESMFIOLIB
7486 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7487 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7488 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7491 LIB = CONFIGURE_NETCDF_LIB_PATH \
7492 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7493 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7494 CONFIGURE_GRIB2_LIB \
7495 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7496 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7497 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7498 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7499 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7500 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7501 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7505 NETCDFPATH = CONFIGURE_NETCDF_PATH
7508 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7511 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7514 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7515 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7518 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7519 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7522 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7523 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7526 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7527 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 )
7530 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7531 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7532 TRADFLAG="-traditional" all )
7535 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7536 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7539 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7540 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7542 # compile these without high optimization to speed compile
7543 solve_interface.o : solve_interface.F
7544 shift_domain_em.o : shift_domain_em.F
7545 module_io_mm5.o : module_io_mm5.F
7546 module_si_io.o : module_si_io.F
7547 module_io_wrf.o : module_io_wrf.F
7548 module_domain.o : module_domain.F
7549 module_start.o : module_start.F
7550 module_initialize.o : module_initialize.F
7551 module_initialize_b_wave.o : module_initialize_b_wave.F
7552 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7553 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7554 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7555 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7556 module_initialize_real.o : module_initialize_real.F
7557 module_dm.o : module_dm.F
7558 module_comm_dm.o : module_comm_dm.F
7559 start_domain.o : start_domain.F
7560 mediation_integrate.o : mediation_integrate.F
7561 module_configure.o : module_configure.F
7565 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7566 module_start.o module_initialize.o module_initialize_b_wave.o \
7567 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7568 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7569 module_configure.o \
7570 mediation_integrate.o \
7571 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7573 $(SED_FTN) $*.F > $*.b
7574 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7576 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7578 ###########################################################
7579 #ARCH Darwin (RSL_LITE, pgf90, OpenMP, allows nesting)
7581 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7582 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7588 FC = mpif90 -f90=pgf90
7589 LD = mpif90 -f90=pgf90
7593 RWORDSIZE = CONFIGURE_RWORDSIZE
7594 PROMOTION = -r$(RWORDSIZE) -i4
7595 CFLAGS = -DDM_PARALLEL \
7596 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DMACOS
7598 FCOPTIM = -O2 # -fast
7600 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
7601 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
7602 #Options for Debian Sarge systems
7603 #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
7604 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7605 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL -DMACOS \
7606 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7608 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
7609 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7611 ESMF_IO_LIB = ESMFIOLIB
7612 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7613 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7614 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7617 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite $(OMP) \
7618 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7619 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7620 CONFIGURE_GRIB2_LIB \
7621 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7622 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7623 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7624 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
7625 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7626 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7627 POUND_DEF = $(OMPCPP) -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7628 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7632 NETCDFPATH = CONFIGURE_NETCDF_PATH
7635 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
7637 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
7638 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
7639 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
7641 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
7642 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
7645 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7646 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7649 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7650 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7653 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7654 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7657 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7658 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)
7661 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7662 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7665 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7666 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7669 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7670 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7672 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
7673 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
7675 # compile these without high optimization to speed compile
7676 solve_interface.o : solve_interface.F
7677 shift_domain_em.o : shift_domain_em.F
7678 module_io_mm5.o : module_io_mm5.F
7679 module_si_io.o : module_si_io.F
7680 module_io_wrf.o : module_io_wrf.F
7681 module_domain.o : module_domain.F
7682 module_start.o : module_start.F
7683 module_initialize.o : module_initialize.F
7684 module_initialize_b_wave.o : module_initialize_b_wave.F
7685 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7686 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7687 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7688 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7689 module_initialize_real.o : module_initialize_real.F
7690 module_dm.o : module_dm.F
7691 module_comm_dm.o : module_comm_dm.F
7692 start_domain.o : start_domain.F
7693 mediation_integrate.o : mediation_integrate.F
7694 module_configure.o : module_configure.F
7698 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7699 module_start.o module_initialize.o module_initialize_b_wave.o \
7700 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7701 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7702 module_configure.o \
7703 mediation_integrate.o \
7704 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7706 $(SED_FTN) $*.F > $*.b
7707 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
7709 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7711 #PGI if [ ! -e $@ ] ; then \
7712 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7714 #PGI if [ ! -e $@ ] ; then \
7715 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7717 #PGI if [ ! -e $@ ] ; then \
7718 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7721 ###########################################################
7722 #ARCH Darwin (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs)
7724 # Using -qfloat=nomaf option can result in identical results with
7725 # non-optimized and optimized results (suggested by Fovell of UCLA)
7726 # One may turn on by uncommenting it in FCOPTIM line
7734 RWORDSIZE = CONFIGURE_RWORDSIZE
7735 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
7736 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
7737 FCOPTIM = -O3 -qarch=auto #-qfloat=nomaf
7738 FCDEBUG = # -qnoopt -qfullpath
7739 FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
7740 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7741 FCSUFFIX = -qsuffix=f=f90
7742 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7744 ESMF_IO_LIB = ESMFIOLIB
7745 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7746 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7747 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
7748 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7750 CONFIGURE_NETCDF_FLAG \
7751 -DLIMIT_ARGS -DLANDREAD_STUB -DMAC_KLUDGE
7752 # -DLIMIT_ARGS -DNATIVE_MASSV -DMACOS
7753 PERL = CONFIGURE_PERL_PATH
7755 #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
7756 LIB = CONFIGURE_NETCDF_LIB_PATH \
7757 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7758 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7759 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7760 CONFIGURE_GRIB2_LIB \
7761 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7762 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7764 LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs
7765 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7766 CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
7767 #CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
7768 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7769 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
7773 NETCDFPATH = CONFIGURE_NETCDF_PATH
7776 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7779 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7782 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
7785 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7786 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
7789 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7790 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
7793 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7794 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
7797 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7798 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)
7801 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7802 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7805 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7806 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7808 solve_interface.o : solve_interface.F
7810 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
7811 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
7813 # compile these without high optimization to speed compile
7814 shift_domain_em.o : shift_domain_em.F
7815 module_io_mm5.o : module_io_mm5.F
7816 module_si_io.o : module_si_io.F
7817 module_io_wrf.o : module_io_wrf.F
7818 module_domain.o : module_domain.F
7819 module_start.o : module_start.F
7820 module_initialize.o : module_initialize.F
7821 module_initialize_b_wave.o : module_initialize_b_wave.F
7822 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7823 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7824 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7825 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7826 module_initialize_real.o : module_initialize_real.F
7827 module_dm.o : module_dm.F
7828 module_comm_dm.o : module_comm_dm.F
7829 start_domain.o : start_domain.F
7830 solve_em.o : solve_em.F
7831 mediation_interp_domain.o : mediation_interp_domain.F
7832 mediation_force_domain.o : mediation_force_domain.F
7833 mediation_feedback_domain.o : mediation_feedback_domain.F
7834 convert_nmm.o : convert_nmm.F
7835 module_configure.o : module_configure.F
7837 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7838 module_start.o module_initialize.o module_initialize_b_wave.o \
7839 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7840 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7841 module_initialize_real.o module_dm.o module_comm_dm.o \
7843 mediation_interp_domain.o \
7844 module_configure.o \
7848 $(SED_FTN) $*.F > $*.b
7849 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
7851 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
7853 ###########################################################
7854 #ARCH Darwin g95 (Single-threaded, no nesting)
7858 CC = gcc -DMACOS -DF2CSTYLE
7860 RWORDSIZE = CONFIGURE_RWORDSIZE
7862 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
7863 #PROMOTION = -r$(RWORDSIZE) -i4
7866 FCOPTIM = -O2 # -fast
7868 FCBASEOPTS = -Wno=101,139,155,158 -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
7869 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7870 ARCHFLAGS = -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7872 -DNETCDF -DGRIB1 -DLIMIT_ARGS -DG95 -DMACOS -DF2CSTYLE
7873 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7875 ESMF_IO_LIB = ESMFIOLIB
7876 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7877 INCLUDE_MODULES = -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7878 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7881 LIB = CONFIGURE_NETCDF_LIB_PATH \
7882 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7883 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7884 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7885 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
7886 LDFLAGS = $(FCFLAGS)
7889 CPP = /usr/bin/cpp -C -P -traditional
7890 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7891 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7895 NETCDFPATH = CONFIGURE_NETCDF_PATH
7898 #### Override default sed command and script for Fortran source files ####
7899 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
7900 #### because the Fortran compiler complains about long source lines. ####
7901 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
7903 externals : wrf_ioapi_includes wrfio_nf wrfio_grib_share wrfio_grib1 wrfio_int module_dm.F esmf_time fftpack
7906 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7909 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7910 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7913 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7914 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7917 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7918 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7921 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7922 make CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
7925 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7926 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7927 TRADFLAG="-traditional" all )
7930 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7931 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7934 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7935 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7937 # compile these without high optimization to speed compile
7938 solve_interface.o : solve_interface.F
7939 shift_domain_em.o : shift_domain_em.F
7940 module_io_mm5.o : module_io_mm5.F
7941 module_si_io.o : module_si_io.F
7942 module_io_wrf.o : module_io_wrf.F
7943 module_domain.o : module_domain.F
7944 module_start.o : module_start.F
7945 module_initialize.o : module_initialize.F
7946 module_initialize_b_wave.o : module_initialize_b_wave.F
7947 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7948 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7949 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7950 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7951 module_initialize_real.o : module_initialize_real.F
7952 module_dm.o : module_dm.F
7953 module_comm_dm.o : module_comm_dm.F
7954 start_domain.o : start_domain.F
7955 mediation_integrate.o : mediation_integrate.F
7956 module_configure.o : module_configure.F
7960 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7961 module_start.o module_initialize.o module_initialize_b_wave.o \
7962 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7963 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7964 mediation_integrate.o \
7965 module_configure.o \
7966 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7968 $(SED_FTN) $*.F > $*.b
7969 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
7971 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7973 ###########################################################
7974 #ARCH Darwin g95 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
7976 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7977 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7981 FC = mpif90 -f90=g95
7982 LD = mpif90 -f90=g95
7983 CC = mpicc -cc=gcc -DMACOS -DF2CSTYLE
7984 SCC = gcc -DMACOS -DF2CSTYLE
7986 RWORDSIZE = CONFIGURE_RWORDSIZE
7987 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
7988 #PROMOTION = -r$(RWORDSIZE) -i4
7990 CFLAGS = -DDM_PARALLEL \
7991 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
7992 FCOPTIM = -O2 # -fast
7994 FCBASEOPTS = -Wno=101,139,155,158 -ffree-line-length-huge -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
7995 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7996 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
7997 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7999 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95 -DMACOS -DF2CSTYLE
8000 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8002 ESMF_IO_LIB = ESMFIOLIB
8003 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8004 INCLUDE_MODULES = -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8005 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8008 LIB = CONFIGURE_NETCDF_LIB_PATH \
8009 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8010 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8011 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8012 CONFIGURE_GRIB2_LIB \
8013 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8014 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8015 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8016 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
8017 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8018 CPP = /usr/bin/cpp -C -P -traditional
8019 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8020 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8024 NETCDFPATH = CONFIGURE_NETCDF_PATH
8027 #### Override default sed command and script for Fortran source files ####
8028 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8029 #### because the Fortran compiler complains about long source lines. ####
8030 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8032 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8034 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8035 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8036 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8038 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8039 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8042 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8043 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8046 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8047 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8050 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8051 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8054 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8055 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive)
8058 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8059 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8062 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8063 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8066 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8067 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8069 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8070 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8072 # compile these without high optimization to speed compile
8073 solve_interface.o : solve_interface.F
8074 shift_domain_em.o : shift_domain_em.F
8075 module_io_mm5.o : module_io_mm5.F
8076 module_si_io.o : module_si_io.F
8077 module_io_wrf.o : module_io_wrf.F
8078 module_domain.o : module_domain.F
8079 module_start.o : module_start.F
8080 module_initialize.o : module_initialize.F
8081 module_initialize_b_wave.o : module_initialize_b_wave.F
8082 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8083 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8084 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8085 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8086 module_initialize_real.o : module_initialize_real.F
8087 module_dm.o : module_dm.F
8088 module_comm_dm.o : module_comm_dm.F
8089 start_domain.o : start_domain.F
8090 mediation_integrate.o : mediation_integrate.F
8091 module_configure.o : module_configure.F
8095 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8096 module_start.o module_initialize.o module_initialize_b_wave.o \
8097 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8098 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8099 module_configure.o \
8100 mediation_integrate.o \
8101 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8103 $(SED_FTN) $*.F > $*.b
8104 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8106 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8108 ###########################################################
8109 #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting)
8116 RWORDSIZE = CONFIGURE_RWORDSIZE
8118 PROMOTION = -r$(RWORDSIZE) -i4
8120 FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
8122 FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs
8123 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8124 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8126 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8128 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8130 ESMF_IO_LIB = ESMFIOLIB
8131 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8132 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8133 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8136 LIB = CONFIGURE_NETCDF_LIB_PATH \
8137 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8138 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8139 CONFIGURE_GRIB2_LIB \
8140 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8141 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8142 LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
8143 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8144 CPP = /lib/cpp -C -P -traditional
8145 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8146 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8150 NETCDFPATH = CONFIGURE_NETCDF_PATH
8153 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8156 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8159 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8160 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w -fno-second-underscore" TRADFLAG="-traditional" )
8163 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8164 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
8167 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8168 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8171 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8172 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8175 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8176 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8177 TRADFLAG="-traditional" all )
8180 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8181 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8184 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8185 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8187 # compile these without high optimization to speed compile
8188 solve_interface.o : solve_interface.F
8189 shift_domain_em.o : shift_domain_em.F
8190 module_io_mm5.o : module_io_mm5.F
8191 module_si_io.o : module_si_io.F
8192 module_io_wrf.o : module_io_wrf.F
8193 module_domain.o : module_domain.F
8194 module_start.o : module_start.F
8195 module_initialize.o : module_initialize.F
8196 module_initialize_b_wave.o : module_initialize_b_wave.F
8197 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8198 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8199 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8200 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8201 module_initialize_real.o : module_initialize_real.F
8202 module_dm.o : module_dm.F
8203 module_comm_dm.o : module_comm_dm.F
8204 start_domain.o : start_domain.F
8205 mediation_integrate.o : mediation_integrate.F
8206 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
8207 module_configure.o : module_configure.F
8211 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8212 module_start.o module_initialize.o module_initialize_b_wave.o \
8213 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8214 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8215 mediation_integrate.o \
8216 module_configure.o \
8217 module_fddaobs_rtfdda.o \
8218 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8220 $(SED_FTN) $*.F > $*.b
8221 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8223 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8225 ###########################################################
8226 #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel (RSL_LITE, PathScale MPICH, No periodic LBCs)
8230 FC = mpif90 -f90=pathf90
8231 LD = mpif90 -f90=pathf90
8232 CC = mpicc -cc=pathcc
8236 RWORDSIZE = CONFIGURE_RWORDSIZE
8237 CFLAGS = -DDM_PARALLEL \
8238 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8239 FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
8241 FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG)
8242 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8243 ARCHFLAGS = $(COREDEFS) -DINTIO -DDM_PARALLEL \
8244 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8247 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8249 ESMF_IO_LIB = ESMFIOLIB
8250 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8251 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8252 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
8256 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8257 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8258 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8259 CONFIGURE_GRIB2_LIB \
8260 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8261 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8262 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8263 LDFLAGS = -byteswapio
8264 CPP = /lib/cpp -C -P -traditional
8265 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8266 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(POUND_DEF)
8270 NETCDFPATH = CONFIGURE_NETCDF_PATH
8273 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8275 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8276 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8277 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8279 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8280 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8283 # ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make flags_only ; \
8284 # /bin/cp wrf_io_flags.h wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
8285 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 )
8288 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8289 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \
8290 FFLAGS='$(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) )
8293 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8294 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
8297 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8298 make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive )
8301 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8302 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive )
8305 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8306 make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all )
8309 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8310 make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8313 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8314 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8316 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8317 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8319 # compile these without high optimization to speed compile
8320 solve_interface.o : solve_interface.F
8321 module_io_mm5.o : module_io_mm5.F
8322 module_si_io.o : module_si_io.F
8323 module_io_wrf.o : module_io_wrf.F
8324 module_domain.o : module_domain.F
8325 module_start.o : module_start.F
8326 module_initialize.o : module_initialize.F
8327 module_initialize_b_wave.o : module_initialize_b_wave.F
8328 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8329 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8330 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8331 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8332 module_initialize_real.o : module_initialize_real.F
8333 module_dm.o : module_dm.F
8334 module_comm_dm.o : module_comm_dm.F
8335 start_domain.o : start_domain.F
8336 mediation_integrate.o : mediation_integrate.F
8337 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
8338 module_configure.o : module_configure.F
8341 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8342 module_start.o module_initialize.o module_initialize_b_wave.o \
8343 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8344 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8345 mediation_integrate.o \
8346 module_configure.o \
8347 module_fddaobs_rtfdda.o \
8348 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8350 $(SED_FTN) $*.F > $*.b
8351 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8353 $(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8355 ###########################################################
8356 #ARCH Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting)
8357 # Note that for 5.1.x comment out -Mpia=fast
8359 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8360 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8366 CC = gcc -DMPI2_SUPPORT
8369 RWORDSIZE = CONFIGURE_RWORDSIZE
8370 PROMOTION = -r$(RWORDSIZE) -i4
8371 CFLAGS = -DDM_PARALLEL \
8372 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
8373 -DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include
8374 FCOPTIM = -O3 -fastsse #-Mipa=fast
8376 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
8377 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
8378 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8379 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
8380 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8382 -DLIMIT_ARGS -DLANDREAD_STUB -DXT3_Catamount
8383 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8385 ESMF_IO_LIB = ESMFIOLIB
8386 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8387 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8388 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
8391 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8392 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8393 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8394 CONFIGURE_GRIB2_LIB \
8395 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8396 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8397 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
8398 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8399 # add this to LIB to use XT3 iobuf library after loading iobuf module, also requires
8400 # properly built netCDF library that includes iobuf
8401 # $(IOBUF_POST_LINK_OPTS)
8402 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
8403 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8404 CPP = /lib/cpp -C -P -traditional
8405 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8406 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8410 NETCDFPATH = CONFIGURE_NETCDF_PATH
8413 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8415 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8416 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8417 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8419 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8420 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8423 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8424 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8427 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8428 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8431 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8432 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8435 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8436 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)
8439 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8440 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8443 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8444 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8447 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8448 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8450 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8451 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8453 # compile these without high optimization to speed compile
8454 solve_interface.o : solve_interface.F
8455 shift_domain_em.o : shift_domain_em.F
8456 module_io_mm5.o : module_io_mm5.F
8457 module_si_io.o : module_si_io.F
8458 module_io_wrf.o : module_io_wrf.F
8459 module_domain.o : module_domain.F
8460 module_start.o : module_start.F
8461 module_initialize.o : module_initialize.F
8462 module_initialize_b_wave.o : module_initialize_b_wave.F
8463 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8464 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8465 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8466 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8467 module_initialize_real.o : module_initialize_real.F
8468 module_dm.o : module_dm.F
8469 module_comm_dm.o : module_comm_dm.F
8470 start_domain.o : start_domain.F
8471 solve_em.o : solve_em.F
8472 mediation_integrate.o : mediation_integrate.F
8473 module_configure.o : module_configure.F
8477 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8478 module_start.o module_initialize.o module_initialize_b_wave.o \
8479 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8480 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8481 mediation_integrate.o \
8483 module_configure.o \
8484 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8486 $(SED_FTN) $*.F > $*.b
8487 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8489 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8491 ###########################################################
8492 #ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
8494 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8495 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8504 RWORDSIZE = CONFIGURE_RWORDSIZE
8506 CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL \
8507 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8510 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
8511 FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG)
8512 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8513 ARCHFLAGS = $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
8514 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8517 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8519 ESMF_IO_LIB = ESMFIOLIB
8520 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8521 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8522 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8525 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8526 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8527 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8528 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8529 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
8530 LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
8531 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8532 CPP = /lib/cpp -C -P -traditional
8533 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8534 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
8539 NETCDFPATH = CONFIGURE_NETCDF_PATH
8542 #### Override default sed command and script for Fortran source files ####
8543 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8544 #### because the Fortran compiler complains about long source lines. ####
8545 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8547 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8549 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8550 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8551 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8553 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8554 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8557 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8558 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
8561 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8562 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
8565 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8566 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
8569 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8570 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)
8573 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8574 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
8577 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8578 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
8581 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8582 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8584 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8585 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
8587 # compile these without high optimization to speed compile
8588 solve_interface.o : solve_interface.F
8589 shift_domain_em.o : shift_domain_em.F
8590 module_io_mm5.o : module_io_mm5.F
8591 module_si_io.o : module_si_io.F
8592 module_io_wrf.o : module_io_wrf.F
8593 module_domain.o : module_domain.F
8594 module_start.o : module_start.F
8595 module_initialize.o : module_initialize.F
8596 module_initialize_b_wave.o : module_initialize_b_wave.F
8597 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8598 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8599 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8600 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8601 module_initialize_real.o : module_initialize_real.F
8602 module_dm.o : module_dm.F
8603 module_comm_dm.o : module_comm_dm.F
8604 start_domain.o : start_domain.F
8605 mediation_integrate.o : mediation_integrate.F
8606 module_configure.o : module_configure.F
8610 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8611 module_start.o module_initialize.o module_initialize_b_wave.o \
8612 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8613 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8614 module_configure.o \
8615 mediation_integrate.o \
8616 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8618 $(SED_FTN) $*.F > $*.b
8619 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8621 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8622 # if [ ! -e $@ ] ; then \
8623 # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8625 # if [ ! -e $@ ] ; then \
8626 # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8628 # if [ ! -e $@ ] ; then \
8629 # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8633 ###########################################################
8634 #ARCH CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler (Single-threaded, no nesting)
8640 RWORDSIZE = CONFIGURE_RWORDSIZE
8642 # g95 does not like -r8. if you want -r8, just add it to PROMOTION below
8643 #PROMOTION = -r$(RWORDSIZE) -i4
8648 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
8649 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8650 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8652 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8654 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8656 ESMF_IO_LIB = ESMFIOLIB
8657 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8658 INCLUDE_MODULES = -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8659 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8662 LIB = CONFIGURE_NETCDF_LIB_PATH \
8663 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8664 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8665 CONFIGURE_GRIB2_LIB \
8666 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8667 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8668 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
8669 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8670 CPP = cpp -C -P -traditional
8671 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8672 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8676 NETCDFPATH = CONFIGURE_NETCDF_PATH
8679 #### Override default sed command and script for Fortran source files ####
8680 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8681 #### because the Fortran compiler complains about long source lines. ####
8682 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8684 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8687 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8690 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8691 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8694 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8695 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8698 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8699 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8702 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8703 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
8707 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8708 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8709 TRADFLAG="-traditional" all )
8712 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8713 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8716 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8717 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8719 # compile these without high optimization to speed compile
8720 solve_interface.o : solve_interface.F
8721 shift_domain_em.o : shift_domain_em.F
8722 module_io_mm5.o : module_io_mm5.F
8723 module_si_io.o : module_si_io.F
8724 module_io_wrf.o : module_io_wrf.F
8725 module_domain.o : module_domain.F
8726 module_start.o : module_start.F
8727 module_initialize.o : module_initialize.F
8728 module_initialize_b_wave.o : module_initialize_b_wave.F
8729 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8730 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8731 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8732 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8733 module_initialize_real.o : module_initialize_real.F
8734 module_dm.o : module_dm.F
8735 module_comm_dm.o : module_comm_dm.F
8736 start_domain.o : start_domain.F
8737 mediation_integrate.o : mediation_integrate.F
8738 module_configure.o : module_configure.F
8742 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8743 module_start.o module_initialize.o module_initialize_b_wave.o \
8744 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8745 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8746 mediation_integrate.o \
8747 module_configure.o \
8748 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8750 $(SED_FTN) $*.F > $*.b
8751 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8753 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8755 ###########################################################
8756 #ARCH PC Linux i486 i586 i686, g95 compiler (Single-threaded, no nesting)
8762 RWORDSIZE = CONFIGURE_RWORDSIZE
8764 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
8765 #PROMOTION = -r$(RWORDSIZE) -i4
8768 FCOPTIM = -O2 # -fast
8770 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
8771 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8772 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8774 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8776 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8778 ESMF_IO_LIB = ESMFIOLIB
8779 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8780 INCLUDE_MODULES = -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8781 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8784 LIB = CONFIGURE_NETCDF_LIB_PATH \
8785 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8786 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8787 CONFIGURE_GRIB2_LIB \
8788 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8789 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8790 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
8791 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8792 CPP = /lib/cpp -C -P -traditional
8793 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8794 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8798 NETCDFPATH = CONFIGURE_NETCDF_PATH
8801 #### Override default sed command and script for Fortran source files ####
8802 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8803 #### because the Fortran compiler complains about long source lines. ####
8804 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8806 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8809 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8812 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8813 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8816 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8817 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8820 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8821 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8824 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8825 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
8828 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8829 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8830 TRADFLAG="-traditional" all )
8833 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8834 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8837 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8838 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8840 # compile these without high optimization to speed compile
8841 solve_interface.o : solve_interface.F
8842 shift_domain_em.o : shift_domain_em.F
8843 module_io_mm5.o : module_io_mm5.F
8844 module_si_io.o : module_si_io.F
8845 module_io_wrf.o : module_io_wrf.F
8846 module_domain.o : module_domain.F
8847 module_start.o : module_start.F
8848 module_initialize.o : module_initialize.F
8849 module_initialize_b_wave.o : module_initialize_b_wave.F
8850 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8851 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8852 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8853 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8854 module_initialize_real.o : module_initialize_real.F
8855 module_dm.o : module_dm.F
8856 module_comm_dm.o : module_comm_dm.F
8857 start_domain.o : start_domain.F
8858 mediation_integrate.o : mediation_integrate.F
8859 module_configure.o : module_configure.F
8863 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8864 module_start.o module_initialize.o module_initialize_b_wave.o \
8865 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8866 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8867 mediation_integrate.o \
8868 module_configure.o \
8869 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8871 $(SED_FTN) $*.F > $*.b
8872 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
8874 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8876 ###########################################################
8877 #ARCH PC Linux i486 i586 i686, g95 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
8879 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8880 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8884 FC = mpif90 -f90=g95
8885 LD = mpif90 -f90=g95
8889 RWORDSIZE = CONFIGURE_RWORDSIZE
8890 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
8891 #PROMOTION = -r$(RWORDSIZE) -i4
8893 CFLAGS = -DDM_PARALLEL \
8894 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8895 FCOPTIM = -O2 # -fast
8897 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
8898 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8899 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
8900 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8902 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95
8903 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8905 ESMF_IO_LIB = ESMFIOLIB
8906 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8907 INCLUDE_MODULES = -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8908 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8911 LIB = CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8912 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8913 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8914 CONFIGURE_GRIB2_LIB \
8915 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8916 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8917 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8918 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
8919 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8920 CPP = /lib/cpp -C -P -traditional
8921 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8922 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8926 NETCDFPATH = CONFIGURE_NETCDF_PATH
8929 #### Override default sed command and script for Fortran source files ####
8930 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8931 #### because the Fortran compiler complains about long source lines. ####
8932 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8934 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8936 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8937 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8938 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8940 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8941 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8944 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8945 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8948 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8949 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8952 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8953 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8956 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8957 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive)
8960 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8961 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8964 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8965 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8968 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8969 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8971 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8972 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8974 # compile these without high optimization to speed compile
8975 solve_interface.o : solve_interface.F
8976 shift_domain_em.o : shift_domain_em.F
8977 module_io_mm5.o : module_io_mm5.F
8978 module_si_io.o : module_si_io.F
8979 module_io_wrf.o : module_io_wrf.F
8980 module_domain.o : module_domain.F
8981 module_start.o : module_start.F
8982 module_initialize.o : module_initialize.F
8983 module_initialize_b_wave.o : module_initialize_b_wave.F
8984 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8985 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8986 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8987 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8988 module_initialize_real.o : module_initialize_real.F
8989 module_dm.o : module_dm.F
8990 module_comm_dm.o : module_comm_dm.F
8991 start_domain.o : start_domain.F
8992 mediation_integrate.o : mediation_integrate.F
8993 module_configure.o : module_configure.F
8997 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8998 module_start.o module_initialize.o module_initialize_b_wave.o \
8999 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9000 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9001 module_configure.o \
9002 mediation_integrate.o \
9003 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
9005 $(SED_FTN) $*.F > $*.b
9006 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9008 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9011 ###########################################################
9012 #ARCH PC Interix x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting)
9013 # Note that for 5.1.x comment out -Mpia=fast
9015 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9016 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9027 MPdir = /dev/fs/C/Program Files/Microsoft Compute Cluster Pack
9028 MPinc = -I'$(MPdir)'/Include
9029 MSMPdir = 'C:\Program Files\Microsoft Compute Cluster Pack'
9030 MSMPinc = /I'C:\Program Files\Microsoft Compute Cluster Pack\Include'
9031 MSMPlib = 'C:\Program Files\Microsoft Compute Cluster Pack\Lib\AMD64\msmpi.lib'
9033 RWORDSIZE = CONFIGURE_RWORDSIZE
9034 PROMOTION = -r$(RWORDSIZE) -i4
9036 CFLAGS = -DLANDREAD_STUB -DMEMCPY_FOR_BCOPY -DMS_SUA -DDM_PARALLEL \
9037 -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE $(MPinc) #-X /MD
9038 FCOPTIM = -fastsse #-Mipa=fast
9040 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
9041 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
9042 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(MPinc)
9044 ARCHFLAGS = $(COREDEFS) \
9046 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9049 -DNO_NAMELIST_PRINT \
9050 -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST) -DMEMCPY_FOR_BCOPY
9052 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9054 ESMF_IO_LIB = ESMFIOLIB
9055 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9056 INCLUDE_MODULES = -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9057 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
9061 LIB = CONFIGURE_NETCDF_LIB_PATH \
9062 $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
9063 $(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
9064 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9065 $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a \
9066 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a $(MSMPlib) \
9067 "c:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\AMD64\bufferoverflowu.lib"
9069 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
9070 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9071 CPP = /lib/cpp -C -P -traditional
9072 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9073 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(ENVCOMPDEFS) $(POUND_DEF)
9077 NETCDFPATH = CONFIGURE_NETCDF_PATH
9079 LIBWRFLIB = libwrflib.a
9081 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
9083 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9084 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9085 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9087 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9088 ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9091 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9092 make LIBS="libwrfio_nf.a 'CONFIGURE_NETCDF_PATH' 'c:\Program Files\Microsoft Platform SDK\Lib\AMD64\bufferoverflowu.lib'" \
9093 NETCDFPATH=CONFIGURE_NETCDF_PATH \
9094 RANLIB="$(RANLIB)" CPP="$(CPP) -DMS_SUA" \
9095 CPP1="$(CPP) -DMS_SUA" \
9096 FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
9105 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9106 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
9109 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9110 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9113 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9114 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9116 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9117 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
9118 /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h ; \
9119 make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9121 # compile these without high optimization to speed compile
9122 solve_interface.o : solve_interface.F
9123 shift_domain_em.o : shift_domain_em.F
9124 module_io_mm5.o : module_io_mm5.F
9125 module_si_io.o : module_si_io.F
9126 module_io_wrf.o : module_io_wrf.F
9127 module_domain.o : module_domain.F
9128 module_start.o : module_start.F
9129 module_initialize.o : module_initialize.F
9130 module_initialize_b_wave.o : module_initialize_b_wave.F
9131 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9132 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9133 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9134 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9135 module_initialize_real.o : module_initialize_real.F
9136 module_dm.o : module_dm.F
9137 module_comm_dm.o : module_comm_dm.F
9138 start_domain.o : start_domain.F
9139 mediation_integrate.o : mediation_integrate.F
9140 module_configure.o : module_configure.F
9144 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9145 module_start.o module_initialize.o module_initialize_b_wave.o \
9146 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9147 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9148 mediation_integrate.o \
9149 module_configure.o \
9150 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
9152 $(SED_FTN) $*.F > $*.b
9153 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9155 $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9157 module_io.o : module_io.F
9158 module_dm.o : module_dm.F
9160 module_io.o module_dm.o :
9162 $(SED_FTN) $*.F > $*.b
9163 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9165 /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h
9166 $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9168 ############################################################
9169 #ARCH Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9171 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9172 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9174 # By default, some files are compiled without optimizations to speed up compilation. Removing
9175 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9176 # Out Of Memory messages, but might produce binaries which are substantially faster.
9178 # If you got Out Of Memory message, there are several options:
9179 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9180 # 2. Remove any debugging flags (-g, -check, -traceback).
9181 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9182 # -no-ip compiler flag.
9184 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9185 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9186 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9187 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9188 # behavior of your workload.
9189 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9190 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9191 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9193 # If you have Intel MPI installed and wish to use instead, make the
9194 # following changes to settings below:
9195 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
9196 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
9199 OMP = -openmp -fpp -auto
9201 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9204 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
9206 CC = $(MPI_HOME)/bin/mpicc -cc=icc
9210 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9211 FCOPTIM = -O3 -unroll0
9212 FCDEBUG = # -O0 -g -traceback
9213 FCBASEOPTS = -align all -FR -convert big_endian \
9214 -fno-alias -fno-fnalias -tpp2 \
9215 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9216 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9217 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9218 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9221 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9223 ESMF_IO_LIB = ESMFIOLIB
9224 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9225 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9226 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9229 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9230 CONFIGURE_NETCDF_LIB_PATH \
9231 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9232 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9233 CONFIGURE_GRIB2_LIB \
9234 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9235 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9236 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9237 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9238 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9239 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9240 CPP = /lib/cpp -C -P -traditional
9241 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9242 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9243 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9244 $(POUND_DEF) $(COREDEFS)
9248 NETCDFPATH = CONFIGURE_NETCDF_PATH
9249 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9251 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9253 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9254 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9255 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9257 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9258 ( /bin/cp module_dm_warning module_dm.F ; \
9259 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9261 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9262 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9263 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9266 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9267 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9268 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9269 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9270 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9271 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9274 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9275 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9276 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9277 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9278 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9281 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9282 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9283 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9286 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9287 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9288 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9291 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9292 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9293 FREE="-FR" FIXED="-FI" \
9294 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9297 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9298 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9301 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9302 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9304 # Compile these without high optimization and no interprocedural
9305 # optimizations to speed compile. Commenting them out may result
9306 # in longer compilation time, but might produce substantialy faster
9308 mediation_integrate.o : mediation_integrate.F
9309 mediation_interp_domain.o : mediation_interp_domain.F
9310 mediation_feedback_domain.o : mediation_feedback_domain.F
9311 wrf_auxinput1out.o : wrf_auxinput1out.F
9312 wrf_histout.o : wrf_histout.F
9313 wrf_restartout.o : wrf_restartout.F
9314 wrf_inputin.o : wrf_inputin.F
9315 wrf_auxinput1in.o : wrf_auxinput1in.F
9316 wrf_histin.o : wrf_histin.F
9317 wrf_restartin.o : wrf_restartin.F
9318 module_initialize_real.o: module_initialize_real.F
9319 solve_interface.o : solve_interface.F
9320 shift_domain_em.o : shift_domain_em.F
9321 module_io_wrf.o : module_io_wrf.F
9322 module_dm.o : module_dm.F
9323 module_domain.o : module_domain.F
9324 start_domain.o : start_domain.F
9325 mediation_force_domain.o : mediation_force_domain.F
9326 module_configure.o : module_configure.F
9328 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9329 module_configure.o \
9330 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9331 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9332 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9334 mediation_force_domain.o:
9336 $(SED_FTN) $*.F > $*.b
9337 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9339 $(FC) -c -O0 -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9341 ############################################################
9342 #ARCH Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
9344 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9345 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9347 # By default, some files are compiled without optimizations to speed up compilation. Removing
9348 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9349 # Out Of Memory messages, but might produce binaries which are substantially faster.
9351 # If you got Out Of Memory message, there are several options:
9352 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9353 # 2. Remove any debugging flags (-g, -check, -traceback).
9354 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9355 # -no-ip compiler flag.
9357 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9358 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9359 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9360 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9361 # behavior of your workload.
9362 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9363 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9364 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9366 # If you have Intel MPI installed and wish to use instead, make the
9367 # following changes to settings below:
9368 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
9369 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
9374 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9377 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
9379 CC = $(MPI_HOME)/bin/mpicc -cc=icc
9383 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
9384 FCOPTIM = -O3 -unroll0
9385 FCDEBUG = # -O0 -g -traceback
9386 FCBASEOPTS = -align all -FR -convert big_endian \
9387 -fno-alias -fno-fnalias -tpp2 \
9388 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9389 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9390 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9391 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9394 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9396 ESMF_IO_LIB = ESMFIOLIB
9397 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9398 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9399 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9402 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9403 CONFIGURE_NETCDF_LIB_PATH \
9404 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9405 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9406 CONFIGURE_GRIB2_LIB \
9407 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9408 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9409 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9410 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9411 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9412 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9413 CPP = /lib/cpp -C -P -traditional
9414 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9415 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9416 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9417 $(POUND_DEF) $(COREDEFS)
9421 NETCDFPATH = CONFIGURE_NETCDF_PATH
9423 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9425 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9426 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9427 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9429 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9430 ( /bin/cp module_dm_warning module_dm.F ; \
9431 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9433 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9434 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9435 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9438 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9439 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9440 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9441 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9442 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9443 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9446 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9447 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9448 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9449 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9450 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9453 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9454 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9455 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9458 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9459 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9460 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9463 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9464 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9465 FREE="-FR" FIXED="-FI" \
9466 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9469 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9470 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9473 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9474 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9476 # Compile these without high optimization and no interprocedural
9477 # optimizations to speed compile. Commenting them out may result
9478 # in longer compilation time, but might produce substantialy faster
9480 mediation_integrate.o : mediation_integrate.F
9481 mediation_interp_domain.o : mediation_interp_domain.F
9482 mediation_feedback_domain.o : mediation_feedback_domain.F
9483 wrf_auxinput1out.o : wrf_auxinput1out.F
9484 wrf_histout.o : wrf_histout.F
9485 wrf_restartout.o : wrf_restartout.F
9486 wrf_inputin.o : wrf_inputin.F
9487 wrf_auxinput1in.o : wrf_auxinput1in.F
9488 wrf_histin.o : wrf_histin.F
9489 wrf_restartin.o : wrf_restartin.F
9490 module_initialize_real.o: module_initialize_real.F
9491 solve_interface.o : solve_interface.F
9492 shift_domain_em.o : shift_domain_em.F
9493 module_io_wrf.o : module_io_wrf.F
9494 module_dm.o : module_dm.F
9495 module_domain.o : module_domain.F
9496 start_domain.o : start_domain.F
9497 mediation_force_domain.o : mediation_force_domain.F
9498 module_configure.o : module_configure.F
9500 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9501 module_configure.o \
9502 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9503 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9504 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9506 mediation_force_domain.o:
9508 $(SED_FTN) $*.F > $*.b
9509 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9511 $(FC) -c -no-ip -O0 $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9513 ############################################################
9514 #ARCH Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9516 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9517 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9519 # By default, some files are compiled without optimizations to speed up compilation. Removing
9520 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9521 # Out Of Memory messages, but might produce binaries which are substantially faster.
9523 # If you got Out Of Memory message, there are several options:
9524 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9525 # 2. Remove any debugging flags (-g, -check, -traceback).
9526 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9527 # -no-ip compiler flag.
9529 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9530 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9531 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9532 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9533 # behavior of your workload.
9534 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9535 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9536 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9538 # If you have Intel MPI installed and wish to use instead, make the
9539 # following changes to settings below:
9540 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
9541 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
9544 OMP = -openmp -fpp -auto
9546 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9549 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
9551 CC = $(MPI_HOME)/bin/mpicc -cc=icc
9555 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9556 FCOPTIM = -O3 -unroll0
9557 FCDEBUG = # -O0 -g -traceback
9558 FCBASEOPTS = -align all -FR -convert big_endian \
9559 -fno-alias -fno-fnalias -mtune=itanium2-p9000 \
9560 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9561 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9562 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9563 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9566 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9568 ESMF_IO_LIB = ESMFIOLIB
9569 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9570 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9571 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9574 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9575 CONFIGURE_NETCDF_LIB_PATH \
9576 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9577 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9578 CONFIGURE_GRIB2_LIB \
9579 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9580 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9581 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9582 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9583 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9584 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9585 CPP = /lib/cpp -C -P -traditional
9586 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9587 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9588 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9589 $(POUND_DEF) $(COREDEFS)
9593 NETCDFPATH = CONFIGURE_NETCDF_PATH
9595 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9597 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9598 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9599 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9601 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9602 ( /bin/cp module_dm_warning module_dm.F ; \
9603 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9605 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9606 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9607 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9610 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9611 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9612 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9613 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9614 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9615 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9618 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9619 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9620 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9621 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9622 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9625 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9626 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9627 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9630 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9631 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9632 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9635 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9636 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9637 FREE="-FR" FIXED="-FI" \
9638 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9641 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9642 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9645 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9646 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9648 # Compile these without high optimization and no interprocedural
9649 # optimizations to speed compile. Commenting them out may result
9650 # in longer compilation time, but might produce substantialy faster
9652 mediation_integrate.o : mediation_integrate.F
9653 mediation_interp_domain.o : mediation_interp_domain.F
9654 mediation_feedback_domain.o : mediation_feedback_domain.F
9655 wrf_auxinput1out.o : wrf_auxinput1out.F
9656 wrf_histout.o : wrf_histout.F
9657 wrf_restartout.o : wrf_restartout.F
9658 wrf_inputin.o : wrf_inputin.F
9659 wrf_auxinput1in.o : wrf_auxinput1in.F
9660 wrf_histin.o : wrf_histin.F
9661 wrf_restartin.o : wrf_restartin.F
9662 module_initialize_real.o: module_initialize_real.F
9663 solve_interface.o : solve_interface.F
9664 shift_domain_em.o : shift_domain_em.F
9665 module_io_wrf.o : module_io_wrf.F
9666 module_dm.o : module_dm.F
9667 module_domain.o : module_domain.F
9668 start_domain.o : start_domain.F
9669 mediation_force_domain.o : mediation_force_domain.F
9670 module_configure.o : module_configure.F
9672 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9673 module_configure.o \
9674 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9675 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9676 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9678 mediation_force_domain.o:
9680 $(SED_FTN) $*.F > $*.b
9681 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9683 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9685 # OpenMP workaround for solve_em.F
9686 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
9687 # You can check if you really need this workaround by building without the following rule
9688 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
9689 solve_em.o : solve_em.F
9691 $(SED_FTN) $*.F > $*.b
9692 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9694 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
9696 ############################################################
9697 #ARCH Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
9699 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9700 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9702 # By default, some files are compiled without optimizations to speed up compilation. Removing
9703 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9704 # Out Of Memory messages, but might produce binaries which are substantially faster.
9706 # If you got Out Of Memory message, there are several options:
9707 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9708 # 2. Remove any debugging flags (-g, -check, -traceback).
9709 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9710 # -no-ip compiler flag.
9712 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9713 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9714 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9715 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9716 # behavior of your workload.
9717 # To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9718 # use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9719 # and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9721 # If you have Intel MPI installed and wish to use instead, make the
9722 # following changes to settings below:
9723 # FC = $(MPI_HOME)/bin/mpiifort -nocompchk
9724 # CC = $(MPI_HOME)/bin/mpiicc -nocompchk
9729 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9732 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
9734 CC = $(MPI_HOME)/bin/mpicc -cc=icc
9738 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
9739 FCOPTIM = -O3 -unroll0
9740 FCDEBUG = # -O0 -g -traceback
9741 FCBASEOPTS = -align all -FR -convert big_endian \
9742 -fno-alias -fno-fnalias -mtune=itanium2-p9000 \
9743 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9744 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9745 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9746 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9749 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9751 ESMF_IO_LIB = ESMFIOLIB
9752 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9753 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9754 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9757 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9758 CONFIGURE_NETCDF_LIB_PATH \
9759 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9760 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9761 CONFIGURE_GRIB2_LIB \
9762 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9763 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9764 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9765 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9766 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9767 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9768 CPP = /lib/cpp -C -P -traditional
9769 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9770 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9771 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9772 $(POUND_DEF) $(COREDEFS)
9776 NETCDFPATH = CONFIGURE_NETCDF_PATH
9778 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9780 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9781 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9782 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9784 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9785 ( /bin/cp module_dm_warning module_dm.F ; \
9786 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9788 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9789 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9790 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9793 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9794 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9795 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9796 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9797 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9798 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9801 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9802 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9803 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9804 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9805 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9808 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9809 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9810 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9813 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9814 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9815 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9818 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9819 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9820 FREE="-FR" FIXED="-FI" \
9821 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9824 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9825 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9828 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9829 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9831 # Compile these without high optimization and no interprocedural
9832 # optimizations to speed compile. Commenting them out may result
9833 # in longer compilation time, but might produce substantialy faster
9835 mediation_integrate.o : mediation_integrate.F
9836 mediation_interp_domain.o : mediation_interp_domain.F
9837 mediation_feedback_domain.o : mediation_feedback_domain.F
9838 wrf_auxinput1out.o : wrf_auxinput1out.F
9839 wrf_histout.o : wrf_histout.F
9840 wrf_restartout.o : wrf_restartout.F
9841 wrf_inputin.o : wrf_inputin.F
9842 wrf_auxinput1in.o : wrf_auxinput1in.F
9843 wrf_histin.o : wrf_histin.F
9844 wrf_restartin.o : wrf_restartin.F
9845 module_initialize_real.o: module_initialize_real.F
9846 solve_interface.o : solve_interface.F
9847 shift_domain_em.o : shift_domain_em.F
9848 module_io_wrf.o : module_io_wrf.F
9849 module_dm.o : module_dm.F
9850 module_domain.o : module_domain.F
9851 start_domain.o : start_domain.F
9852 mediation_force_domain.o : mediation_force_domain.F
9853 module_configure.o : module_configure.F
9855 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9856 module_configure.o \
9857 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9858 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9859 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9861 mediation_force_domain.o:
9863 $(SED_FTN) $*.F > $*.b
9864 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9866 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9868 ############################################################
9869 #ARCH Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9871 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9872 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9874 # By default, some files are compiled without optimizations to speed up compilation. Removing
9875 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9876 # Out Of Memory messages, but might produce binaries which are substantially faster.
9878 # If you got Out Of Memory message, there are several options:
9879 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9880 # 2. Remove any debugging flags (-g, -check, -traceback).
9881 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9882 # -no-ip compiler flag.
9884 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9885 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9886 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9887 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9888 # behavior of your workload.
9890 # If you have Intel MPI installed and wish to use instead, make the
9891 # following changes to settings below:
9892 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
9893 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
9896 OMP = -openmp -fpp -auto
9898 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9901 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
9903 CC = $(MPI_HOME)/bin/mpicc -cc=icc
9907 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9909 FCDEBUG = # -g -traceback
9910 FCBASEOPTS = -align all -FR -convert big_endian \
9911 -fno-alias -fno-fnalias \
9912 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9913 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9914 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9915 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9918 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9920 ESMF_IO_LIB = ESMFIOLIB
9921 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9922 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9923 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9926 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9927 CONFIGURE_NETCDF_LIB_PATH \
9928 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9929 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9930 CONFIGURE_GRIB2_LIB \
9931 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9932 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9933 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9934 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9935 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9936 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9937 CPP = /lib/cpp -C -P -traditional
9938 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9939 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9940 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9941 $(POUND_DEF) $(COREDEFS)
9945 NETCDFPATH = CONFIGURE_NETCDF_PATH
9947 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9949 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9950 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9951 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9953 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9954 ( /bin/cp module_dm_warning module_dm.F ; \
9955 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9957 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9958 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9959 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9962 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9963 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9964 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9965 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9966 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9967 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9970 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9971 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9972 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9973 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9974 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9977 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9978 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9979 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9982 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9983 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9984 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9987 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9988 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9989 FREE="-FR" FIXED="-FI" \
9990 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9993 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9994 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9997 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9998 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10000 # Compile these without high optimization and no interprocedural
10001 # optimizations to speed compile. Commenting them out may result
10002 # in longer compilation time, but might produce substantialy faster
10004 mediation_integrate.o : mediation_integrate.F
10005 mediation_interp_domain.o : mediation_interp_domain.F
10006 mediation_feedback_domain.o : mediation_feedback_domain.F
10007 wrf_auxinput1out.o : wrf_auxinput1out.F
10008 wrf_histout.o : wrf_histout.F
10009 wrf_restartout.o : wrf_restartout.F
10010 wrf_inputin.o : wrf_inputin.F
10011 wrf_auxinput1in.o : wrf_auxinput1in.F
10012 wrf_histin.o : wrf_histin.F
10013 wrf_restartin.o : wrf_restartin.F
10014 module_initialize_real.o: module_initialize_real.F
10015 solve_interface.o : solve_interface.F
10016 shift_domain_em.o : shift_domain_em.F
10017 module_io_wrf.o : module_io_wrf.F
10018 module_dm.o : module_dm.F
10019 module_domain.o : module_domain.F
10020 start_domain.o : start_domain.F
10021 mediation_force_domain.o : mediation_force_domain.F
10022 module_configure.o : module_configure.F
10024 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10025 module_configure.o \
10026 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10027 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10028 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10029 shift_domain_em.o \
10030 mediation_force_domain.o:
10032 $(SED_FTN) $*.F > $*.b
10033 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10035 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10037 # Force even lower optimization level for these files to decrease
10038 # compilation time and lower memory demands
10039 solve_em.o : solve_em.F
10040 module_dm.o : module_dm.F
10045 $(SED_FTN) $*.F > $*.b
10046 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10048 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10050 ############################################################
10051 #ARCH Z Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
10053 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10054 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10056 # By default, some files are compiled without optimizations to speed up compilation. Removing
10057 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10058 # Out Of Memory messages, but might produce binaries which are substantially faster.
10060 # If you got Out Of Memory message, there are several options:
10061 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10062 # 2. Remove any debugging flags (-g, -check, -traceback).
10063 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10064 # -no-ip compiler flag.
10066 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10067 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10068 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10069 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10070 # behavior of your workload.
10072 # If you have Intel MPI installed and wish to use instead, make the
10073 # following changes to settings below:
10074 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10075 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10080 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10082 MPI_HOME = $(MPICH)
10083 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
10085 CC = $(MPI_HOME)/bin/mpicc -cc=icc
10089 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
10091 FCDEBUG = # -g -traceback
10092 FCBASEOPTS = -align all -FR -convert big_endian \
10093 -fno-alias -fno-fnalias \
10094 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10095 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10096 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10097 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10100 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10102 ESMF_IO_LIB = ESMFIOLIB
10103 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10104 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10105 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10107 REGISTRY = Registry
10108 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10109 CONFIGURE_NETCDF_LIB_PATH \
10110 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10111 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10112 CONFIGURE_GRIB2_LIB \
10113 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10114 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10115 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10116 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10117 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10118 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10119 CPP = /lib/cpp -C -P -traditional
10120 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10121 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10122 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10123 $(POUND_DEF) $(COREDEFS)
10127 NETCDFPATH = CONFIGURE_NETCDF_PATH
10128 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10130 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10132 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10133 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10134 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10136 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10137 ( /bin/cp module_dm_warning module_dm.F ; \
10138 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10140 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10141 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10142 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10145 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10146 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10147 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10148 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10149 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10150 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10153 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10154 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10155 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10156 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10157 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10160 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10161 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10162 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10165 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10166 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10167 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10170 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10171 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10172 FREE="-FR" FIXED="-FI" \
10173 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10176 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10177 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10180 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10181 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10183 # Compile these without high optimization and no interprocedural
10184 # optimizations to speed compile. Commenting them out may result
10185 # in longer compilation time, but might produce substantialy faster
10187 mediation_integrate.o : mediation_integrate.F
10188 mediation_interp_domain.o : mediation_interp_domain.F
10189 mediation_feedback_domain.o : mediation_feedback_domain.F
10190 wrf_auxinput1out.o : wrf_auxinput1out.F
10191 wrf_histout.o : wrf_histout.F
10192 wrf_restartout.o : wrf_restartout.F
10193 wrf_inputin.o : wrf_inputin.F
10194 wrf_auxinput1in.o : wrf_auxinput1in.F
10195 wrf_histin.o : wrf_histin.F
10196 wrf_restartin.o : wrf_restartin.F
10197 module_initialize_real.o: module_initialize_real.F
10198 solve_interface.o : solve_interface.F
10199 shift_domain_em.o : shift_domain_em.F
10200 module_io_wrf.o : module_io_wrf.F
10201 module_dm.o : module_dm.F
10202 module_domain.o : module_domain.F
10203 start_domain.o : start_domain.F
10204 mediation_force_domain.o : mediation_force_domain.F
10205 module_configure.o : module_configure.F
10207 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10208 module_configure.o \
10209 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10210 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10211 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10212 shift_domain_em.o \
10213 mediation_force_domain.o:
10215 $(SED_FTN) $*.F > $*.b
10216 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10218 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10220 # Force even lower optimization level for these files to decrease
10221 # compilation time and lower memory demands
10222 module_dm.o : module_dm.F
10223 solve_em.o : solve_em.F
10228 $(SED_FTN) $*.F > $*.b
10229 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10231 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10233 ############################################################
10234 #ARCH Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
10236 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10237 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10239 # By default, some files are compiled without optimizations to speed up compilation. Removing
10240 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10241 # Out Of Memory messages, but might produce binaries which are substantially faster.
10243 # If you got Out Of Memory message, there are several options:
10244 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10245 # 2. Remove any debugging flags (-g, -check, -traceback).
10246 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10247 # -no-ip compiler flag.
10249 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10250 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10251 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10252 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10253 # behavior of your workload.
10255 # If you have Intel MPI installed and wish to use instead, make the
10256 # following changes to settings below:
10257 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10258 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10261 OMP = -openmp -fpp -auto
10263 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10272 CFLAGS = -w -O3 -ip -c -openmp
10274 FCDEBUG = # -g -traceback
10275 FCBASEOPTS = -align all -FR -convert big_endian \
10276 -fno-alias -fno-fnalias \
10277 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10278 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10279 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
10280 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10283 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10285 ESMF_IO_LIB = ESMFIOLIB
10286 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10287 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10288 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10290 REGISTRY = Registry
10291 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10292 CONFIGURE_NETCDF_LIB_PATH \
10294 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10295 CONFIGURE_GRIB2_LIB \
10296 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10297 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10298 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10299 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10300 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10301 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10302 CPP = /lib/cpp -C -P -traditional
10303 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10304 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10305 -I$(INCLUDE) -C -P \
10306 $(POUND_DEF) $(COREDEFS)
10310 NETCDFPATH = CONFIGURE_NETCDF_PATH
10312 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10315 ( /bin/cp module_dm_warning module_dm.F ; \
10316 cat module_dm_stubs.F >> module_dm.F )
10319 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10320 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10321 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10322 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10323 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10324 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10327 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10328 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10329 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10330 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10331 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10334 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10335 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10336 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10339 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10340 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10341 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10344 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10345 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10346 FREE="-FR" FIXED="-FI" \
10347 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10350 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10351 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10354 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10355 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10357 # Compile these without high optimization and no interprocedural
10358 # optimizations to speed compile. Commenting them out may result
10359 # in longer compilation time, but might produce substantialy faster
10361 mediation_integrate.o : mediation_integrate.F
10362 mediation_interp_domain.o : mediation_interp_domain.F
10363 mediation_feedback_domain.o : mediation_feedback_domain.F
10364 wrf_auxinput1out.o : wrf_auxinput1out.F
10365 wrf_histout.o : wrf_histout.F
10366 wrf_restartout.o : wrf_restartout.F
10367 wrf_inputin.o : wrf_inputin.F
10368 wrf_auxinput1in.o : wrf_auxinput1in.F
10369 wrf_histin.o : wrf_histin.F
10370 wrf_restartin.o : wrf_restartin.F
10371 module_initialize_real.o: module_initialize_real.F
10372 solve_interface.o : solve_interface.F
10373 shift_domain_em.o : shift_domain_em.F
10374 module_io_wrf.o : module_io_wrf.F
10375 module_dm.o : module_dm.F
10376 module_domain.o : module_domain.F
10377 start_domain.o : start_domain.F
10378 mediation_force_domain.o : mediation_force_domain.F
10379 module_configure.o : module_configure.F
10381 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10382 module_configure.o \
10383 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10384 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10385 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10386 shift_domain_em.o \
10387 mediation_force_domain.o:
10389 $(SED_FTN) $*.F > $*.b
10390 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10392 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10394 # Force even lower optimization level for these files to decrease
10395 # compilation time and lower memory demands
10396 solve_em.o : solve_em.F
10397 module_dm.o : module_dm.F
10402 $(SED_FTN) $*.F > $*.b
10403 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10405 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10407 ############################################################
10408 #ARCH Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
10410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10411 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10413 # By default, some files are compiled without optimizations to speed up compilation. Removing
10414 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10415 # Out Of Memory messages, but might produce binaries which are substantially faster.
10417 # If you got Out Of Memory message, there are several options:
10418 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10419 # 2. Remove any debugging flags (-g, -check, -traceback).
10420 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10421 # -no-ip compiler flag.
10423 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10424 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10425 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10426 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10427 # behavior of your workload.
10429 # If you have Intel MPI installed and wish to use instead, make the
10430 # following changes to settings below:
10431 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10432 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10437 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10446 CFLAGS = -w -O3 -ip -c
10448 FCDEBUG = # -g -traceback
10449 FCBASEOPTS = -align all -FR -convert big_endian \
10450 -fno-alias -fno-fnalias \
10451 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10452 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10453 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
10454 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10457 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10459 ESMF_IO_LIB = ESMFIOLIB
10460 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10461 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10462 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10464 REGISTRY = Registry
10465 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10466 CONFIGURE_NETCDF_LIB_PATH \
10468 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10469 CONFIGURE_GRIB2_LIB \
10470 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10471 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10472 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10473 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10474 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10475 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10476 CPP = /lib/cpp -C -P -traditional
10477 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10478 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10479 -I$(INCLUDE) -C -P \
10480 $(POUND_DEF) $(COREDEFS)
10484 NETCDFPATH = CONFIGURE_NETCDF_PATH
10486 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10489 ( /bin/cp module_dm_warning module_dm.F ; \
10490 cat module_dm_stubs.F >> module_dm.F )
10493 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10494 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10495 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10496 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10497 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10498 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10501 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10502 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10503 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10504 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10505 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10508 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10509 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10510 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10513 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10514 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10515 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10518 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10519 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10520 FREE="-FR" FIXED="-FI" \
10521 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10524 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10525 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10528 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10529 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10531 # Compile these without high optimization and no interprocedural
10532 # optimizations to speed compile. Commenting them out may result
10533 # in longer compilation time, but might produce substantialy faster
10535 mediation_integrate.o : mediation_integrate.F
10536 mediation_interp_domain.o : mediation_interp_domain.F
10537 mediation_feedback_domain.o : mediation_feedback_domain.F
10538 wrf_auxinput1out.o : wrf_auxinput1out.F
10539 wrf_histout.o : wrf_histout.F
10540 wrf_restartout.o : wrf_restartout.F
10541 wrf_inputin.o : wrf_inputin.F
10542 wrf_auxinput1in.o : wrf_auxinput1in.F
10543 wrf_histin.o : wrf_histin.F
10544 wrf_restartin.o : wrf_restartin.F
10545 module_initialize_real.o: module_initialize_real.F
10546 solve_interface.o : solve_interface.F
10547 shift_domain_em.o : shift_domain_em.F
10548 module_io_wrf.o : module_io_wrf.F
10549 module_dm.o : module_dm.F
10550 module_domain.o : module_domain.F
10551 start_domain.o : start_domain.F
10552 mediation_force_domain.o : mediation_force_domain.F
10553 module_configure.o : module_configure.F
10555 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10556 module_configure.o \
10557 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10558 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10559 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10560 shift_domain_em.o \
10561 mediation_force_domain.o:
10563 $(SED_FTN) $*.F > $*.b
10564 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10566 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10568 # Force even lower optimization level for these files to decrease
10569 # compilation time and lower memory demands
10570 module_dm.o : module_dm.F
10571 solve_em.o : solve_em.F
10576 $(SED_FTN) $*.F > $*.b
10577 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10579 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10581 ############################################################
10582 #ARCH Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
10584 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10585 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10587 # By default, some files are compiled without optimizations to speed up compilation. Removing
10588 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10589 # Out Of Memory messages, but might produce binaries which are substantially faster.
10591 # If you got Out Of Memory message, there are several options:
10592 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10593 # 2. Remove any debugging flags (-g, -check, -traceback).
10594 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10595 # -no-ip compiler flag.
10597 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10598 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10599 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10600 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10601 # behavior of your workload.
10603 # If you have Intel MPI installed and wish to use instead, make the
10604 # following changes to settings below:
10605 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10606 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10609 OMP = -openmp -fpp -auto
10611 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10613 MPI_HOME = $(MPICH)
10614 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
10616 CC = $(MPI_HOME)/bin/mpicc -cc=icc
10620 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
10622 FCDEBUG = # -g -traceback
10623 FCBASEOPTS = -align all -FR -convert big_endian \
10624 -fno-alias -fno-fnalias \
10625 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10626 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10627 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10628 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10631 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10633 ESMF_IO_LIB = ESMFIOLIB
10634 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10635 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10636 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10638 REGISTRY = Registry
10639 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10640 CONFIGURE_NETCDF_LIB_PATH \
10641 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10642 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10643 CONFIGURE_GRIB2_LIB \
10644 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10645 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10646 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10647 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10648 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10649 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10650 CPP = /lib/cpp -C -P -traditional
10651 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10652 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10653 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10654 $(POUND_DEF) $(COREDEFS)
10658 NETCDFPATH = CONFIGURE_NETCDF_PATH
10660 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10662 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10663 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10664 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10666 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10667 ( /bin/cp module_dm_warning module_dm.F ; \
10668 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10670 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10671 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10672 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10675 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10676 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10677 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10678 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10679 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10680 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10683 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10684 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10685 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10686 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10687 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10690 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10691 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10692 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10695 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10696 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10697 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10700 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10701 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10702 FREE="-FR" FIXED="-FI" \
10703 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10706 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10707 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10710 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10711 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10713 # Compile these without high optimization and no interprocedural
10714 # optimizations to speed compile. Commenting them out may result
10715 # in longer compilation time, but might produce substantialy faster
10717 mediation_integrate.o : mediation_integrate.F
10718 mediation_interp_domain.o : mediation_interp_domain.F
10719 mediation_feedback_domain.o : mediation_feedback_domain.F
10720 wrf_auxinput1out.o : wrf_auxinput1out.F
10721 wrf_histout.o : wrf_histout.F
10722 wrf_restartout.o : wrf_restartout.F
10723 wrf_inputin.o : wrf_inputin.F
10724 wrf_auxinput1in.o : wrf_auxinput1in.F
10725 wrf_histin.o : wrf_histin.F
10726 wrf_restartin.o : wrf_restartin.F
10727 module_initialize_real.o: module_initialize_real.F
10728 solve_interface.o : solve_interface.F
10729 shift_domain_em.o : shift_domain_em.F
10730 module_io_wrf.o : module_io_wrf.F
10731 module_dm.o : module_dm.F
10732 module_domain.o : module_domain.F
10733 start_domain.o : start_domain.F
10734 mediation_force_domain.o : mediation_force_domain.F
10735 module_configure.o : module_configure.F
10737 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10738 module_configure.o \
10739 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10740 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10741 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10742 shift_domain_em.o \
10743 mediation_force_domain.o:
10745 $(SED_FTN) $*.F > $*.b
10746 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10748 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10750 # Force even lower optimization level for these files to decrease
10751 # compilation time and lower memory demands
10752 solve_em.o : solve_em.F
10753 module_dm.o : module_dm.F
10758 $(SED_FTN) $*.F > $*.b
10759 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10761 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10763 ############################################################
10764 #ARCH Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
10766 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10767 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10769 # By default, some files are compiled without optimizations to speed up compilation. Removing
10770 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10771 # Out Of Memory messages, but might produce binaries which are substantially faster.
10773 # If you got Out Of Memory message, there are several options:
10774 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10775 # 2. Remove any debugging flags (-g, -check, -traceback).
10776 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10777 # -no-ip compiler flag.
10779 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10780 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10781 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10782 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10783 # behavior of your workload.
10785 # If you have Intel MPI installed and wish to use instead, make the
10786 # following changes to settings below:
10787 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10788 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10793 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10795 MPI_HOME = $(MPICH)
10796 FC = $(MPI_HOME)/bin/mpif90 -f90=ifort
10798 CC = $(MPI_HOME)/bin/mpicc -cc=icc
10802 CFLAGS = -w -O3 -ip -c -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
10804 FCDEBUG = # -g -traceback
10805 FCBASEOPTS = -align all -FR -convert big_endian \
10806 -fno-alias -fno-fnalias \
10807 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10808 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10809 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10810 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10813 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10815 ESMF_IO_LIB = ESMFIOLIB
10816 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10817 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10818 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10820 REGISTRY = Registry
10821 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10822 CONFIGURE_NETCDF_LIB_PATH \
10823 -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10824 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10825 CONFIGURE_GRIB2_LIB \
10826 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10827 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10828 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10829 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10830 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10831 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10832 CPP = /lib/cpp -C -P -traditional
10833 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10834 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10835 -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10836 $(POUND_DEF) $(COREDEFS)
10840 NETCDFPATH = CONFIGURE_NETCDF_PATH
10842 externals : CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10844 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10845 ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10846 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10848 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10849 ( /bin/cp module_dm_warning module_dm.F ; \
10850 cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10852 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10853 ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10854 FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10857 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10858 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10859 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10860 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10861 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10862 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10865 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10866 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10867 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10868 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10869 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10872 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10873 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10874 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10877 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10878 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10879 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10882 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10883 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10884 FREE="-FR" FIXED="-FI" \
10885 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10888 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10889 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10892 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10893 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10895 # Compile these without high optimization and no interprocedural
10896 # optimizations to speed compile. Commenting them out may result
10897 # in longer compilation time, but might produce substantialy faster
10899 mediation_integrate.o : mediation_integrate.F
10900 mediation_interp_domain.o : mediation_interp_domain.F
10901 mediation_feedback_domain.o : mediation_feedback_domain.F
10902 wrf_auxinput1out.o : wrf_auxinput1out.F
10903 wrf_histout.o : wrf_histout.F
10904 wrf_restartout.o : wrf_restartout.F
10905 wrf_inputin.o : wrf_inputin.F
10906 wrf_auxinput1in.o : wrf_auxinput1in.F
10907 wrf_histin.o : wrf_histin.F
10908 wrf_restartin.o : wrf_restartin.F
10909 module_initialize_real.o: module_initialize_real.F
10910 solve_interface.o : solve_interface.F
10911 shift_domain_em.o : shift_domain_em.F
10912 module_io_wrf.o : module_io_wrf.F
10913 module_dm.o : module_dm.F
10914 module_domain.o : module_domain.F
10915 start_domain.o : start_domain.F
10916 mediation_force_domain.o : mediation_force_domain.F
10917 module_configure.o : module_configure.F
10919 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10920 module_configure.o \
10921 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10922 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10923 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10924 shift_domain_em.o \
10925 mediation_force_domain.o:
10927 $(SED_FTN) $*.F > $*.b
10928 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10930 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10932 # Force even lower optimization level for these files to decrease
10933 # compilation time and lower memory demands
10934 module_dm.o : module_dm.F
10935 solve_em.o : solve_em.F
10940 $(SED_FTN) $*.F > $*.b
10941 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10943 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10945 ############################################################
10946 #ARCH Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
10948 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10949 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10951 # By default, some files are compiled without optimizations to speed up compilation. Removing
10952 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10953 # Out Of Memory messages, but might produce binaries which are substantially faster.
10955 # If you got Out Of Memory message, there are several options:
10956 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10957 # 2. Remove any debugging flags (-g, -check, -traceback).
10958 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10959 # -no-ip compiler flag.
10961 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10962 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10963 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10964 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10965 # behavior of your workload.
10967 # If you have Intel MPI installed and wish to use instead, make the
10968 # following changes to settings below:
10969 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
10970 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
10973 OMP = -openmp -fpp -auto
10975 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10984 CFLAGS = -w -O3 -ip -c -openmp
10986 FCDEBUG = # -g -traceback
10987 FCBASEOPTS = -align all -FR -convert big_endian \
10988 -fno-alias -fno-fnalias \
10989 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10990 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10991 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
10992 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10995 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10997 ESMF_IO_LIB = ESMFIOLIB
10998 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10999 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
11000 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
11002 REGISTRY = Registry
11003 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
11004 CONFIGURE_NETCDF_LIB_PATH \
11006 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
11007 CONFIGURE_GRIB2_LIB \
11008 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
11009 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
11010 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
11011 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
11012 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
11013 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
11014 CPP = /lib/cpp -C -P -traditional
11015 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
11016 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
11017 -I$(INCLUDE) -C -P \
11018 $(POUND_DEF) $(COREDEFS)
11022 NETCDFPATH = CONFIGURE_NETCDF_PATH
11024 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
11027 ( /bin/cp module_dm_warning module_dm.F ; \
11028 cat module_dm_stubs.F >> module_dm.F )
11031 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
11032 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
11033 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
11034 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
11035 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
11036 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
11039 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
11040 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11041 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
11042 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
11043 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
11046 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
11047 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
11048 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
11051 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
11052 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11053 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11056 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
11057 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11058 FREE="-FR" FIXED="-FI" \
11059 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11062 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
11063 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
11066 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
11067 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
11069 # Compile these without high optimization and no interprocedural
11070 # optimizations to speed compile. Commenting them out may result
11071 # in longer compilation time, but might produce substantialy faster
11073 mediation_integrate.o : mediation_integrate.F
11074 mediation_interp_domain.o : mediation_interp_domain.F
11075 mediation_feedback_domain.o : mediation_feedback_domain.F
11076 wrf_auxinput1out.o : wrf_auxinput1out.F
11077 wrf_histout.o : wrf_histout.F
11078 wrf_restartout.o : wrf_restartout.F
11079 wrf_inputin.o : wrf_inputin.F
11080 wrf_auxinput1in.o : wrf_auxinput1in.F
11081 wrf_histin.o : wrf_histin.F
11082 wrf_restartin.o : wrf_restartin.F
11083 module_initialize_real.o: module_initialize_real.F
11084 solve_interface.o : solve_interface.F
11085 shift_domain_em.o : shift_domain_em.F
11086 module_io_wrf.o : module_io_wrf.F
11087 module_dm.o : module_dm.F
11088 module_domain.o : module_domain.F
11089 start_domain.o : start_domain.F
11090 mediation_force_domain.o : mediation_force_domain.F
11091 module_configure.o : module_configure.F
11093 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
11094 module_configure.o \
11095 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
11096 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
11097 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
11098 shift_domain_em.o \
11099 mediation_force_domain.o:
11101 $(SED_FTN) $*.F > $*.b
11102 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11104 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
11106 # Force even lower optimization level for these files to decrease
11107 # compilation time and lower memory demands
11108 solve_em.o : solve_em.F
11109 module_dm.o : module_dm.F
11114 $(SED_FTN) $*.F > $*.b
11115 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11117 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
11119 ############################################################
11120 #ARCH Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
11122 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
11123 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
11125 # By default, some files are compiled without optimizations to speed up compilation. Removing
11126 # respective makefile rules in the end of this file will result in longer compilation time, and, possibly
11127 # Out Of Memory messages, but might produce binaries which are substantially faster.
11129 # If you got Out Of Memory message, there are several options:
11130 # 1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
11131 # 2. Remove any debugging flags (-g, -check, -traceback).
11132 # 3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
11133 # -no-ip compiler flag.
11135 # This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
11136 # consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
11137 # Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
11138 # the gradual underflow mode. It may improve performance if the denormal values are not critical to the
11139 # behavior of your workload.
11141 # If you have Intel MPI installed and wish to use instead, make the
11142 # following changes to settings below:
11143 # FC = $(MPI_HOME)/bin64/mpiifort -nocompchk
11144 # CC = $(MPI_HOME)/bin64/mpiicc -nocompchk
11149 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
11158 CFLAGS = -w -O3 -ip -c
11160 FCDEBUG = # -g -traceback
11161 FCBASEOPTS = -align all -FR -convert big_endian \
11162 -fno-alias -fno-fnalias \
11163 -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
11164 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
11165 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
11166 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
11169 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
11171 ESMF_IO_LIB = ESMFIOLIB
11172 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
11173 INCLUDE_MODULES = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
11174 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
11176 REGISTRY = Registry
11177 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
11178 CONFIGURE_NETCDF_LIB_PATH \
11180 -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
11181 CONFIGURE_GRIB2_LIB \
11182 -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
11183 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
11184 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
11185 -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
11186 -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
11187 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
11188 CPP = /lib/cpp -C -P -traditional
11189 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
11190 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
11191 -I$(INCLUDE) -C -P \
11192 $(POUND_DEF) $(COREDEFS)
11196 NETCDFPATH = CONFIGURE_NETCDF_PATH
11198 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
11201 ( /bin/cp module_dm_warning module_dm.F ; \
11202 cat module_dm_stubs.F >> module_dm.F )
11205 ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
11206 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
11207 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
11208 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
11209 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
11210 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
11213 ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
11214 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11215 SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
11216 ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
11217 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
11220 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
11221 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
11222 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
11225 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
11226 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11227 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11230 ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
11231 make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11232 FREE="-FR" FIXED="-FI" \
11233 FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11236 ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
11237 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
11240 ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
11241 make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
11243 # Compile these without high optimization and no interprocedural
11244 # optimizations to speed compile. Commenting them out may result
11245 # in longer compilation time, but might produce substantialy faster
11247 mediation_integrate.o : mediation_integrate.F
11248 mediation_interp_domain.o : mediation_interp_domain.F
11249 mediation_feedback_domain.o : mediation_feedback_domain.F
11250 wrf_auxinput1out.o : wrf_auxinput1out.F
11251 wrf_histout.o : wrf_histout.F
11252 wrf_restartout.o : wrf_restartout.F
11253 wrf_inputin.o : wrf_inputin.F
11254 wrf_auxinput1in.o : wrf_auxinput1in.F
11255 wrf_histin.o : wrf_histin.F
11256 wrf_restartin.o : wrf_restartin.F
11257 module_initialize_real.o: module_initialize_real.F
11258 solve_interface.o : solve_interface.F
11259 shift_domain_em.o : shift_domain_em.F
11260 module_io_wrf.o : module_io_wrf.F
11261 module_dm.o : module_dm.F
11262 module_domain.o : module_domain.F
11263 start_domain.o : start_domain.F
11264 mediation_force_domain.o : mediation_force_domain.F
11265 module_configure.o : module_configure.F
11267 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
11268 module_configure.o \
11269 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
11270 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
11271 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
11272 shift_domain_em.o \
11273 mediation_force_domain.o:
11275 $(SED_FTN) $*.F > $*.b
11276 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11278 $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
11280 # Force even lower optimization level for these files to decrease
11281 # compilation time and lower memory demands
11282 module_dm.o : module_dm.F
11283 solve_em.o : solve_em.F
11288 $(SED_FTN) $*.F > $*.b
11289 $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11291 $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
11293 ##################################################################