1 ###########################################################
2 #ARCH SGI 32 bit machine IRIX
9 RWORDSIZE = $(NATIVE_RWORDSIZE)
11 FCBASEOPTS = -freeform -I. -w
12 FCFLAGS = $(FCBASEOPTS)
13 PROMOTION = -r$(RWORDSIZE) -i4
15 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
17 ESMF_IO_LIB = ESMFIOLIB
18 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
19 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
20 -I../frame -I../share -I../phys -I../chem -I../inc
21 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
22 LDFLAGS = CONFIGURE_LDFLAGS
23 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
25 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
26 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
27 PERL = CONFIGURE_PERL_PATH
29 LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
30 -L../external/io_grib1 -lio_grib1 \
32 -L../external/io_grib_share -lio_grib_share
36 NETCDFPATH = CONFIGURE_NETCDF_PATH
39 #### Override default sed command and script for Fortran source files ####
40 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
41 #### because the SGI Fortran compiler complains about long source lines. ####
42 SED_FTN = sed -f ../arch/no_file_line.sed
44 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
47 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
50 ( cd ../external/io_netcdf ; \
51 make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
54 ( cd ../external/io_int ; \
55 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
58 ( cd ../external/io_grib_share ; \
59 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
62 ( cd ../external/io_grib1 ; \
63 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
66 ( cd ../external/io_grib2 ; \
67 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
70 ( cd ../external/esmf_time_f90 ; \
71 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
73 # compile these without high optimization to speed compile
74 solve_interface.o : solve_interface.F
75 shift_domain_em.o : shift_domain_em.F
76 module_configure.o : module_configure.F
77 module_io_mm5.o : module_io_mm5.F
78 module_si_io.o : module_si_io.F
79 module_io_wrf.o : module_io_wrf.F
80 module_domain.o : module_domain.F
81 module_start.o : module_start.F
82 module_initialize.o : module_initialize.F
83 module_initialize_b_wave.o : module_initialize_b_wave.F
84 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
85 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
86 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
87 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
88 module_initialize_real.o : module_initialize_real.F
89 module_dm.o : module_dm.F
90 start_domain.o : start_domain.F
95 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
96 module_start.o module_initialize.o module_initialize_b_wave.o \
97 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
98 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
99 module_initialize_real.o module_dm.o start_domain.o :
101 $(SED_FTN) $*.F > $*.b
102 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
104 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
107 ###########################################################
108 #ARCH SGI 32 bit machine, sycamore IRIX
114 RWORDSIZE = $(NATIVE_RWORDSIZE)
116 FCBASEOPTS = -freeform -I. -w
117 FCFLAGS = -freeform -I. -w
118 PROMOTION = -r$(RWORDSIZE) -i4
120 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
122 ESMF_IO_LIB = ESMFIOLIB
123 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
124 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share -I../phys -I../chem \
125 -I../external/esmf_time_f90 -I../inc
126 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
127 -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
128 LDFLAGS = CONFIGURE_LDFLAGS
129 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
131 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
132 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
133 PERL = CONFIGURE_PERL_PATH
135 LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
136 -L../external/io_grib1 -lio_grib1 \
137 CONFIGURE_GRIB2_LIB \
138 -L../external/io_grib_share -lio_grib_share
142 NETCDFPATH = CONFIGURE_NETCDF_PATH
145 #### Override default sed command and script for Fortran source files ####
146 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
147 #### because the SGI Fortran compiler complains about long source lines. ####
148 SED_FTN = sed -f ../arch/no_file_line.sed
150 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
153 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
156 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
159 ( cd ../external/io_int ; \
160 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
163 ( cd ../external/io_grib_share ; \
164 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
167 ( cd ../external/io_grib1 ; \
168 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
171 ( cd ../external/io_grib2 ; \
172 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
175 ( cd ../external/esmf_time_f90 ; \
176 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
178 # compile these without high optimization to speed compile
179 solve_interface.o : solve_interface.F
180 shift_domain_em.o : shift_domain_em.F
181 module_configure.o : module_configure.F
182 module_io_mm5.o : module_io_mm5.F
183 module_si_io.o : module_si_io.F
184 module_io_wrf.o : module_io_wrf.F
185 module_domain.o : module_domain.F
186 module_start.o : module_start.F
187 module_initialize.o : module_initialize.F
188 module_initialize_b_wave.o : module_initialize_b_wave.F
189 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
190 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
191 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
192 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
193 module_initialize_real.o : module_initialize_real.F
194 module_dm.o : module_dm.F
195 start_domain.o : start_domain.F
200 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
201 module_start.o module_initialize.o module_initialize_b_wave.o \
202 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
203 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
204 module_initialize_real.o module_dm.o start_domain.o :
206 $(SED_FTN) $*.F > $*.b
207 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
209 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
211 ###########################################################
212 #ARCH SGI 64 bit machine IRIX64 (single-threaded, no nesting)
219 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
221 RWORDSIZE = $(NATIVE_RWORDSIZE)
223 FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
224 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
225 PROMOTION = -r$(RWORDSIZE) -i4
226 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
228 ESMF_IO_LIB = ESMFIOLIB
229 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
230 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
231 -I../frame -I../share -I../phys -I../chem -I../inc
232 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
233 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
234 -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
235 PERL = CONFIGURE_PERL_PATH
237 LIB = CONFIGURE_NETCDF_LIB_PATH \
238 -L../external/io_int -lwrfio_int \
239 -L../external/io_grib1 -lio_grib1 \
240 CONFIGURE_GRIB2_LIB \
241 -L../external/io_grib_share -lio_grib_share \
242 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
243 LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
244 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
246 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
247 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
251 NETCDFPATH = CONFIGURE_NETCDF_PATH
254 #### Override default sed command and script for Fortran source files ####
255 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
256 #### because the SGI Fortran compiler complains about long source lines. ####
257 SED_FTN = sed -f ../arch/no_file_line.sed
259 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
262 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
265 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
268 ( cd ../external/io_int ; \
269 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
272 ( cd ../external/io_grib_share ; \
273 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
276 ( cd ../external/io_grib1 ; \
277 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
280 ( cd ../external/io_grib2 ; \
281 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
284 ( cd ../external/esmf_time_f90 ; \
285 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
287 # compile these without high optimization to speed compile
288 solve_interface.o : solve_interface.F
289 shift_domain_em.o : shift_domain_em.F
290 module_io_mm5.o : module_io_mm5.F
291 module_si_io.o : module_si_io.F
292 module_io_wrf.o : module_io_wrf.F
293 module_domain.o : module_domain.F
294 module_start.o : module_start.F
295 module_initialize.o : module_initialize.F
296 module_initialize_b_wave.o : module_initialize_b_wave.F
297 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
298 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
299 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
300 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
301 module_initialize_real.o : module_initialize_real.F
302 module_dm.o : module_dm.F
303 start_domain.o : start_domain.F
307 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
308 module_start.o module_initialize.o module_initialize_b_wave.o \
309 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
310 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
311 module_initialize_real.o module_dm.o start_domain.o :
313 $(SED_FTN) $*.F > $*.b
314 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
316 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
318 module_configure.o : module_configure.F
320 $(SED_FTN) $*.F > $*.b
321 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
323 $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
325 ###########################################################
328 FC = f90 -n32 -mips4 -w
330 LD = f90 -n32 -mips4 -w
333 RWORDSIZE = $(NATIVE_RWORDSIZE)
334 PROMOTION = -r$(RWORDSIZE) -i4
337 FCBASEOPTS = -freeform -I. -w
338 FCFLAGS = -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
339 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
340 -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
341 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
343 ESMF_IO_LIB = ESMFIOLIB
344 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
345 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../share \
346 -I../phys -I../chem -I../inc -I../external/esmf_time_f90
347 PERL = CONFIGURE_PERL_PATH
349 LIB = CONFIGURE_NETCDF_LIB_PATH \
350 -L../external/io_grib1 -lio_grib1 \
351 CONFIGURE_GRIB2_LIB \
352 -L../external/io_grib_share -lio_grib_share \
353 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
356 LDFLAGS = CONFIGURE_LDFLAGS
357 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
359 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
360 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
362 NETCDFPATH = CONFIGURE_NETCDF_PATH
365 #### Override default sed command and script for Fortran source files ####
366 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
367 #### because the SGI Fortran compiler complains about long source lines. ####
368 SED_FTN = sed -f ../arch/no_file_line.sed
370 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
373 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
376 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
379 ( cd ../external/io_int ; \
380 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
383 ( cd ../external/io_grib_share ; \
384 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
387 ( cd ../external/io_grib1 ; \
388 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
391 ( cd ../external/io_grib2 ; \
392 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
395 ( cd ../external/esmf_time_f90 ; \
396 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
398 # compile these without high optimization to speed compile
399 solve_interface.o : solve_interface.F
400 shift_domain_em.o : shift_domain_em.F
401 module_configure.o : module_configure.F
402 module_io_mm5.o : module_io_mm5.F
403 module_si_io.o : module_si_io.F
404 module_io_wrf.o : module_io_wrf.F
405 module_domain.o : module_domain.F
406 module_start.o : module_start.F
407 module_initialize.o : module_initialize.F
408 module_initialize_b_wave.o : module_initialize_b_wave.F
409 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
410 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
411 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
412 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
413 module_initialize_real.o : module_initialize_real.F
414 module_dm.o : module_dm.F
415 start_domain.o : start_domain.F
420 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
421 module_start.o module_initialize.o module_initialize_b_wave.o \
422 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
423 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
424 module_initialize_real.o module_dm.o start_domain.o :
426 $(SED_FTN) $*.F > $*.b
427 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
429 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
431 ###########################################################
432 #ARCH SGI 64 bit machine IRIX64 (OpenMP, no nesting)
441 RWORDSIZE = $(NATIVE_RWORDSIZE)
442 PROMOTION = -r$(RWORDSIZE) -i4
443 CFLAGS = -64 -DLANDREAD_STUB -DNCARIBM_NOC99
446 FCBASEOPTS = -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
447 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
448 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
450 ESMF_IO_LIB = ESMFIOLIB
451 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
452 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
453 -I../frame -I../share -I../phys -I../chem -I../inc
454 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
455 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
456 -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
457 PERL = CONFIGURE_PERL_PATH
459 LIB = CONFIGURE_NETCDF_LIB_PATH $(OMP) \
460 -L../external/io_int -lwrfio_int \
461 -L../external/io_grib1 -lio_grib1 \
462 CONFIGURE_GRIB2_LIB \
463 -L../external/io_grib_share -lio_grib_share \
464 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
465 LDFLAGS = $(FCOPTIM) -64 -OPT:Olimit=5269 CONFIGURE_LDFLAGS
466 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
468 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
469 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
473 NETCDFPATH = CONFIGURE_NETCDF_PATH
476 #### Override default sed command and script for Fortran source files ####
477 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
478 #### because the SGI Fortran compiler complains about long source lines. ####
479 SED_FTN = sed -f ../arch/no_file_line.sed
481 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
484 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
487 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
490 ( cd ../external/io_int ; \
491 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
494 ( cd ../external/io_grib_share ; \
495 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
498 ( cd ../external/io_grib1 ; \
499 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
502 ( cd ../external/io_grib2 ; \
503 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
506 ( cd ../external/esmf_time_f90 ; \
507 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
509 # compile these without high optimization to speed compile
510 solve_interface.o : solve_interface.F
511 shift_domain_em.o : shift_domain_em.F
512 module_configure.o : module_configure.F
513 module_io_mm5.o : module_io_mm5.F
514 module_si_io.o : module_si_io.F
515 module_io_wrf.o : module_io_wrf.F
516 module_domain.o : module_domain.F
517 module_start.o : module_start.F
518 module_initialize.o : module_initialize.F
519 module_initialize_b_wave.o : module_initialize_b_wave.F
520 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
521 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
522 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
523 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
524 module_initialize_real.o : module_initialize_real.F
525 module_dm.o : module_dm.F
526 start_domain.o : start_domain.F
531 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
532 module_start.o module_initialize.o module_initialize_b_wave.o \
533 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
534 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
535 module_initialize_real.o module_dm.o start_domain.o :
537 $(SED_FTN) $*.F > $*.b
538 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
540 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
542 ###########################################################
543 #ARCH SGI O2K DM IRIX64 DM-Parallel (RSL, SGI-MPI, allows nesting)
545 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
546 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
558 RWORDSIZE = $(NATIVE_RWORDSIZE)
559 PROMOTION = -r$(RWORDSIZE) -i4
560 CFLAGS = -w -64 -mips4 -DWRF_RSL_IO -DMAXDOM_MAKE=$(MAX_DOMAINS) \
561 -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -DDM_PARALLEL -DLANDREAD_STUB -DNCARIBM_NOC99
563 FCOPTIM = -O3 -OPT:roundoff=3:IEEE_arithmetic=3
564 FCBASEOPTS = -freeform -I. -64 -mips4 -w $(FCDEBUG) -w
565 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
566 ARCHFLAGS = $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
567 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
568 -DLIMIT_ARGS -DLANDREAD_STUB
569 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
571 ESMF_IO_LIB = ESMFIOLIB
572 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
573 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../frame -I../external/esmf_time_f90 \
574 -I../share -I../phys -I../chem -I../inc
575 PERL = CONFIGURE_PERL_PATH
577 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
578 -L../external/RSL/RSL -lrsl -lmpi \
579 -L../external/io_grib1 -lio_grib1 \
580 CONFIGURE_GRIB2_LIB \
581 -L../external/io_grib_share -lio_grib_share \
582 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
583 LDFLAGS = -64 $(OMP) CONFIGURE_LDFLAGS
584 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
586 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
587 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
591 NETCDFPATH = CONFIGURE_NETCDF_PATH
594 #### Override default sed command and script for Fortran source files ####
595 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
596 #### because the SGI Fortran compiler complains about long source lines. ####
597 SED_FTN = sed -f ../arch/no_file_line.sed
599 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
601 gen_comms.c : ../external/RSL/gen_comms.c
602 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
603 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
605 module_dm.F : ../external/RSL/module_dm.F
606 ( /bin/cp module_dm_warning module_dm.F ; \
607 cat ../external/RSL/module_dm.F >> module_dm.F )
610 ( cd ../external/io_netcdf ; \
611 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
614 ( cd ../external/io_int ; \
615 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
618 ( cd ../external/io_grib_share ; \
619 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
622 ( cd ../external/io_grib1 ; \
623 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
626 ( cd ../external/io_grib2 ; \
627 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
630 ( cd ../external/esmf_time_f90 ; \
631 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
633 ../external/RSL/RSL/librsl.a :
634 ( cd ../external/RSL/RSL ; \
635 make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
636 LEARN_BCAST=-DLEARN_BCAST o2k )
638 # compile these without high optimization to speed compile
639 solve_interface.o : solve_interface.F
640 shift_domain_em.o : shift_domain_em.F
641 module_configure.o : module_configure.F
642 module_io_mm5.o : module_io_mm5.F
643 module_si_io.o : module_si_io.F
644 module_io_wrf.o : module_io_wrf.F
645 module_domain.o : module_domain.F
646 module_start.o : module_start.F
647 module_initialize.o : module_initialize.F
648 module_initialize_b_wave.o : module_initialize_b_wave.F
649 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
650 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
651 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
652 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
653 module_initialize_real.o : module_initialize_real.F
654 module_dm.o : module_dm.F
655 start_domain.o : start_domain.F
660 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
661 module_start.o module_initialize.o module_initialize_b_wave.o \
662 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
663 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
664 module_initialize_real.o module_dm.o start_domain.o :
666 $(SED_FTN) $*.F > $*.b
667 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
669 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
671 ###########################################################
672 #ARCH Sun SunOS (single-threaded, no nesting)
679 RWORDSIZE = $(NATIVE_RWORDSIZE)
680 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
681 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
682 CFLAGS = -DNCARIBM_NOC99
683 FCOPTIM = -O2 # -O4 -xlibmopt
685 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
686 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
687 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
689 ESMF_IO_LIB = ESMFIOLIB
690 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
691 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
692 -I../frame -I../share -I../phys -I../inc -I../chem \
693 -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
694 -M../frame -M../share -M../phys -M../inc -M../chem \
696 ARCHFLAGS = $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
697 CONFIGURE_NETCDF_FLAG \
699 PERL = CONFIGURE_PERL_PATH
701 LIB = CONFIGURE_NETCDF_LIB_PATH \
702 -L../external/io_int -lwrfio_int \
703 -L../external/io_grib1 -lio_grib1 \
704 CONFIGURE_GRIB2_LIB \
705 -L../external/io_grib_share -lio_grib_share \
706 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
707 LDFLAGS = $(FCOPTIM) CONFIGURE_LDFLAGS
708 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
709 #CPP = /opt/SUNWspro/bin/fpp
710 CPP = /usr/ccs/lib/cpp -C -P
711 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
712 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
716 NETCDFPATH = CONFIGURE_NETCDF_PATH
719 #### Override default sed command and script for Fortran source files ####
720 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
721 #### because the Sun Fortran compiler complains about long source lines, ####
722 #### usually due to cpp translating __FILE__ to a full pathname. ####
723 SED_FTN = sed -f ../arch/no_file_line.sed
725 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
728 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
731 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
734 ( cd ../external/io_int ; \
735 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
738 ( cd ../external/io_grib_share ; \
739 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
742 ( cd ../external/io_grib1 ; \
743 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
746 ( cd ../external/io_grib2 ; \
747 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
750 ( cd ../external/esmf_time_f90 ; \
751 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
753 solve_interface.o : solve_interface.F
755 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
756 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
758 # compile these without high optimization to speed compile
759 shift_domain_em.o : shift_domain_em.F
760 module_io_mm5.o : module_io_mm5.F
761 module_si_io.o : module_si_io.F
762 module_io_wrf.o : module_io_wrf.F
763 module_domain.o : module_domain.F
764 module_start.o : module_start.F
765 module_initialize.o : module_initialize.F
766 module_initialize_b_wave.o : module_initialize_b_wave.F
767 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
768 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
769 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
770 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
771 module_initialize_real.o : module_initialize_real.F
772 mediation_interp_domain.o : mediation_interp_domain.F
773 mediation_force_domain.o : mediation_force_domain.F
774 module_dm.o : module_dm.F
775 start_domain.o : start_domain.F
776 wrf_bdyin.o : wrf_bdyin.F
777 wrf_bdyout.o : wrf_bdyout.F
778 wrf_histin.o : wrf_histin.F
779 wrf_histout.o : wrf_histout.F
780 wrf_inputin.o : wrf_inputin.F
781 wrf_inputout.o : wrf_inputout.F
782 wrf_restartin.o : wrf_restartin.F
783 wrf_restartout.o : wrf_restartout.F
784 module_configure.o : module_configure.F
788 wrf_bdyin.o wrf_bdyout.o \
789 wrf_histin.o wrf_histout.o \
790 wrf_inputin.o wrf_inputout.o \
791 wrf_restartin.o wrf_restartout.o \
792 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
793 module_start.o module_initialize.o module_initialize_b_wave.o \
794 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
795 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
796 module_initialize_real.o mediation_interp_domain.o \
797 mediation_force_domain.o module_dm.o start_domain.o :
799 $(SED_FTN) $*.F > $*.b
800 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
802 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
804 ###########################################################
805 #ARCH Sun SunOS (single-threaded, nesting using RSL and no MPI)
807 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
808 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
819 RWORDSIZE = $(NATIVE_RWORDSIZE)
820 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
821 -DDM_PARALLEL -DRSL \
822 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
823 -DLIMIT_ARGS -DFLOATSAFE \
825 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
826 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
827 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
828 FCOPTIM = -O2 # -O4 -xlibmopt
830 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
831 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
832 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
834 ESMF_IO_LIB = ESMFIOLIB
835 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
836 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
837 -I../frame -I../share -I../phys -I../inc -I../chem \
838 -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
839 -M../frame -M../share -M../phys -M../inc -M../chem \
841 PERL = CONFIGURE_PERL_PATH
843 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
844 -L../external/RSL/RSL -lrsl \
845 -L../external/io_grib1 -lio_grib1 \
846 CONFIGURE_GRIB2_LIB \
847 -L../external/io_grib_share -lio_grib_share \
848 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
849 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
850 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
851 CPP = /usr/ccs/lib/cpp -C -P
852 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
853 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
858 NETCDFPATH = CONFIGURE_NETCDF_PATH
861 #### Override default sed command and script for Fortran source files ####
862 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
863 #### because the Sun Fortran compiler complains about long source lines, ####
864 #### usually due to cpp translating __FILE__ to a full pathname. ####
865 SED_FTN = sed -f ../arch/no_file_line.sed
867 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
869 gen_comms.c : ../external/RSL/gen_comms.c
870 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
871 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
873 module_dm.F : ../external/RSL/module_dm.F
874 ( /bin/cp module_dm_warning module_dm.F ; \
875 cat ../external/RSL/module_dm.F >> module_dm.F )
878 ( cd ../external/io_netcdf ; \
879 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
882 ( cd ../external/io_int ; \
883 make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
886 ( cd ../external/io_grib_share ; \
887 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
890 ( cd ../external/io_grib1 ; \
891 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
894 ( cd ../external/io_grib2 ; \
895 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
898 ( cd ../external/esmf_time_f90 ; \
899 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
901 ../external/RSL/RSL/librsl.a :
902 ( cd ../external/RSL/RSL ; \
903 make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
904 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
906 # compile these without high optimization to speed compile
907 module_io_mm5.o : module_io_mm5.F
908 module_si_io.o : module_si_io.F
909 module_io_wrf.o : module_io_wrf.F
910 module_domain.o : module_domain.F
911 module_start.o : module_start.F
912 module_initialize.o : module_initialize.F
913 module_initialize_b_wave.o : module_initialize_b_wave.F
914 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
915 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
916 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
917 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
918 module_initialize_real.o : module_initialize_real.F
919 module_dm.o : module_dm.F
920 start_domain.o : start_domain.F
921 wrf_bdyin.o : wrf_bdyin.F
922 wrf_bdyout.o : wrf_bdyout.F
923 wrf_histin.o : wrf_histin.F
924 wrf_histout.o : wrf_histout.F
925 wrf_inputin.o : wrf_inputin.F
926 wrf_inputout.o : wrf_inputout.F
927 wrf_restartin.o : wrf_restartin.F
928 wrf_restartout.o : wrf_restartout.F
929 module_configure.o : module_configure.F
932 wrf_bdyin.o wrf_bdyout.o \
933 wrf_histin.o wrf_histout.o \
934 wrf_inputin.o wrf_inputout.o \
935 wrf_restartin.o wrf_restartout.o \
936 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
937 module_start.o module_initialize.o module_initialize_b_wave.o \
938 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
939 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
940 module_initialize_real.o module_dm.o start_domain.o :
942 $(SED_FTN) $*.F > $*.b
943 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
945 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
947 ###########################################################
948 #ARCH Sun SunOS SM (OpenMP, no nesting)
950 OMP = -mp=openmp -explicitpar -stackvar
957 RWORDSIZE = $(NATIVE_RWORDSIZE)
958 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
959 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
960 CFLAGS = -DNCARIBM_NOC99
961 FCOPTIM = -O3 -xlibmopt
963 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
964 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
965 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
967 ESMF_IO_LIB = ESMFIOLIB
968 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
969 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
970 -I../frame -I../share -I../phys -I../inc -I../chem \
971 -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
972 -M../frame -M../share -M../phys -M../inc -M../chem \
974 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
975 CONFIGURE_NETCDF_FLAG \
977 PERL = CONFIGURE_PERL_PATH
979 LIB = CONFIGURE_NETCDF_LIB_PATH \
980 -L../external/io_int -lwrfio_int \
981 -L../external/io_grib1 -lio_grib1 \
982 CONFIGURE_GRIB2_LIB \
983 -L../external/io_grib_share -lio_grib_share \
984 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
985 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
986 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
987 #CPP = /opt/SUNWspro/bin/fpp
988 CPP = /usr/ccs/lib/cpp -C -P
989 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
990 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
994 NETCDFPATH = CONFIGURE_NETCDF_PATH
997 #### Override default sed command and script for Fortran source files ####
998 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
999 #### because the Sun Fortran compiler complains about long source lines, ####
1000 #### usually due to cpp translating __FILE__ to a full pathname. ####
1001 SED_FTN = sed -f ../arch/no_file_line.sed
1003 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1006 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1009 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
1012 ( cd ../external/io_int ; \
1013 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
1016 ( cd ../external/io_grib_share ; \
1017 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
1020 ( cd ../external/io_grib1 ; \
1021 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1024 ( cd ../external/io_grib2 ; \
1025 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1028 ( cd ../external/esmf_time_f90 ; \
1029 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1031 solve_interface.o : solve_interface.F
1033 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
1034 $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
1036 # compile these without high optimization to speed compile
1037 shift_domain_em.o : shift_domain_em.F
1038 module_io_mm5.o : module_io_mm5.F
1039 module_si_io.o : module_si_io.F
1040 module_io_wrf.o : module_io_wrf.F
1041 module_domain.o : module_domain.F
1042 module_start.o : module_start.F
1043 module_initialize.o : module_initialize.F
1044 module_initialize_b_wave.o : module_initialize_b_wave.F
1045 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1046 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1047 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1048 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1049 module_initialize_real.o : module_initialize_real.F
1050 module_dm.o : module_dm.F
1051 start_domain.o : start_domain.F
1052 module_configure.o : module_configure.F
1055 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1056 module_start.o module_initialize.o module_initialize_b_wave.o \
1057 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1058 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1059 module_configure.o \
1060 module_initialize_real.o module_dm.o start_domain.o :
1062 $(SED_FTN) $*.F > $*.b
1063 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1065 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1067 ###########################################################
1068 #ARCH Sun SunOS SM (OpenMP, nesting using RSL and no MPI)
1070 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1071 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1075 OMP = -mp=openmp -explicitpar -stackvar
1082 RWORDSIZE = $(NATIVE_RWORDSIZE)
1083 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1084 -DDM_PARALLEL -DRSL \
1085 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1086 -DLIMIT_ARGS -DFLOATSAFE \
1088 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
1089 PROMOTION = -xtypemap=real:$(RSIZEBITS),integer:32
1090 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
1091 FCOPTIM = -O3 -xlibmopt
1093 FCBASEOPTS = -fnonstd -free -xpp=cpp $(FCDEBUG) -w
1094 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1095 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1097 ESMF_IO_LIB = ESMFIOLIB
1098 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1099 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1100 -I../frame -I../share -I../phys -I../inc -I../chem \
1101 -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
1102 -M../frame -M../share -M../phys -M../inc -M../chem \
1104 PERL = CONFIGURE_PERL_PATH
1106 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
1107 -L../external/RSL/RSL -lrsl \
1108 -L../external/io_grib1 -lio_grib1 \
1109 CONFIGURE_GRIB2_LIB \
1110 -L../external/io_grib_share -lio_grib_share \
1111 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1112 LDFLAGS = $(FCOPTIM) $(OMP) $(OMP) CONFIGURE_LDFLAGS
1113 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1114 CPP = /usr/ccs/lib/cpp -C -P
1115 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1116 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1121 NETCDFPATH = CONFIGURE_NETCDF_PATH
1124 #### Override default sed command and script for Fortran source files ####
1125 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
1126 #### because the Sun Fortran compiler complains about long source lines, ####
1127 #### usually due to cpp translating __FILE__ to a full pathname. ####
1128 SED_FTN = sed -f ../arch/no_file_line.sed
1130 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
1132 gen_comms.c : ../external/RSL/gen_comms.c
1133 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
1134 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1136 module_dm.F : ../external/RSL/module_dm.F
1137 ( /bin/cp module_dm_warning module_dm.F ; \
1138 cat ../external/RSL/module_dm.F >> module_dm.F )
1141 ( cd ../external/io_netcdf ; \
1142 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
1145 ( cd ../external/io_int ; \
1146 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -cpp -free" all )
1149 ( cd ../external/io_grib_share ; \
1150 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
1153 ( cd ../external/io_grib1 ; \
1154 make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1157 ( cd ../external/io_grib2 ; \
1158 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1161 ( cd ../external/esmf_time_f90 ; \
1162 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1164 ../external/RSL/RSL/librsl.a :
1165 ( cd ../external/RSL/RSL ; \
1166 make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
1167 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
1169 # compile these without high optimization to speed compile
1170 module_io_mm5.o : module_io_mm5.F
1171 module_si_io.o : module_si_io.F
1172 module_io_wrf.o : module_io_wrf.F
1173 module_domain.o : module_domain.F
1174 module_start.o : module_start.F
1175 module_initialize.o : module_initialize.F
1176 module_initialize_b_wave.o : module_initialize_b_wave.F
1177 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1178 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1179 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1180 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1181 module_initialize_real.o : module_initialize_real.F
1182 module_dm.o : module_dm.F
1183 start_domain.o : start_domain.F
1184 module_configure.o : module_configure.F
1186 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1187 module_start.o module_initialize.o module_initialize_b_wave.o \
1188 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1189 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1190 module_configure.o \
1191 module_initialize_real.o module_dm.o start_domain.o :
1193 $(SED_FTN) $*.F > $*.b
1194 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1196 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1198 ###########################################################
1199 #ARCH AIX (single-threaded, no nesting)
1206 RWORDSIZE = $(NATIVE_RWORDSIZE)
1207 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1208 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
1209 FCOPTIM = -O2 -qarch=auto
1210 #FCOPTIM = -O3 -qhot
1211 FCDEBUG = # -qnoopt -qfullpath
1212 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
1214 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1215 FCSUFFIX = -qsuffix=f=f90=F
1216 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1217 ESMF_LIB_FLAGS = -lC
1218 ESMF_IO_LIB = ESMFIOLIB
1219 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1220 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1221 -I../frame -I../share -I../phys -I../chem -I../inc
1222 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1223 CONFIGURE_NETCDF_FLAG \
1224 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1225 PERL = CONFIGURE_PERL_PATH
1227 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
1228 -L../external/io_int -lwrfio_int \
1229 -L../external/io_grib1 -lio_grib1 \
1230 CONFIGURE_GRIB2_LIB \
1231 -L../external/io_grib_share -lio_grib_share \
1232 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1234 LDFLAGS = CONFIGURE_LDFLAGS
1235 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1236 CPP = /lib/cpp -C -P
1237 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1238 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1242 NETCDFPATH = CONFIGURE_NETCDF_PATH
1245 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1248 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1251 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1254 ( cd ../external/io_int ; \
1255 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1258 ( cd ../external/io_grib_share ; \
1259 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1262 ( cd ../external/io_grib1 ; \
1263 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1266 ( cd ../external/io_grib2 ; \
1267 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 )
1270 ( cd ../external/esmf_time_f90 ; \
1271 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1273 # compile these without high optimization to speed compile
1274 wrf_bdyout.o : wrf_bdyout.F
1275 wrf_bdyin.o : wrf_bdyin.F
1276 wrf_restartout.o : wrf_restartout.F
1277 wrf_restartin.o : wrf_restartin.F
1278 wrf_inputin.o : wrf_inputin.F
1279 wrf_inputout.o : wrf_inputout.F
1280 wrf_histin.o : wrf_histin.F
1281 wrf_histout.o : wrf_histout.F
1282 shift_domain_em.o : shift_domain_em.F
1283 module_io_mm5.o : module_io_mm5.F
1284 module_si_io.o : module_si_io.F
1285 module_io_wrf.o : module_io_wrf.F
1286 module_domain.o : module_domain.F
1287 module_start.o : module_start.F
1288 module_initialize.o : module_initialize.F
1289 module_initialize_b_wave.o : module_initialize_b_wave.F
1290 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1291 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1292 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1293 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1294 module_initialize_real.o : module_initialize_real.F
1295 module_dm.o : module_dm.F
1296 start_domain.o : start_domain.F
1297 mediation_integrate.o : mediation_integrate.F
1298 mediation_interp_domain.o : mediation_interp_domain.F
1299 mediation_force_domain.o : mediation_force_domain.F
1300 mediation_feedback_domain.o : mediation_feedback_domain.F
1301 convert_nmm.o : convert_nmm.F
1302 module_configure.o : module_configure.F
1303 solve_interface.o : solve_interface.F
1304 solve_em.o : solve_em.F
1305 solve_nmm.o : solve_nmm.F
1306 module_integrate.o : module_integrate.F
1308 wrf_bdyout.o wrf_bdyin.o \
1309 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1310 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1311 module_start.o module_initialize.o module_initialize_b_wave.o \
1312 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1313 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1314 module_initialize_real.o module_dm.o \
1315 mediation_integrate.o \
1316 mediation_interp_domain.o \
1317 module_configure.o \
1324 $(SED_FTN) $*.F > $*.b
1325 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1327 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1329 # to prevent having to call our service representative
1330 mediation_feedback_domain.o \
1331 mediation_force_domain.o start_domain.o module_integrate.o :
1333 $(SED_FTN) $*.F > $*.b
1334 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1336 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1338 ###########################################################
1339 #ARCH AIX SM (OpenMP, no nesting)
1341 OMP = -qsmp=noauto:noopt
1348 RWORDSIZE = $(NATIVE_RWORDSIZE)
1349 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1350 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99
1351 FCOPTIM = -O2 -qarch=auto
1352 #FCOPTIM = -O3 -qhot
1353 FCDEBUG = # -qnoopt -qfullpath
1354 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1355 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1356 FCSUFFIX = -qsuffix=f=f90
1357 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1358 ESMF_LIB_FLAGS = -lC
1359 ESMF_IO_LIB = ESMFIOLIB
1360 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1361 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1362 -I../frame -I../share -I../phys -I../chem -I../inc
1363 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1364 CONFIGURE_NETCDF_FLAG \
1365 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1366 PERL = CONFIGURE_PERL_PATH
1368 LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1369 -L../external/io_int -lwrfio_int \
1370 -L../external/io_grib1 -lio_grib1 \
1371 CONFIGURE_GRIB2_LIB \
1372 -L../external/io_grib_share -lio_grib_share \
1373 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1374 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
1375 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1376 CPP = /lib/cpp -C -P
1377 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1378 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1382 NETCDFPATH = CONFIGURE_NETCDF_PATH
1385 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1388 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1391 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1394 ( cd ../external/io_int ; \
1395 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1398 ( cd ../external/io_grib_share ; \
1399 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1402 ( cd ../external/io_grib1 ; \
1403 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1406 ( cd ../external/io_grib2 ; \
1407 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 )
1410 ( cd ../external/esmf_time_f90 ; \
1411 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1413 module_sm.o : module_sm.F
1414 module_tiles.o : module_tiles.F
1415 solve_em.o : solve_em.F
1416 solve_exp.o : solve_exp.F
1417 convert_nmm.o : convert_nmm.F
1419 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1421 $(SED_FTN) $*.F > $*.b
1422 $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
1424 $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1426 # Compiled WITHOUT ANY SMP, needed Mar 2005
1427 module_domain.o : module_domain.F
1429 $(SED_FTN) $*.F > $*.b
1430 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1432 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1434 # compile these without high optimization to speed compile
1435 wrf_bdyout.o : wrf_bdyout.F
1436 wrf_bdyin.o : wrf_bdyin.F
1437 wrf_restartout.o : wrf_restartout.F
1438 wrf_restartin.o : wrf_restartin.F
1439 wrf_inputin.o : wrf_inputin.F
1440 wrf_inputout.o : wrf_inputout.F
1441 wrf_histin.o : wrf_histin.F
1442 wrf_histout.o : wrf_histout.F
1443 shift_domain_em.o : shift_domain_em.F
1444 module_io_mm5.o : module_io_mm5.F
1445 module_si_io.o : module_si_io.F
1446 module_io_wrf.o : module_io_wrf.F
1447 module_start.o : module_start.F
1448 module_initialize.o : module_initialize.F
1449 module_initialize_b_wave.o : module_initialize_b_wave.F
1450 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1451 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1452 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1453 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1454 module_initialize_real.o : module_initialize_real.F
1455 module_dm.o : module_dm.F
1456 start_domain.o : start_domain.F
1457 mediation_integrate.o : mediation_integrate.F
1458 mediation_interp_domain.o : mediation_interp_domain.F
1459 mediation_force_domain.o : mediation_force_domain.F
1460 mediation_feedback_domain.o : mediation_feedback_domain.F
1461 convert_nmm.o : convert_nmm.F
1462 module_configure.o : module_configure.F
1463 solve_interface.o : solve_interface.F
1464 module_integrate.o : module_integrate.F
1466 wrf_bdyout.o wrf_bdyin.o \
1467 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1468 module_io_mm5.o module_si_io.o module_io_wrf.o \
1469 module_start.o module_initialize.o module_initialize_b_wave.o \
1470 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1471 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1472 module_initialize_real.o module_dm.o \
1473 mediation_integrate.o \
1474 mediation_interp_domain.o \
1475 module_configure.o \
1480 $(SED_FTN) $*.F > $*.b
1481 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1483 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1487 ###########################################################
1488 #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting)
1490 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1491 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1499 RWORDSIZE = $(NATIVE_RWORDSIZE)
1500 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1501 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \
1502 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1503 FCOPTIM = -O2 -qarch=auto
1504 #FCOPTIM = -O3 -qhot
1505 FCDEBUG = # -qnoopt -qfullpath
1506 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1507 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1508 FCSUFFIX = -qsuffix=f=f90
1509 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1510 ESMF_LIB_FLAGS = -lC
1511 ESMF_IO_LIB = ESMFIOLIB
1512 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1513 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf \
1514 -I../external/io_int -I../external/esmf_time_f90 \
1515 -I../frame -I../share -I../phys -I../chem -I../inc
1516 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1517 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1518 -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1519 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST)
1522 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1523 -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
1524 -L../external/io_int -lwrfio_int \
1525 -L../external/io_grib1 -lio_grib1 \
1526 CONFIGURE_GRIB2_LIB \
1527 -L../external/io_grib_share -lio_grib_share \
1528 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1529 LDFLAGS = CONFIGURE_LDFLAGS
1530 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1532 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1533 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1538 NETCDFPATH = CONFIGURE_NETCDF_PATH
1539 PNETCDFPATH = CONFIGURE_PNETCDF_PATH
1542 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
1544 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1545 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1547 module_dm.F : ../external/RSL_LITE/module_dm.F
1548 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1551 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1554 ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1557 ( cd ../external/io_int ; \
1558 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1561 ( cd ../external/io_grib_share ; \
1562 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1565 ( cd ../external/io_grib1 ; \
1566 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1569 ( cd ../external/io_grib2 ; \
1570 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 )
1573 ( cd ../external/esmf_time_f90 ; \
1574 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1576 ../external/RSL_LITE/librsl_lite.a :
1577 ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1579 # compile these without high optimization
1580 wrf_bdyout.o : wrf_bdyout.F
1581 wrf_bdyin.o : wrf_bdyin.F
1582 wrf_restartout.o : wrf_restartout.F
1583 wrf_restartin.o : wrf_restartin.F
1584 wrf_inputin.o : wrf_inputin.F
1585 wrf_inputout.o : wrf_inputout.F
1586 wrf_histin.o : wrf_histin.F
1587 wrf_histout.o : wrf_histout.F
1588 module_io_mm5.o : module_io_mm5.F
1589 module_si_io.o : module_si_io.F
1590 module_io_wrf.o : module_io_wrf.F
1591 module_domain.o : module_domain.F
1592 module_start.o : module_start.F
1593 module_initialize.o : module_initialize.F
1594 module_initialize_b_wave.o : module_initialize_b_wave.F
1595 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1596 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1597 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1598 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1599 module_initialize_real.o : module_initialize_real.F
1600 module_dm.o : module_dm.F
1601 start_domain.o : start_domain.F
1602 mediation_integrate.o : mediation_integrate.F
1603 mediation_interp_domain.o : mediation_interp_domain.F
1604 mediation_force_domain.o : mediation_force_domain.F
1605 mediation_feedback_domain.o : mediation_feedback_domain.F
1606 convert_nmm.o : convert_nmm.F
1607 solve_interface.o : solve_interface.F
1608 shift_domain_em.o : shift_domain_em.F
1609 solve_em.o : solve_em.F
1610 solve_nmm.o : solve_nmm.F
1612 wrf_bdyout.o wrf_bdyin.o \
1613 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1614 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1615 module_start.o module_initialize.o module_initialize_b_wave.o \
1616 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1617 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1618 module_initialize_real.o module_dm.o start_domain.o \
1619 mediation_force_domain.o \
1620 mediation_integrate.o \
1621 mediation_interp_domain.o \
1622 mediation_feedback_domain.o \
1629 $(SED_FTN) $*.F > $*.b
1630 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1632 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1634 ###########################################################
1635 #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting)
1637 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1638 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1646 RWORDSIZE = $(NATIVE_RWORDSIZE)
1647 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1648 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
1649 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1650 FCOPTIM = -O2 -qarch=auto
1651 #FCOPTIM = -O3 -qhot
1652 FCDEBUG = # -qnoopt -qfullpath
1653 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1655 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1656 FCSUFFIX = -qsuffix=f=f90
1657 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1658 ESMF_LIB_FLAGS = -lC
1659 ESMF_IO_LIB = ESMFIOLIB
1660 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1661 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/io_pnetcdf $(ESMF_IO_INC) \
1662 -I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC)
1663 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1664 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1665 -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1666 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV $(ESMF_IO_DEFS)
1669 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1670 -L../external/RSL/RSL -lrsl -lmass -lmassv \
1671 -L../external/io_int -lwrfio_int \
1672 -L../external/io_grib1 -lio_grib1 \
1673 CONFIGURE_GRIB2_LIB \
1674 -L../external/io_grib_share -lio_grib_share \
1675 ../frame/module_internal_header_util.o ../frame/pack_utils.o $(ESMF_IO_LIB)
1676 LDFLAGS = CONFIGURE_LDFLAGS
1677 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1679 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1680 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1685 NETCDFPATH = CONFIGURE_NETCDF_PATH
1686 PNETCDFPATH = CONFIGURE_PNETCDF_PATH
1689 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET)
1691 gen_comms.c : ../external/RSL/gen_comms.c
1692 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1694 module_dm.F : ../external/RSL/module_dm.F
1695 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
1698 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1701 ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1704 ( cd ../external/io_int ; \
1705 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1708 ( cd ../external/io_grib_share ; \
1709 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1712 ( cd ../external/io_grib1 ; \
1713 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1716 ( cd ../external/io_grib2 ; \
1717 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 )
1720 ( cd ../external/esmf_time_f90 ; \
1721 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1723 ../external/RSL/RSL/librsl.a :
1724 ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
1726 # compile these without high optimization
1727 wrf_bdyout.o : wrf_bdyout.F
1728 wrf_bdyin.o : wrf_bdyin.F
1729 wrf_restartout.o : wrf_restartout.F
1730 wrf_restartin.o : wrf_restartin.F
1731 wrf_inputin.o : wrf_inputin.F
1732 wrf_inputout.o : wrf_inputout.F
1733 wrf_histin.o : wrf_histin.F
1734 wrf_histout.o : wrf_histout.F
1735 module_io_mm5.o : module_io_mm5.F
1736 module_si_io.o : module_si_io.F
1737 module_io_wrf.o : module_io_wrf.F
1738 module_domain.o : module_domain.F
1739 module_start.o : module_start.F
1740 module_initialize.o : module_initialize.F
1741 module_initialize_b_wave.o : module_initialize_b_wave.F
1742 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1743 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1744 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1745 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1746 module_initialize_real.o : module_initialize_real.F
1747 module_dm.o : module_dm.F
1748 start_domain.o : start_domain.F
1749 mediation_integrate.o : mediation_integrate.F
1750 mediation_interp_domain.o : mediation_interp_domain.F
1751 mediation_force_domain.o : mediation_force_domain.F
1752 mediation_feedback_domain.o : mediation_feedback_domain.F
1753 convert_nmm.o : convert_nmm.F
1754 solve_interface.o : solve_interface.F
1755 shift_domain_em.o : shift_domain_em.F
1756 solve_em.o : solve_em.F
1757 solve_nmm.o : solve_nmm.F
1758 start_domain_nmm.o : start_domain_nmm.F
1759 couple_or_uncouple_em.o : couple_or_uncouple_em.F
1760 nest_init_utils.o : nest_init_utils.F
1762 wrf_bdyout.o wrf_bdyin.o \
1763 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1764 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1765 module_start.o module_initialize.o module_initialize_b_wave.o \
1766 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1767 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1768 module_initialize_real.o module_dm.o start_domain.o \
1769 mediation_force_domain.o \
1770 mediation_integrate.o \
1771 mediation_interp_domain.o \
1772 mediation_feedback_domain.o \
1777 start_domain_nmm.o \
1778 couple_or_uncouple_em.o \
1782 $(SED_FTN) $*.F > $*.b
1783 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1785 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1787 ###########################################################
1788 #ARCH AIX DM-Parallel (RSL, IBM-MPI, allows nesting )(PARALLEL HDF5)
1790 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1791 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1799 RWORDSIZE = $(NATIVE_RWORDSIZE)
1800 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1801 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
1802 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1803 FCOPTIM = -O2 -qarch=auto
1804 #FCOPTIM = -O3 -qhot
1805 FCDEBUG = # -qnoopt -qfullpath
1806 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1807 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1808 FCSUFFIX = -qsuffix=f=f90
1809 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1810 ESMF_LIB_FLAGS = -lC
1811 ESMF_IO_LIB = ESMFIOLIB
1812 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1813 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \
1814 -I../frame -I../share -I../phys -I../chem -I../inc
1815 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1816 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1817 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1820 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
1821 -L../external/io_int -lwrfio_int \
1822 -L../external/io_grib1 -lio_grib1 \
1823 CONFIGURE_GRIB2_LIB \
1824 -L../external/io_grib_share -lio_grib_share \
1825 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1826 LDFLAGS = CONFIGURE_LDFLAGS
1827 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1829 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1830 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1835 NETCDFPATH = CONFIGURE_NETCDF_PATH
1838 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
1840 gen_comms.c : ../external/RSL/gen_comms.c
1841 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1843 module_dm.F : ../external/RSL/module_dm.F
1844 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
1847 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1850 ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
1853 ( cd ../external/io_int ; \
1854 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1857 ( cd ../external/io_grib_share ; \
1858 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1861 ( cd ../external/io_grib1 ; \
1862 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1865 ( cd ../external/io_grib2 ; \
1866 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 )
1869 ( cd ../external/esmf_time_f90 ; \
1870 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1872 ../external/RSL/RSL/librsl.a :
1873 ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
1875 # compile these without high optimization
1876 wrf_bdyout.o : wrf_bdyout.F
1877 wrf_bdyin.o : wrf_bdyin.F
1878 wrf_restartout.o : wrf_restartout.F
1879 wrf_restartin.o : wrf_restartin.F
1880 wrf_inputin.o : wrf_inputin.F
1881 wrf_inputout.o : wrf_inputout.F
1882 wrf_histin.o : wrf_histin.F
1883 wrf_histout.o : wrf_histout.F
1884 module_io_mm5.o : module_io_mm5.F
1885 module_si_io.o : module_si_io.F
1886 module_io_wrf.o : module_io_wrf.F
1887 module_domain.o : module_domain.F
1888 module_start.o : module_start.F
1889 module_initialize.o : module_initialize.F
1890 module_initialize_b_wave.o : module_initialize_b_wave.F
1891 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1892 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1893 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1894 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1895 module_initialize_real.o : module_initialize_real.F
1896 module_dm.o : module_dm.F
1897 start_domain.o : start_domain.F
1898 mediation_integrate.o : mediation_integrate.F
1899 mediation_interp_domain.o : mediation_interp_domain.F
1900 mediation_force_domain.o : mediation_force_domain.F
1901 mediation_feedback_domain.o : mediation_feedback_domain.F
1902 convert_nmm.o : convert_nmm.F
1903 solve_interface.o : solve_interface.F
1904 shift_domain_em.o : shift_domain_em.F
1905 solve_em.o : solve_em.F
1906 solve_nmm.o : solve_nmm.F
1908 wrf_bdyout.o wrf_bdyin.o \
1909 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1910 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1911 module_start.o module_initialize.o module_initialize_b_wave.o \
1912 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
1913 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
1914 module_initialize_real.o module_dm.o start_domain.o \
1915 mediation_force_domain.o \
1916 mediation_integrate.o \
1917 mediation_interp_domain.o \
1918 mediation_feedback_domain.o \
1925 $(SED_FTN) $*.F > $*.b
1926 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
1928 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1930 ###########################################################
1931 #ARCH AIX DM-Parallel (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5)
1933 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1934 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1942 RWORDSIZE = $(NATIVE_RWORDSIZE)
1943 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
1944 CFLAGS = -DNOUNDERSCORE -I../external/RSL_LITE -DDM_PARALLEL \
1945 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1946 FCOPTIM = -O2 -qarch=auto
1947 #FCOPTIM = -O3 -qhot
1948 FCDEBUG = # -qnoopt -qfullpath
1949 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1950 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
1951 FCSUFFIX = -qsuffix=f=f90
1952 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1953 ESMF_LIB_FLAGS = -lC
1954 ESMF_IO_LIB = ESMFIOLIB
1955 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
1956 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_phdf5 -I../external/io_int -I../external/esmf_time_f90 \
1957 -I../frame -I../share -I../phys -I../inc -I../chem
1958 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1959 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1960 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1963 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
1964 -L../external/io_int -lwrfio_int \
1965 -L../external/io_grib1 -lio_grib1 \
1966 CONFIGURE_GRIB2_LIB \
1967 -L../external/io_grib_share -lio_grib_share \
1968 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1969 LDFLAGS = CONFIGURE_LDFLAGS
1970 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
1972 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1973 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1978 NETCDFPATH = CONFIGURE_NETCDF_PATH
1981 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
1983 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1984 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1986 module_dm.F : ../external/RSL_LITE/module_dm.F
1987 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1990 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1993 ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
1996 ( cd ../external/io_int ; \
1997 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2000 ( cd ../external/io_grib_share ; \
2001 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2004 ( cd ../external/io_grib1 ; \
2005 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2008 ( cd ../external/io_grib2 ; \
2009 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 )
2012 ( cd ../external/esmf_time_f90 ; \
2013 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2015 ../external/RSL_LITE/librsl_lite.a :
2016 ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2018 # compile these without high optimization
2019 wrf_bdyout.o : wrf_bdyout.F
2020 wrf_bdyin.o : wrf_bdyin.F
2021 wrf_restartout.o : wrf_restartout.F
2022 wrf_restartin.o : wrf_restartin.F
2023 wrf_inputin.o : wrf_inputin.F
2024 wrf_inputout.o : wrf_inputout.F
2025 wrf_histin.o : wrf_histin.F
2026 wrf_histout.o : wrf_histout.F
2027 module_io_mm5.o : module_io_mm5.F
2028 module_si_io.o : module_si_io.F
2029 module_io_wrf.o : module_io_wrf.F
2030 module_domain.o : module_domain.F
2031 module_start.o : module_start.F
2032 module_initialize.o : module_initialize.F
2033 module_initialize_b_wave.o : module_initialize_b_wave.F
2034 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2035 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2036 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2037 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2038 module_initialize_real.o : module_initialize_real.F
2039 module_dm.o : module_dm.F
2040 start_domain.o : start_domain.F
2041 mediation_integrate.o : mediation_integrate.F
2042 mediation_interp_domain.o : mediation_interp_domain.F
2043 mediation_force_domain.o : mediation_force_domain.F
2044 mediation_feedback_domain.o : mediation_feedback_domain.F
2045 convert_nmm.o : convert_nmm.F
2046 solve_interface.o : solve_interface.F
2047 shift_domain_em.o : shift_domain_em.F
2048 solve_em.o : solve_em.F
2049 solve_nmm.o : solve_nmm.F
2051 wrf_bdyout.o wrf_bdyin.o \
2052 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2053 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2054 module_start.o module_initialize.o module_initialize_b_wave.o \
2055 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2056 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2057 module_initialize_real.o module_dm.o start_domain.o \
2058 mediation_force_domain.o \
2059 mediation_integrate.o \
2060 mediation_interp_domain.o \
2061 mediation_feedback_domain.o \
2068 $(SED_FTN) $*.F > $*.b
2069 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2071 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2073 ###########################################################
2074 #ARCH AIX DM-Parallel/SM-Parallel (not recommended) (RSL, IBM-MPI, OpenMP, allows nesting)
2076 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2077 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2080 OMP = -qsmp=noauto:noopt
2087 RWORDSIZE = $(NATIVE_RWORDSIZE)
2088 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
2089 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
2090 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
2091 FCOPTIM = -O2 -qarch=auto
2092 #FCOPTIM = -O3 -qhot
2093 FCDEBUG = # -qnoopt -qfullpath
2094 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2095 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2096 FCSUFFIX = -qsuffix=f=f90
2097 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2098 ESMF_LIB_FLAGS = -lC
2099 ESMF_IO_LIB = ESMFIOLIB
2100 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2101 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
2102 -I../frame -I../share -I../phys -I../chem -I../inc
2103 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2104 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
2105 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
2106 PERL = CONFIGURE_PERL_PATH
2108 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lxlsmp -lmass -lmassv \
2109 -L../external/io_int -lwrfio_int \
2110 -L../external/io_grib1 -lio_grib1 \
2111 CONFIGURE_GRIB2_LIB \
2112 -L../external/io_grib_share -lio_grib_share \
2113 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
2114 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
2115 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2117 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2118 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2122 NETCDFPATH = CONFIGURE_NETCDF_PATH
2126 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2128 gen_comms.c : ../external/RSL/gen_comms.c
2129 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2131 module_dm.F : ../external/RSL/module_dm.F
2132 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2135 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2138 ( cd ../external/io_int ; \
2139 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2142 ( cd ../external/io_grib_share ; \
2143 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2146 ( cd ../external/io_grib1 ; \
2147 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2150 ( cd ../external/io_grib2 ; \
2151 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 )
2154 ( cd ../external/esmf_time_f90 ; \
2155 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2157 ../external/RSL/RSL/librsl.a :
2158 ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
2160 # compile these without high optimization to speed compile
2161 wrf_bdyout.o : wrf_bdyout.F
2162 wrf_bdyin.o : wrf_bdyin.F
2163 wrf_restartout.o : wrf_restartout.F
2164 wrf_restartin.o : wrf_restartin.F
2165 wrf_inputin.o : wrf_inputin.F
2166 wrf_inputout.o : wrf_inputout.F
2167 wrf_histin.o : wrf_histin.F
2168 wrf_histout.o : wrf_histout.F
2169 module_io_mm5.o : module_io_mm5.F
2170 module_si_io.o : module_si_io.F
2171 module_io_wrf.o : module_io_wrf.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 module_dm.o : module_dm.F
2181 start_domain.o : start_domain.F
2182 mediation_integrate.o : mediation_integrate.F
2183 mediation_interp_domain.o : mediation_interp_domain.F
2184 mediation_force_domain.o : mediation_force_domain.F
2185 mediation_feedback_domain.o : mediation_feedback_domain.F
2186 convert_nmm.o : convert_nmm.F
2187 module_configure.o : module_configure.F
2188 shift_domain_em.o : shift_domain_em.F
2189 solve_em.o : solve_em.F
2190 solve_nmm.o : solve_nmm.F
2192 wrf_bdyout.o wrf_bdyin.o \
2193 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2194 module_io_mm5.o module_si_io.o module_io_wrf.o \
2195 module_start.o module_initialize.o module_initialize_b_wave.o \
2196 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2197 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2198 module_initialize_real.o module_dm.o start_domain.o \
2200 module_configure.o \
2205 mediation_integrate.o \
2206 mediation_interp_domain.o :
2208 $(SED_FTN) $*.F > $*.b
2209 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2211 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2213 # to prevent having to call our service representative
2214 mediation_feedback_domain.o \
2215 mediation_force_domain.o start_domain.o :
2217 $(SED_FTN) $*.F > $*.b
2218 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2220 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2222 # Compiled WITHOUT ANY SMP, needed Mar 2005
2223 module_domain.o : module_domain.F
2225 $(SED_FTN) $*.F > $*.b
2226 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2228 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2230 ###########################################################
2231 #ARCH AIX DM-Parallel (RSL, IBM-MPI, MCEL) May 2003, EXPERIMENTAL
2233 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2234 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2242 RWORDSIZE = $(NATIVE_RWORDSIZE)
2243 MCELHOME = /home/bluesky/bettenc/disttest
2244 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
2245 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
2246 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
2247 FCOPTIM = -O2 -qarch=auto
2248 #FCOPTIM = -O3 -qhot
2249 FCDEBUG = # -qnoopt -qfullpath
2250 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2251 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
2252 FCSUFFIX = -qsuffix=f=f90
2253 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2254 ESMF_LIB_FLAGS = -lC
2255 ESMF_IO_LIB = ESMFIOLIB
2256 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2257 INCLUDE_MODULES = -I../../inc -I../external/io_int -I../external/esmf_time_f90 \
2258 -I../frame -I../share -I../phys -I../chem -I../inc
2259 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2260 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \
2261 -DNO_NAMELIST_PRINT -DNATIVE_MASSV
2264 LIB = CONFIGURE_NETCDF_LIB_PATH \
2265 -L../external/io_grib1 -lio_grib1 \
2266 CONFIGURE_GRIB2_LIB \
2267 -L../external/io_grib_share -lio_grib_share \
2268 -L../external/RSL/RSL -lrsl -lmass -lmassv -lxlsmp \
2269 -L../external/io_mcel -lwrfio_mcel \
2270 -L$(MCELHOME)/MCELSystem/MCEL -lMCEL \
2271 -L$(MCELHOME)/lib -lomniORB4 \
2272 -lomnithread -lomniDynamic4 -lnetcdf_c++ -lnetcdf -lxlf90 -lxlopt \
2273 -lxlf -lxlomp_ser -lm -lc -lpthread \
2274 -L../external/io_int -lwrfio_int \
2275 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
2276 LDFLAGS = CONFIGURE_LDFLAGS
2277 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2279 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2280 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2285 NETCDFPATH = CONFIGURE_NETCDF_PATH
2288 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time
2290 gen_comms.c : ../external/RSL/gen_comms.c
2291 ( cat ../tools/gen_comms_warning ../external/RSL/gen_comms.c > ../tools/gen_comms.c )
2293 module_dm.F : ../external/RSL/module_dm.F
2294 ( cat module_dm_warning ../external/RSL/module_dm.F > module_dm.F )
2297 ( cd ../external/io_netcdf ; \
2298 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2301 ( cd ../external/io_int ; \
2302 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2305 ( cd ../external/io_grib_share ; \
2306 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2309 ( cd ../external/io_grib1 ; \
2310 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2313 ( cd ../external/io_grib2 ; \
2314 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 )
2317 ( cd ../external/esmf_time_f90 ; \
2318 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2321 ( cd ../external/io_mcel ; \
2322 make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I../../inc -I../io_netcdf -I../../frame -I../../share \
2323 -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all )
2326 ../external/RSL/RSL/librsl.a :
2327 ( cd ../external/RSL/RSL ; \
2328 make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
2330 # compile these without high optimization
2331 wrf_bdyout.o : wrf_bdyout.F
2332 wrf_bdyin.o : wrf_bdyin.F
2333 wrf_restartout.o : wrf_restartout.F
2334 wrf_restartin.o : wrf_restartin.F
2335 wrf_inputin.o : wrf_inputin.F
2336 wrf_inputout.o : wrf_inputout.F
2337 wrf_histin.o : wrf_histin.F
2338 wrf_histout.o : wrf_histout.F
2339 module_io_mm5.o : module_io_mm5.F
2340 module_si_io.o : module_si_io.F
2341 module_io_wrf.o : module_io_wrf.F
2342 module_domain.o : module_domain.F
2343 module_start.o : module_start.F
2344 module_initialize.o : module_initialize.F
2345 module_initialize_b_wave.o : module_initialize_b_wave.F
2346 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2347 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2348 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2349 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2350 module_initialize_real.o : module_initialize_real.F
2351 module_dm.o : module_dm.F
2352 start_domain.o : start_domain.F
2353 mediation_integrate.o : mediation_integrate.F
2354 mediation_interp_domain.o : mediation_interp_domain.F
2355 mediation_force_domain.o : mediation_force_domain.F
2356 mediation_feedback_domain.o : mediation_feedback_domain.F
2357 convert_nmm.o : convert_nmm.F
2358 solve_interface.o : solve_interface.F
2359 shift_domain_em.o : shift_domain_em.F
2360 solve_em.o : solve_em.F
2361 solve_nmm.o : solve_nmm.F
2363 wrf_bdyout.o wrf_bdyin.o \
2364 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2365 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2366 module_start.o module_initialize.o module_initialize_b_wave.o \
2367 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2368 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2369 module_initialize_real.o module_dm.o start_domain.o \
2370 mediation_force_domain.o \
2371 mediation_integrate.o \
2372 mediation_interp_domain.o \
2373 mediation_feedback_domain.o \
2380 $(SED_FTN) $*.F > $*.b
2381 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2383 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2385 ###########################################################
2386 #ARCH AIX (single-threaded, nesting using RSL without MPI)
2388 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2389 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2397 RWORDSIZE = $(NATIVE_RWORDSIZE)
2398 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
2399 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
2400 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
2401 FCOPTIM = -O2 -qarch=auto
2402 #FCOPTIM = -O3 -qhot
2403 FCDEBUG = # -qnoopt -qfullpath
2404 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2405 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
2406 FCSUFFIX = -qsuffix=f=f90
2407 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2408 ESMF_LIB_FLAGS = -lC
2409 ESMF_IO_LIB = ESMFIOLIB
2410 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2411 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
2412 -I../frame -I../share -I../phys -I../chem -I../inc
2413 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2414 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2415 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
2418 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
2419 -L../external/io_int -lwrfio_int \
2420 -L../external/io_grib1 -lio_grib1 \
2421 CONFIGURE_GRIB2_LIB \
2422 -L../external/io_grib_share -lio_grib_share \
2423 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
2424 LDFLAGS = CONFIGURE_LDFLAGS
2425 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2426 CPP = /lib/cpp -C -P
2427 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2428 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2433 NETCDFPATH = CONFIGURE_NETCDF_PATH
2436 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2438 gen_comms.c : ../external/RSL/gen_comms.c
2439 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2441 module_dm.F : ../external/RSL/module_dm.F
2442 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2445 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2448 ( cd ../external/io_int ; \
2449 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2452 ( cd ../external/io_grib_share ; \
2453 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2456 ( cd ../external/io_grib1 ; \
2457 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2460 ( cd ../external/io_grib2 ; \
2461 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)
2464 ( cd ../external/esmf_time_f90 ; \
2465 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2467 ../external/RSL/RSL/librsl.a :
2468 ( cd ../external/RSL/RSL ; \
2469 make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
2470 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
2472 # compile these without high optimization
2473 wrf_bdyout.o : wrf_bdyout.F
2474 wrf_bdyin.o : wrf_bdyin.F
2475 wrf_restartout.o : wrf_restartout.F
2476 wrf_restartin.o : wrf_restartin.F
2477 wrf_inputin.o : wrf_inputin.F
2478 wrf_inputout.o : wrf_inputout.F
2479 wrf_histin.o : wrf_histin.F
2480 wrf_histout.o : wrf_histout.F
2481 module_io_mm5.o : module_io_mm5.F
2482 module_si_io.o : module_si_io.F
2483 module_io_wrf.o : module_io_wrf.F
2484 module_domain.o : module_domain.F
2485 module_start.o : module_start.F
2486 module_initialize.o : module_initialize.F
2487 module_initialize_b_wave.o : module_initialize_b_wave.F
2488 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2489 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2490 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2491 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2492 module_initialize_real.o : module_initialize_real.F
2493 module_dm.o : module_dm.F
2494 start_domain.o : start_domain.F
2495 mediation_integrate.o : mediation_integrate.F
2496 mediation_interp_domain.o : mediation_interp_domain.F
2497 mediation_force_domain.o : mediation_force_domain.F
2498 mediation_feedback_domain.o : mediation_feedback_domain.F
2499 convert_nmm.o : convert_nmm.F
2500 solve_interface.o : solve_interface.F
2501 shift_domain_em.o : shift_domain_em.F
2502 solve_em.o : solve_em.F
2503 solve_nmm.o : solve_nmm.F
2504 couple_or_uncouple_em.o : couple_or_uncouple_em.F
2506 wrf_bdyout.o wrf_bdyin.o \
2507 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2508 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2509 module_start.o module_initialize.o module_initialize_b_wave.o \
2510 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2511 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2512 module_initialize_real.o module_dm.o start_domain.o \
2513 mediation_force_domain.o \
2514 mediation_integrate.o \
2515 mediation_interp_domain.o \
2516 mediation_feedback_domain.o \
2519 couple_or_uncouple_em.o \
2524 $(SED_FTN) $*.F > $*.b
2525 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2527 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2529 ###########################################################
2530 #ARCH AIX (OpenMP, nesting using RSL without MPI)
2532 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2533 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2535 OMP = -qsmp=noauto:noopt
2543 RWORDSIZE = $(NATIVE_RWORDSIZE)
2544 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
2545 CFLAGS = -DNOUNDERSCORE -DWRF_RSL_IO -I../external/RSL/RSL -DDM_PARALLEL \
2546 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
2547 FCOPTIM = -O2 -qarch=auto
2548 #FCOPTIM = -O3 -qhot
2549 FCDEBUG = # -qnoopt -qfullpath
2550 FCBASEOPTS = -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2551 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
2552 FCSUFFIX = -qsuffix=f=f90
2553 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2554 ESMF_LIB_FLAGS = -lC
2555 ESMF_IO_LIB = ESMFIOLIB
2556 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2557 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
2558 -I../frame -I../share -I../phys -I../chem -I../inc
2559 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2560 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2561 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
2564 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
2565 -L../external/io_int -lwrfio_int \
2566 -L../external/io_grib1 -lio_grib1 \
2567 CONFIGURE_GRIB2_LIB \
2568 -L../external/io_grib_share -lio_grib_share \
2569 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
2570 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
2571 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2572 CPP = /lib/cpp -C -P
2573 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2574 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2579 NETCDFPATH = CONFIGURE_NETCDF_PATH
2582 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2584 gen_comms.c : ../external/RSL/gen_comms.c
2585 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2587 module_dm.F : ../external/RSL/module_dm.F
2588 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2591 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2594 ( cd ../external/io_int ; \
2595 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2598 ( cd ../external/io_grib_share ; \
2599 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2602 ( cd ../external/io_grib1 ; \
2603 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2606 ( cd ../external/io_grib2 ; \
2607 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 )
2610 ( cd ../external/esmf_time_f90 ; \
2611 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2613 ../external/RSL/RSL/librsl.a :
2614 ( cd ../external/RSL/RSL ; \
2615 make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
2616 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
2618 # compile these without high optimization
2619 wrf_bdyout.o : wrf_bdyout.F
2620 wrf_bdyin.o : wrf_bdyin.F
2621 wrf_restartout.o : wrf_restartout.F
2622 wrf_restartin.o : wrf_restartin.F
2623 wrf_inputin.o : wrf_inputin.F
2624 wrf_inputout.o : wrf_inputout.F
2625 wrf_histin.o : wrf_histin.F
2626 wrf_histout.o : wrf_histout.F
2627 module_io_mm5.o : module_io_mm5.F
2628 module_si_io.o : module_si_io.F
2629 module_io_wrf.o : module_io_wrf.F
2630 module_start.o : module_start.F
2631 module_initialize.o : module_initialize.F
2632 module_initialize_b_wave.o : module_initialize_b_wave.F
2633 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2634 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2635 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2636 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2637 start_domain.o : start_domain.F
2638 convert_nmm.o : convert_nmm.F
2639 solve_interface.o : solve_interface.F
2640 shift_domain_em.o : shift_domain_em.F
2641 solve_em.o : solve_em.F
2642 solve_nmm.o : solve_nmm.F
2644 wrf_bdyout.o wrf_bdyin.o \
2645 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2646 module_io_mm5.o module_si_io.o module_io_wrf.o \
2647 module_start.o module_initialize.o module_initialize_b_wave.o \
2648 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2649 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2657 $(SED_FTN) $*.F > $*.b
2658 $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
2660 $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2662 # Compiled WITHOUT ANY SMP, needed Mar 2005
2663 module_domain.o : module_domain.F
2664 module_dm.o : module_dm.F
2665 mediation_integrate.o : mediation_integrate.F
2666 mediation_interp_domain.o : mediation_interp_domain.F
2667 mediation_force_domain.o : mediation_force_domain.F
2668 mediation_feedback_domain.o : mediation_feedback_domain.F
2669 module_initialize_real.o : module_initialize_real.F
2673 mediation_integrate.o \
2674 mediation_interp_domain.o \
2675 mediation_force_domain.o \
2676 mediation_feedback_domain.o \
2677 module_initialize_real.o :
2679 $(SED_FTN) $*.F > $*.b
2680 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2682 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2684 ###########################################################
2685 #ARCH Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI)
2688 BGL_SYS = /bgl/BlueLight/ppcfloor/bglsys
2689 MPI_INC = -I$(BGL_SYS)/include
2690 MPI_LIB = -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
2691 TRACE_LIB = -L/contrib/bgl/mpi_trace -lmpitrace_c
2700 RWORDSIZE = $(NATIVE_RWORDSIZE)
2701 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
2702 CFLAGS = -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB
2703 FCOPTIM = -O2 -qarch=440
2704 FCDEBUG = # -qnoopt -qfullpath -qarch=440
2706 FCBASEOPTS = -qspill=20000 $(FCDEBUG) -qmaxmem=64000 $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
2707 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
2709 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int -I../external/esmf_time_f90 \
2710 -I../frame -I../share -I../phys -I../chem -I../inc
2712 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2713 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
2714 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DLANDREAD_STUB
2718 LIB = CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
2719 -L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
2720 -L../external/io_int -lwrfio_int \
2721 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
2722 $(TRACE_LIB) $(MPI_LIB)
2724 LDFLAGS = -Wl,--allow-multiple-definition -qstatic
2727 CPP = /opt/ibmcmp/xlf/9.1/exe/cpp
2728 POUND_DEF = -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2729 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2731 #### this is a hand installed version of m4 on frost.ucar.edu
2732 #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
2733 M4 = /home/janicec/m4 -B 12000
2735 NETCDFPATH = CONFIGURE_NETCDF_PATH
2736 PNETCDFPATH = CONFIGURE_PNETCDF_PATH
2740 externals : wrf_ioapi_includes ../external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c
2742 gen_comms.c : ../external/RSL_LITE/gen_comms.c
2743 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
2745 module_dm.F : ../external/RSL_LITE/module_dm.F
2746 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
2749 ( cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2752 ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2755 ( cd ../external/io_int ; \
2756 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2759 ( cd ../external/io_grib1 ; \
2760 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2763 ( cd ../external/esmf_time_f90 ; \
2764 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2766 ../external/RSL_LITE/librsl_lite.a :
2767 ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2769 solve_interface.o : solve_interface.F
2771 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
2772 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
2774 # compile these without high optimization to speed compile
2775 wrf_bdyout.o : wrf_bdyout.F
2776 wrf_bdyin.o : wrf_bdyin.F
2777 wrf_restartout.o : wrf_restartout.F
2778 wrf_restartin.o : wrf_restartin.F
2779 wrf_inputin.o : wrf_inputin.F
2780 wrf_inputout.o : wrf_inputout.F
2781 wrf_histin.o : wrf_histin.F
2782 wrf_histout.o : wrf_histout.F
2783 shift_domain_em.o : shift_domain_em.F
2784 module_io_mm5.o : module_io_mm5.F
2785 module_si_io.o : module_si_io.F
2786 module_io_wrf.o : module_io_wrf.F
2787 module_domain.o : module_domain.F
2788 module_start.o : module_start.F
2789 module_initialize.o : module_initialize.F
2790 module_initialize_b_wave.o : module_initialize_b_wave.F
2791 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2792 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2793 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2794 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2795 module_initialize_real.o : module_initialize_real.F
2796 module_dm.o : module_dm.F
2797 start_domain.o : start_domain.F
2798 mediation_integrate.o : mediation_integrate.F
2799 mediation_interp_domain.o : mediation_interp_domain.F
2800 mediation_force_domain.o : mediation_force_domain.F
2801 mediation_feedback_domain.o : mediation_feedback_domain.F
2802 convert_nmm.o : convert_nmm.F
2803 module_configure.o : module_configure.F
2804 solve_em.o : solve_em.F
2805 start_em.o : start_em.F
2807 wrf_bdyout.o wrf_bdyin.o \
2808 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2809 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2810 module_start.o module_initialize.o module_initialize_b_wave.o \
2811 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2812 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2813 module_initialize_real.o module_dm.o \
2814 mediation_integrate.o \
2815 mediation_interp_domain.o \
2816 module_configure.o \
2822 $(SED_FTN) $*.F > $*.b
2823 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2825 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
2827 # to prevent having to call our service representative
2828 mediation_feedback_domain.o \
2829 mediation_force_domain.o start_domain.o :
2831 $(SED_FTN) $*.F > $*.b
2832 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2834 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
2836 ###########################################################
2837 #ARCH Compaq OSF1 alpha (single-threaded, no nesting)
2846 RWORDSIZE = $(NATIVE_RWORDSIZE)
2847 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2848 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2849 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2850 -DLIMIT_ARGS -DFLOATSAFE
2851 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2852 CFLAGS = $(ARCHFLAGS)
2855 FCDEBUG_ESMF = # -O0
2856 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2857 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2858 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2859 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2860 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2862 ESMF_IO_LIB = ESMFIOLIB
2863 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
2864 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
2865 -I../frame -I../share -I../phys -I../chem -I../inc
2866 PERL = CONFIGURE_PERL_PATH
2868 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
2869 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
2870 -L../external/io_grib1 -lio_grib1 \
2871 CONFIGURE_GRIB2_LIB \
2872 -L../external/io_grib_share -lio_grib_share
2873 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2874 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
2875 CPP = /usr/bin/cpp -C -P
2876 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2877 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2881 NETCDFPATH = CONFIGURE_NETCDF_PATH
2884 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
2887 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2890 ( cd ../external/io_netcdf ; \
2891 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2894 ( cd ../external/io_int ; \
2895 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2898 ( cd ../external/io_grib_share ; \
2899 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)
2902 ( cd ../external/io_grib1 ; \
2903 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)
2906 ( cd ../external/io_grib2 ; \
2907 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)
2910 ( cd ../external/esmf_time_f90 ; \
2911 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2913 nest_init_utils.o : nest_init_utils.F
2914 module_optional_si_input.o : module_optional_si_input.F
2916 nest_init_utils.o module_optional_si_input.o :
2918 $(SED_FTN) $*.F > $*.b
2919 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2921 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2923 # compile these without high optimization to speed compile
2924 module_io_mm5.o : module_io_mm5.F
2925 module_si_io.o : module_si_io.F
2926 module_io_wrf.o : module_io_wrf.F
2927 module_domain.o : module_domain.F
2928 module_start.o : module_start.F
2929 module_initialize.o : module_initialize.F
2930 module_initialize_b_wave.o : module_initialize_b_wave.F
2931 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2932 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2933 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2934 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2935 module_initialize_real.o : module_initialize_real.F
2936 start_domain.o : start_domain.F
2937 module_configure.o : module_configure.F
2938 mediation_interp_domain.o : mediation_interp_domain.F
2939 mediation_force_domain.o : mediation_force_domain.F
2940 mediation_feedback_domain.o : mediation_feedback_domain.F
2942 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2943 module_start.o module_initialize.o module_initialize_b_wave.o \
2944 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
2945 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
2946 module_configure.o \
2947 mediation_interp_domain.o \
2948 mediation_force_domain.o \
2949 mediation_feedback_domain.o \
2950 module_initialize_real.o start_domain.o :
2952 $(SED_FTN) $*.F > $*.b
2953 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2955 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2957 mediation_integrate.o : mediation_integrate.F
2958 module_dm.o : module_dm.F
2959 mediation_wrfmain.o : mediation_wrfmain.F
2960 solve_em.o : solve_em.F
2962 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
2964 $(SED_FTN) $*.F > $*.b
2965 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
2967 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2969 ###########################################################
2970 #ARCH Compaq OSF1 alpha (single-threaded, nesting using RSL without MPI )
2972 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2973 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2984 RWORDSIZE = $(NATIVE_RWORDSIZE)
2985 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
2986 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
2987 -DDM_PARALLEL -DRSL \
2988 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2989 -DLIMIT_ARGS -DFLOATSAFE \
2990 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
2991 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2992 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
2995 FCDEBUG_ESMF = # -O0
2996 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2997 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2998 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2999 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3000 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3002 ESMF_IO_LIB = ESMFIOLIB
3003 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3004 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3005 -I../frame -I../share -I../phys -I../chem -I../inc
3006 PERL = CONFIGURE_PERL_PATH
3008 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3009 -L../external/RSL/RSL -lrsl \
3010 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3011 -L../external/io_grib1 -lio_grib1 \
3012 CONFIGURE_GRIB2_LIB \
3013 -L../external/io_grib_share -lio_grib_share
3014 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3015 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3016 CPP = /usr/bin/cpp -C -P
3017 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3018 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3023 NETCDFPATH = CONFIGURE_NETCDF_PATH
3026 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
3028 gen_comms.c : ../external/RSL/gen_comms.c
3029 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3030 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3032 module_dm.F : ../external/RSL/module_dm.F
3033 ( /bin/cp module_dm_warning module_dm.F ; \
3034 cat ../external/RSL/module_dm.F >> module_dm.F )
3037 ( cd ../external/io_netcdf ; \
3038 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3041 ( cd ../external/io_int ; \
3042 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3045 ( cd ../external/io_grib_share ; \
3046 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)
3049 ( cd ../external/io_grib1 ; \
3050 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 )
3053 ( cd ../external/io_grib2 ; \
3054 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 )
3057 ( cd ../external/esmf_time_f90 ; \
3058 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3060 ../external/RSL/RSL/librsl.a :
3061 ( cd ../external/RSL/RSL ; \
3062 make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS='-O -convert big_endian' \
3063 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
3065 nest_init_utils.o : nest_init_utils.F
3066 module_optional_si_input.o : module_optional_si_input.F
3068 nest_init_utils.o module_optional_si_input.o :
3070 $(SED_FTN) $*.F > $*.b
3071 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3073 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3075 # compile these without high optimization to speed compile
3076 module_io_mm5.o : module_io_mm5.F
3077 module_si_io.o : module_si_io.F
3078 module_io_wrf.o : module_io_wrf.F
3079 module_domain.o : module_domain.F
3080 module_start.o : module_start.F
3081 module_initialize.o : module_initialize.F
3082 module_initialize_b_wave.o : module_initialize_b_wave.F
3083 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3084 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3085 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3086 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3087 module_initialize_real.o : module_initialize_real.F
3088 start_domain.o : start_domain.F
3089 module_configure.o : module_configure.F
3090 mediation_interp_domain.o : mediation_interp_domain.F
3091 mediation_force_domain.o : mediation_force_domain.F
3092 mediation_feedback_domain.o : mediation_feedback_domain.F
3094 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3095 module_start.o module_initialize.o module_initialize_b_wave.o \
3096 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3097 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3098 module_configure.o \
3099 mediation_interp_domain.o \
3100 mediation_force_domain.o \
3101 mediation_feedback_domain.o \
3102 module_initialize_real.o start_domain.o :
3104 $(SED_FTN) $*.F > $*.b
3105 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3107 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3109 mediation_integrate.o : mediation_integrate.F
3110 module_dm.o : module_dm.F
3111 mediation_wrfmain.o : mediation_wrfmain.F
3112 solve_em.o : solve_em.F
3114 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
3116 $(SED_FTN) $*.F > $*.b
3117 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3119 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3121 ###########################################################
3122 #ARCH Compaq OSF1 alpha SM (OpenMP, no nesting)
3131 RWORDSIZE = $(NATIVE_RWORDSIZE)
3132 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3133 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
3134 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3135 -DLIMIT_ARGS -DFLOATSAFE
3136 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3137 CFLAGS = $(ARCHFLAGS)
3140 FCDEBUG_ESMF = # -O0
3141 FCREAL8OMP = -align records -align dcommons -granularity quadword
3142 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3143 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3144 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3145 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3146 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3148 ESMF_IO_LIB = ESMFIOLIB
3149 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3150 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3151 -I../frame -I../share -I../phys -I../chem -I../inc
3152 PERL = CONFIGURE_PERL_PATH
3154 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3155 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3156 -L../external/io_grib1 -lio_grib1 \
3157 CONFIGURE_GRIB2_LIB \
3158 -L../external/io_grib_share -lio_grib_share
3159 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3160 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3161 CPP = /usr/bin/cpp -C -P
3162 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3163 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3167 NETCDFPATH = CONFIGURE_NETCDF_PATH
3170 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
3173 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3176 ( cd ../external/io_netcdf ; \
3177 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3180 ( cd ../external/io_int ; \
3181 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3184 ( cd ../external/io_grib_share ; \
3185 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)
3188 ( cd ../external/io_grib1 ; \
3189 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)
3192 ( cd ../external/io_grib2 ; \
3193 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)
3196 ( cd ../external/esmf_time_f90 ; \
3197 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3199 nest_init_utils.o : nest_init_utils.F
3200 module_optional_si_input.o : module_optional_si_input.F
3202 nest_init_utils.o module_optional_si_input.o :
3204 $(SED_FTN) $*.F > $*.b
3205 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3207 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3209 # compile these without high optimization to speed compile
3210 module_io_mm5.o : module_io_mm5.F
3211 module_si_io.o : module_si_io.F
3212 module_io_wrf.o : module_io_wrf.F
3213 module_domain.o : module_domain.F
3214 module_start.o : module_start.F
3215 module_initialize.o : module_initialize.F
3216 module_initialize_b_wave.o : module_initialize_b_wave.F
3217 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3218 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3219 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3220 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3221 module_initialize_real.o : module_initialize_real.F
3222 start_domain.o : start_domain.F
3223 module_configure.o : module_configure.F
3224 mediation_interp_domain.o : mediation_interp_domain.F
3225 mediation_force_domain.o : mediation_force_domain.F
3226 mediation_feedback_domain.o : mediation_feedback_domain.F
3228 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3229 module_start.o module_initialize.o module_initialize_b_wave.o \
3230 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3231 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3232 module_configure.o \
3233 mediation_interp_domain.o \
3234 mediation_force_domain.o \
3235 mediation_feedback_domain.o \
3236 module_initialize_real.o start_domain.o :
3238 $(SED_FTN) $*.F > $*.b
3239 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3241 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3243 mediation_integrate.o : mediation_integrate.F
3244 module_dm.o : module_dm.F
3245 mediation_wrfmain.o : mediation_wrfmain.F
3246 solve_em.o : solve_em.F
3248 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
3250 $(SED_FTN) $*.F > $*.b
3251 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3253 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3255 ###########################################################
3256 #ARCH Compaq OSF1 alpha SM-Parallel (OpenMP, nesting using RSL without MPI )
3258 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3259 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3270 RWORDSIZE = $(NATIVE_RWORDSIZE)
3271 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3272 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3273 -DDM_PARALLEL -DRSL \
3274 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3275 -DLIMIT_ARGS -DFLOATSAFE \
3276 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
3277 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3278 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
3281 FCDEBUG_ESMF = # -O0
3282 FCREAL8OMP = -align records -align dcommons -granularity quadword
3283 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3284 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3285 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3286 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3287 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3289 ESMF_IO_LIB = ESMFIOLIB
3290 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3291 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3292 -I../frame -I../share -I../phys -I../chem -I../inc
3293 PERL = CONFIGURE_PERL_PATH
3295 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3296 -L../external/RSL/RSL -lrsl \
3297 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3298 -L../external/io_grib1 -lio_grib1 \
3299 CONFIGURE_GRIB2_LIB \
3300 -L../external/io_grib_share -lio_grib_share
3301 LDFLAGS = $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3302 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3303 CPP = /usr/bin/cpp -C -P
3304 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3305 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3310 NETCDFPATH = CONFIGURE_NETCDF_PATH
3313 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
3315 gen_comms.c : ../external/RSL/gen_comms.c
3316 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3317 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3319 module_dm.F : ../external/RSL/module_dm.F
3320 ( /bin/cp module_dm_warning module_dm.F ; \
3321 cat ../external/RSL/module_dm.F >> module_dm.F )
3324 ( cd ../external/io_netcdf ; \
3325 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3328 ( cd ../external/io_int ; \
3329 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3332 ( cd ../external/io_grib_share ; \
3333 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)
3336 ( cd ../external/io_grib1 ; \
3337 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 )
3340 ( cd ../external/io_grib2 ; \
3341 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 )
3344 ( cd ../external/esmf_time_f90 ; \
3345 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3347 ../external/RSL/RSL/librsl.a :
3348 ( cd ../external/RSL/RSL ; \
3349 make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS="-O -convert big_endian $(FCREAL8OMP)" \
3350 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
3352 nest_init_utils.o : nest_init_utils.F
3353 module_optional_si_input.o : module_optional_si_input.F
3355 nest_init_utils.o module_optional_si_input.o :
3357 $(SED_FTN) $*.F > $*.b
3358 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3360 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3362 # compile these without high optimization to speed compile
3363 module_io_mm5.o : module_io_mm5.F
3364 module_si_io.o : module_si_io.F
3365 module_io_wrf.o : module_io_wrf.F
3366 module_domain.o : module_domain.F
3367 module_start.o : module_start.F
3368 module_initialize.o : module_initialize.F
3369 module_initialize_b_wave.o : module_initialize_b_wave.F
3370 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3371 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3372 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3373 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3374 module_initialize_real.o : module_initialize_real.F
3375 start_domain.o : start_domain.F
3376 module_configure.o : module_configure.F
3377 mediation_interp_domain.o : mediation_interp_domain.F
3378 mediation_force_domain.o : mediation_force_domain.F
3379 mediation_feedback_domain.o : mediation_feedback_domain.F
3381 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3382 module_start.o module_initialize.o module_initialize_b_wave.o \
3383 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3384 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3385 module_configure.o \
3386 mediation_interp_domain.o \
3387 mediation_force_domain.o \
3388 mediation_feedback_domain.o \
3389 module_initialize_real.o start_domain.o :
3391 $(SED_FTN) $*.F > $*.b
3392 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3394 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3396 mediation_integrate.o : mediation_integrate.F
3397 module_dm.o : module_dm.F
3398 mediation_wrfmain.o : mediation_wrfmain.F
3399 solve_em.o : solve_em.F
3401 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
3403 $(SED_FTN) $*.F > $*.b
3404 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3406 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3408 ###########################################################
3409 #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting)
3411 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3412 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3422 RWORDSIZE = $(NATIVE_RWORDSIZE)
3423 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3424 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
3425 -DDM_PARALLEL -DRSL_LITE \
3426 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3427 -DLIMIT_ARGS -DFLOATSAFE \
3428 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3429 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3430 CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE
3433 FCDEBUG_ESMF = # -O0
3434 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
3435 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
3436 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3437 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3438 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3440 ESMF_IO_LIB = ESMFIOLIB
3441 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3442 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3443 -I../frame -I../share -I../phys -I../chem -I../inc
3444 PERL = CONFIGURE_PERL_PATH
3446 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3447 -L../external/RSL_LITE -lrsl_lite \
3448 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3449 -L../external/io_grib1 -lio_grib1 \
3450 CONFIGURE_GRIB2_LIB \
3451 -L../external/io_grib_share -lio_grib_share
3452 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3453 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3454 CPP = /usr/bin/cpp -C -P
3455 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3456 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3461 NETCDFPATH = CONFIGURE_NETCDF_PATH
3464 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
3466 gen_comms.c : ../external/RSL_LITE/gen_comms.c
3467 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3468 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
3470 module_dm.F : ../external/RSL_LITE/module_dm.F
3471 ( /bin/cp module_dm_warning module_dm.F ; \
3472 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
3475 ( cd ../external/io_netcdf ; \
3476 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3479 ( cd ../external/io_int ; \
3480 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3483 ( cd ../external/io_grib_share ; \
3484 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)
3487 ( cd ../external/io_grib1 ; \
3488 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 )
3491 ( cd ../external/io_grib2 ; \
3492 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 )
3495 ( cd ../external/esmf_time_f90 ; \
3496 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3498 ../external/RSL_LITE/librsl_lite.a :
3499 ( cd ../external/RSL_LITE ; \
3500 make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
3502 nest_init_utils.o : nest_init_utils.F
3503 module_optional_si_input.o : module_optional_si_input.F
3504 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
3506 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
3508 $(SED_FTN) $*.F > $*.b
3509 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3511 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3513 # compile these without high optimization to speed compile
3514 module_io_mm5.o : module_io_mm5.F
3515 module_si_io.o : module_si_io.F
3516 module_io_wrf.o : module_io_wrf.F
3517 module_domain.o : module_domain.F
3518 module_start.o : module_start.F
3519 module_initialize.o : module_initialize.F
3520 module_initialize_b_wave.o : module_initialize_b_wave.F
3521 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3522 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3523 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3524 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3525 module_initialize_real.o : module_initialize_real.F
3526 start_domain.o : start_domain.F
3527 start_domain_nmm.o : start_domain_nmm.F
3528 module_configure.o : module_configure.F
3529 mediation_interp_domain.o : mediation_interp_domain.F
3530 mediation_force_domain.o : mediation_force_domain.F
3531 mediation_feedback_domain.o : mediation_feedback_domain.F
3533 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3534 module_start.o module_initialize.o module_initialize_b_wave.o \
3535 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3536 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3537 module_configure.o \
3538 mediation_interp_domain.o \
3539 mediation_force_domain.o \
3540 mediation_feedback_domain.o \
3541 module_initialize_real.o start_domain.o start_domain_nmm.o :
3543 $(SED_FTN) $*.F > $*.b
3544 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3546 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3548 mediation_integrate.o : mediation_integrate.F
3549 module_dm.o : module_dm.F
3550 mediation_wrfmain.o : mediation_wrfmain.F
3551 solve_em.o : solve_em.F
3553 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
3555 $(SED_FTN) $*.F > $*.b
3556 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3558 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3560 ###########################################################
3561 #ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, allows nesting)
3563 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3564 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3575 RWORDSIZE = $(NATIVE_RWORDSIZE)
3576 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3577 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3578 -DDM_PARALLEL -DRSL \
3579 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3580 -DLIMIT_ARGS -DFLOATSAFE \
3581 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3582 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3583 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
3586 FCDEBUG_ESMF = # -O0
3587 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
3588 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
3589 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3590 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3591 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3593 ESMF_IO_LIB = ESMFIOLIB
3594 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3595 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3596 -I../frame -I../share -I../phys -I../chem -I../inc
3597 PERL = CONFIGURE_PERL_PATH
3599 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3600 -L../external/RSL/RSL -lrsl \
3601 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3602 -L../external/io_grib1 -lio_grib1 \
3603 CONFIGURE_GRIB2_LIB \
3604 -L../external/io_grib_share -lio_grib_share
3605 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3606 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3607 CPP = /usr/bin/cpp -C -P
3608 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3609 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3614 NETCDFPATH = CONFIGURE_NETCDF_PATH
3617 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3619 gen_comms.c : ../external/RSL/gen_comms.c
3620 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3621 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3623 module_dm.F : ../external/RSL/module_dm.F
3624 ( /bin/cp module_dm_warning module_dm.F ; \
3625 cat ../external/RSL/module_dm.F >> module_dm.F )
3628 ( cd ../external/io_netcdf ; \
3629 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3632 ( cd ../external/io_int ; \
3633 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3636 ( cd ../external/io_grib_share ; \
3637 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)
3640 ( cd ../external/io_grib1 ; \
3641 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)
3644 ( cd ../external/io_grib2 ; \
3645 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)
3648 ( cd ../external/esmf_time_f90 ; \
3649 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3651 ../external/RSL/RSL/librsl.a :
3652 ( cd ../external/RSL/RSL ; \
3653 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3655 nest_init_utils.o : nest_init_utils.F
3656 module_optional_si_input.o : module_optional_si_input.F
3658 nest_init_utils.o module_optional_si_input.o :
3660 $(SED_FTN) $*.F > $*.b
3661 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3663 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3665 # compile these without high optimization to speed compile
3666 module_io_mm5.o : module_io_mm5.F
3667 module_si_io.o : module_si_io.F
3668 module_io_wrf.o : module_io_wrf.F
3669 module_domain.o : module_domain.F
3670 module_start.o : module_start.F
3671 module_initialize.o : module_initialize.F
3672 module_initialize_b_wave.o : module_initialize_b_wave.F
3673 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3674 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3675 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3676 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3677 module_initialize_real.o : module_initialize_real.F
3678 start_domain.o : start_domain.F
3679 module_configure.o : module_configure.F
3680 mediation_interp_domain.o : mediation_interp_domain.F
3681 mediation_force_domain.o : mediation_force_domain.F
3682 mediation_feedback_domain.o : mediation_feedback_domain.F
3684 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3685 module_start.o module_initialize.o module_initialize_b_wave.o \
3686 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3687 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3688 module_configure.o \
3689 mediation_interp_domain.o \
3690 mediation_force_domain.o \
3691 mediation_feedback_domain.o \
3692 module_initialize_real.o start_domain.o :
3694 $(SED_FTN) $*.F > $*.b
3695 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3697 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3699 mediation_integrate.o : mediation_integrate.F
3700 module_dm.o : module_dm.F
3701 mediation_wrfmain.o : mediation_wrfmain.F
3702 solve_em.o : solve_em.F
3703 start_em.o : start_em.F
3704 start_domain_nmm.o : start_domain_nmm.F
3706 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o start_em.o start_domain_nmm.o :
3708 $(SED_FTN) $*.F > $*.b
3709 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3711 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3713 ###########################################################
3714 #ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, MPICH, OpenMP, allows nesting)
3716 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3717 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3728 RWORDSIZE = $(NATIVE_RWORDSIZE)
3729 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3730 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3731 -DDM_PARALLEL -DRSL \
3732 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3733 -DLIMIT_ARGS -DFLOATSAFE \
3734 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3735 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3736 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
3739 FCDEBUG_ESMF = # -O0
3740 FCREAL8OMP = -align records -align dcommons -granularity quadword
3741 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3742 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3743 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3744 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3745 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3747 ESMF_IO_LIB = ESMFIOLIB
3748 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3749 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3750 -I../frame -I../share -I../phys -I../chem -I../inc
3751 PERL = CONFIGURE_PERL_PATH
3753 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3754 -L../external/RSL/RSL -lrsl \
3755 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3756 -L../external/io_grib1 -lio_grib1 \
3757 CONFIGURE_GRIB2_LIB \
3758 -L../external/io_grib_share -lio_grib_share
3759 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3760 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3761 CPP = /usr/bin/cpp -C -P
3762 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3763 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3768 NETCDFPATH = CONFIGURE_NETCDF_PATH
3771 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3773 gen_comms.c : ../external/RSL/gen_comms.c
3774 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3775 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3777 module_dm.F : ../external/RSL/module_dm.F
3778 ( /bin/cp module_dm_warning module_dm.F ; \
3779 cat ../external/RSL/module_dm.F >> module_dm.F )
3782 ( cd ../external/io_netcdf ; \
3783 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3786 ( cd ../external/io_int ; \
3787 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3790 ( cd ../external/io_grib_share ; \
3791 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)
3794 ( cd ../external/io_grib1 ; \
3795 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 )
3798 ( cd ../external/io_grib2 ; \
3799 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 )
3802 ( cd ../external/esmf_time_f90 ; \
3803 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3805 ../external/RSL/RSL/librsl.a :
3806 ( cd ../external/RSL/RSL ; \
3807 make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3809 nest_init_utils.o : nest_init_utils.F
3810 module_optional_si_input.o : module_optional_si_input.F
3812 nest_init_utils.o module_optional_si_input.o :
3814 $(SED_FTN) $*.F > $*.b
3815 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3817 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3819 # compile these without high optimization to speed compile
3820 module_io_mm5.o : module_io_mm5.F
3821 module_si_io.o : module_si_io.F
3822 module_io_wrf.o : module_io_wrf.F
3823 module_domain.o : module_domain.F
3824 module_start.o : module_start.F
3825 module_initialize.o : module_initialize.F
3826 module_initialize_b_wave.o : module_initialize_b_wave.F
3827 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3828 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3829 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3830 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3831 module_initialize_real.o : module_initialize_real.F
3832 start_domain.o : start_domain.F
3833 module_configure.o : module_configure.F
3834 mediation_interp_domain.o : mediation_interp_domain.F
3835 mediation_force_domain.o : mediation_force_domain.F
3836 mediation_feedback_domain.o : mediation_feedback_domain.F
3838 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3839 module_start.o module_initialize.o module_initialize_b_wave.o \
3840 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3841 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3842 module_configure.o \
3843 mediation_interp_domain.o \
3844 mediation_force_domain.o \
3845 mediation_feedback_domain.o \
3846 module_initialize_real.o start_domain.o :
3848 $(SED_FTN) $*.F > $*.b
3849 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3851 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3853 mediation_integrate.o : mediation_integrate.F
3854 module_dm.o : module_dm.F
3855 mediation_wrfmain.o : mediation_wrfmain.F
3856 solve_em.o : solve_em.F
3858 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
3860 $(SED_FTN) $*.F > $*.b
3861 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3863 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3865 ###########################################################
3866 #ARCH Compaq OSF1 alpha DM-Parallel/SM-Parallel (RSL, DECMPI, OpenMP, allows nesting)
3868 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3869 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3880 RWORDSIZE = $(NATIVE_RWORDSIZE)
3881 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
3882 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3883 -DDM_PARALLEL -DRSL \
3884 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3885 -DLIMIT_ARGS -DFLOATSAFE \
3886 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3887 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3888 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
3891 FCDEBUG_ESMF = # -O0
3892 FCREAL8OMP = -align records -align dcommons -granularity quadword
3893 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3894 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3895 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3896 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3897 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3899 ESMF_IO_LIB = ESMFIOLIB
3900 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
3901 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3902 -I../frame -I../share -I../phys -I../chem -I../inc
3903 PERL = CONFIGURE_PERL_PATH
3905 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3906 -L../external/RSL/RSL -lrsl -lmpi \
3907 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3908 -L../external/io_grib1 -lio_grib1 \
3909 CONFIGURE_GRIB2_LIB \
3910 -L../external/io_grib_share -lio_grib_share
3911 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3912 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
3913 CPP = /usr/bin/cpp -C -P
3914 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3915 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3920 NETCDFPATH = CONFIGURE_NETCDF_PATH
3923 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3925 gen_comms.c : ../external/RSL/gen_comms.c
3926 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3927 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3929 module_dm.F : ../external/RSL/module_dm.F
3930 ( /bin/cp module_dm_warning module_dm.F ; \
3931 cat ../external/RSL/module_dm.F >> module_dm.F )
3934 ( cd ../external/io_netcdf ; \
3935 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3938 ( cd ../external/io_int ; \
3939 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3942 ( cd ../external/io_grib_share ; \
3943 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)
3946 ( cd ../external/io_grib1 ; \
3947 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 )
3950 ( cd ../external/io_grib2 ; \
3951 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 )
3954 ( cd ../external/esmf_time_f90 ; \
3955 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3957 ../external/RSL/RSL/librsl.a :
3958 ( cd ../external/RSL/RSL ; \
3959 make CC=cc FC="$(SFC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3961 nest_init_utils.o : nest_init_utils.F
3962 module_optional_si_input.o : module_optional_si_input.F
3964 nest_init_utils.o module_optional_si_input.o :
3966 $(SED_FTN) $*.F > $*.b
3967 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3969 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3971 # compile these without high optimization to speed compile
3972 module_io_mm5.o : module_io_mm5.F
3973 module_si_io.o : module_si_io.F
3974 module_io_wrf.o : module_io_wrf.F
3975 module_domain.o : module_domain.F
3976 module_start.o : module_start.F
3977 module_initialize.o : module_initialize.F
3978 module_initialize_b_wave.o : module_initialize_b_wave.F
3979 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3980 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3981 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3982 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3983 module_initialize_real.o : module_initialize_real.F
3984 start_domain.o : start_domain.F
3985 module_configure.o : module_configure.F
3986 mediation_interp_domain.o : mediation_interp_domain.F
3987 mediation_force_domain.o : mediation_force_domain.F
3988 mediation_feedback_domain.o : mediation_feedback_domain.F
3990 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3991 module_start.o module_initialize.o module_initialize_b_wave.o \
3992 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
3993 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
3994 module_configure.o \
3995 mediation_interp_domain.o \
3996 mediation_force_domain.o \
3997 mediation_feedback_domain.o \
3998 module_initialize_real.o start_domain.o :
4000 $(SED_FTN) $*.F > $*.b
4001 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4003 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4005 mediation_integrate.o : mediation_integrate.F
4006 module_dm.o : module_dm.F
4007 mediation_wrfmain.o : mediation_wrfmain.F
4008 solve_em.o : solve_em.F
4010 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
4012 $(SED_FTN) $*.F > $*.b
4013 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4015 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4017 ###########################################################
4018 #ARCH Compaq OSF1 alpha DM-Parallel (RSL, MPICH, MCEL EXPERIMENTAL)
4025 LD = mpif90 -f90=cxx
4028 RWORDSIZE = $(NATIVE_RWORDSIZE)
4029 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4030 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
4031 -DDM_PARALLEL -DRSL -DFLOATSAFE \
4032 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4033 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMCELIO
4034 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4035 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
4038 FCDEBUG_ESMF = # -O0
4039 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4040 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4041 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4042 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4043 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4045 ESMF_IO_LIB = ESMFIOLIB
4046 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4047 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4048 -I../frame -I../share -I../phys -I../chem -I../inc
4049 PERL = CONFIGURE_PERL_PATH
4052 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4053 -L../external/RSL/RSL -lrsl \
4054 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
4055 -L../external/io_grib1 -lio_grib1 \
4056 CONFIGURE_GRIB2_LIB \
4057 -L../external/io_grib_share -lio_grib_share \
4058 -L../external/io_mcel -lwrfio_mcel \
4059 -L/users/bettenc/MCELSystem/MCEL -lMCEL \
4060 -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread \
4061 -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc -L/users/michalak/mpich/lib -lfmpich -lmpichfsup \
4062 /usr/lib/cmplrs/fortrtl/libUfor.a -L../external/esmf_time_f90 -lesmf_time
4063 LDFLAGS = $(FCOPTIM) -pthread -ieee -ptr /users/bettenc/ptr -L/users/bettenc/MCELSystem/MCEL -lMCEL -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc CONFIGURE_LDFLAGS
4064 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4065 CPP = /usr/bin/cpp -C -P
4066 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4067 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4072 NETCDFPATH = CONFIGURE_NETCDF_PATH
4075 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a wrfio_mcel gen_comms.c module_dm.F esmf_time
4077 gen_comms.c : ../external/RSL/gen_comms.c
4078 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4079 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4081 module_dm.F : ../external/RSL/module_dm.F
4082 ( /bin/cp module_dm_warning module_dm.F ; \
4083 cat ../external/RSL/module_dm.F >> module_dm.F )
4086 ( cd ../external/io_netcdf ; \
4087 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4090 ( cd ../external/io_int ; \
4091 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4094 ( cd ../external/io_grib_share ; \
4095 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)
4098 ( cd ../external/io_grib1 ; \
4099 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 )
4102 ( cd ../external/io_grib2 ; \
4103 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 )
4106 ( cd ../external/esmf_time_f90 ; \
4107 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4110 ( cd ../external/io_mcel ; \
4111 make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -I../io_netcdf -I../../frame -I../../share \
4112 -I/users/bettenc/MCELSystem/MCEL -convert big_endian -automatic -cpp -free" all )
4114 ../external/RSL/RSL/librsl.a :
4115 ( cd ../external/RSL/RSL ; \
4116 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
4118 nest_init_utils.o : nest_init_utils.F
4119 module_optional_si_input.o : module_optional_si_input.F
4121 nest_init_utils.o module_optional_si_input.o :
4123 $(SED_FTN) $*.F > $*.b
4124 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4126 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
4128 # compile these without high optimization to speed compile
4129 module_io_mm5.o : module_io_mm5.F
4130 module_si_io.o : module_si_io.F
4131 module_io_wrf.o : module_io_wrf.F
4132 module_domain.o : module_domain.F
4133 module_start.o : module_start.F
4134 module_initialize.o : module_initialize.F
4135 module_initialize_b_wave.o : module_initialize_b_wave.F
4136 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4137 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4138 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4139 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4140 module_initialize_real.o : module_initialize_real.F
4141 start_domain.o : start_domain.F
4142 module_configure.o : module_configure.F
4143 mediation_interp_domain.o : mediation_interp_domain.F
4144 mediation_force_domain.o : mediation_force_domain.F
4145 mediation_feedback_domain.o : mediation_feedback_domain.F
4147 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4148 module_start.o module_initialize.o module_initialize_b_wave.o \
4149 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4150 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4151 module_configure.o \
4152 mediation_interp_domain.o \
4153 mediation_force_domain.o \
4154 mediation_feedback_domain.o \
4155 module_initialize_real.o start_domain.o :
4157 $(SED_FTN) $*.F > $*.b
4158 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4160 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4162 mediation_integrate.o : mediation_integrate.F
4163 module_dm.o : module_dm.F
4164 mediation_wrfmain.o : mediation_wrfmain.F
4165 solve_em.o : solve_em.F
4167 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
4169 $(SED_FTN) $*.F > $*.b
4170 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4172 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4174 ###########################################################
4175 #ARCH Compaq OSF1 alpha DM/SM (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
4185 RWORDSIZE = $(NATIVE_RWORDSIZE)
4186 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4187 ARCHFLAGS = $(COREDEFS) -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
4188 -DDM_PARALLEL="'<b>DM_PARALLEL</b>'" -DRSL="'<b>RSL</b>'" \
4189 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4190 -DLIMIT_ARGS -DFLOATSAFE \
4191 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
4192 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4193 CFLAGS = $(ARCHFLAGS) -I../external/RSL/RSL
4196 FCDEBUG_ESMF = # -O0
4197 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4198 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4199 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4200 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4201 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4203 ESMF_IO_LIB = ESMFIOLIB
4204 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4205 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4206 -I../frame -I../share -I../phys -I../inc -I../chem
4207 PERL = CONFIGURE_PERL_PATH
4209 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4210 -L../external/RSL/RSL -lrsl \
4211 -L../external/io_grib1 -lio_grib1 \
4212 CONFIGURE_GRIB2_LIB \
4213 -L../external/io_grib_share -lio_grib_share \
4214 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
4215 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
4216 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4217 CPP = /usr/bin/cpp -C -P
4218 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4219 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4224 NETCDFPATH = CONFIGURE_NETCDF_PATH
4227 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
4229 gen_comms.c : ../external/RSL/gen_comms.c
4230 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4231 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4233 module_dm.F : ../external/RSL/module_dm.F
4234 ( /bin/cp module_dm_warning module_dm.F ; \
4235 cat ../external/RSL/module_dm.F >> module_dm.F )
4238 ( cd ../external/io_netcdf ; \
4239 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4242 ( cd ../external/io_int ; \
4243 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4246 ( cd ../external/io_grib_share ; \
4247 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)
4250 ( cd ../external/io_grib1 ; \
4251 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 )
4254 ( cd ../external/io_grib2 ; \
4255 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 )
4258 ( cd ../external/esmf_time_f90 ; \
4259 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4261 ../external/RSL/RSL/librsl.a :
4262 ( cd ../external/RSL/RSL ; \
4263 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
4265 # compile these without high optimization to speed compile
4266 module_io_mm5.o : module_io_mm5.F
4267 module_si_io.o : module_si_io.F
4268 module_io_wrf.o : module_io_wrf.F
4269 module_domain.o : module_domain.F
4270 module_start.o : module_start.F
4271 module_initialize.o : module_initialize.F
4272 module_initialize_b_wave.o : module_initialize_b_wave.F
4273 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4274 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4275 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4276 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4277 module_initialize_real.o : module_initialize_real.F
4278 start_domain.o : start_domain.F
4279 module_configure.o : module_configure.F
4281 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4282 module_start.o module_initialize.o module_initialize_b_wave.o \
4283 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4284 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4285 module_configure.o \
4286 module_initialize_real.o start_domain.o :
4288 $(SED_FTN) $*.F > $*.b
4289 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4291 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4293 mediation_integrate.o : mediation_integrate.F
4294 module_dm.o : module_dm.F
4295 mediation_wrfmain.o : mediation_wrfmain.F
4296 solve_em.o : solve_em.F
4298 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
4300 $(SED_FTN) $*.F > $*.b
4301 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4303 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4305 ###########################################################
4306 #ARCH Compaq OSF1 alpha DM-Parallel (RSL_LITE, MPICH, allows nesting, UNOPT shift_domain)
4308 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4309 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4319 RWORDSIZE = $(NATIVE_RWORDSIZE)
4320 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
4321 ARCHFLAGS = $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
4322 -DDM_PARALLEL -DRSL_LITE \
4323 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4324 -DLIMIT_ARGS -DFLOATSAFE \
4325 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
4326 PROMOTION = -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4327 CFLAGS = $(ARCHFLAGS) -I../external/RSL_LITE
4330 FCDEBUG_ESMF = # -O0
4331 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4332 FCBASEOPTS_ESMF = -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4333 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4334 FCFLAGS_ESMF = $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4335 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4337 ESMF_IO_LIB = ESMFIOLIB
4338 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4339 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4340 -I../frame -I../share -I../phys -I../chem -I../inc
4341 PERL = CONFIGURE_PERL_PATH
4343 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4344 -L../external/RSL_LITE -lrsl_lite \
4345 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
4346 -L../external/io_grib1 -lio_grib1 \
4347 CONFIGURE_GRIB2_LIB \
4348 -L../external/io_grib_share -lio_grib_share
4349 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
4350 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4351 CPP = /usr/bin/cpp -C -P
4352 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4353 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4358 NETCDFPATH = CONFIGURE_NETCDF_PATH
4361 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
4363 gen_comms.c : ../external/RSL_LITE/gen_comms.c
4364 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4365 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
4367 module_dm.F : ../external/RSL_LITE/module_dm.F
4368 ( /bin/cp module_dm_warning module_dm.F ; \
4369 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
4372 ( cd ../external/io_netcdf ; \
4373 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4376 ( cd ../external/io_int ; \
4377 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4380 ( cd ../external/io_grib_share ; \
4381 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)
4384 ( cd ../external/io_grib1 ; \
4385 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 )
4388 ( cd ../external/io_grib2 ; \
4389 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 )
4392 ( cd ../external/esmf_time_f90 ; \
4393 make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4395 ../external/RSL_LITE/librsl_lite.a :
4396 ( cd ../external/RSL_LITE ; \
4397 make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4399 nest_init_utils.o : nest_init_utils.F
4400 module_optional_si_input.o : module_optional_si_input.F
4401 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
4403 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
4405 $(SED_FTN) $*.F > $*.b
4406 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4408 $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
4410 # compile these without high optimization to speed compile
4411 module_io_mm5.o : module_io_mm5.F
4412 module_si_io.o : module_si_io.F
4413 module_io_wrf.o : module_io_wrf.F
4414 module_domain.o : module_domain.F
4415 module_start.o : module_start.F
4416 module_initialize.o : module_initialize.F
4417 module_initialize_b_wave.o : module_initialize_b_wave.F
4418 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4419 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4420 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4421 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4422 module_initialize_real.o : module_initialize_real.F
4423 start_domain.o : start_domain.F
4424 start_domain_nmm.o : start_domain_nmm.F
4425 module_configure.o : module_configure.F
4426 mediation_interp_domain.o : mediation_interp_domain.F
4427 mediation_force_domain.o : mediation_force_domain.F
4428 mediation_feedback_domain.o : mediation_feedback_domain.F
4429 shift_domain_em.o : shift_domain_em.F
4431 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4432 module_start.o module_initialize.o module_initialize_b_wave.o \
4433 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4434 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4435 module_configure.o \
4436 mediation_interp_domain.o \
4437 mediation_force_domain.o \
4438 mediation_feedback_domain.o \
4440 module_initialize_real.o start_domain.o start_domain_nmm.o :
4442 $(SED_FTN) $*.F > $*.b
4443 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4445 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4447 mediation_integrate.o : mediation_integrate.F
4448 module_dm.o : module_dm.F
4449 mediation_wrfmain.o : mediation_wrfmain.F
4450 solve_em.o : solve_em.F
4452 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o :
4454 $(SED_FTN) $*.F > $*.b
4455 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4457 $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4459 ###########################################################
4460 #ARCH Alpha Linux alpha DM (single-threaded, no nesting)
4467 RWORDSIZE = $(NATIVE_RWORDSIZE)
4468 PROMOTION = -r$(RWORDSIZE) -i4
4472 FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4473 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
4474 -arch host $(FCDEBUG)
4475 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4476 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4477 CONFIGURE_NETCDF_FLAG
4478 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4480 ESMF_IO_LIB = ESMFIOLIB
4481 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4482 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4483 -I../frame -I../share -I../phys -I../chem -I../inc
4484 PERL = CONFIGURE_PERL_PATH
4486 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4487 -L../external/io_grib1 -lio_grib1 \
4488 CONFIGURE_GRIB2_LIB \
4489 -L../external/io_grib_share -lio_grib_share \
4490 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
4491 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4492 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4493 CPP = /lib/cpp -C -P
4494 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4495 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4499 NETCDFPATH = CONFIGURE_NETCDF_PATH
4502 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4505 ( /bin/cp module_dm_warning module_dm.F ; \
4506 cat module_dm_stubs.F >> module_dm.F )
4509 ( cd ../external/io_netcdf ; \
4510 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4513 ( cd ../external/io_int ; \
4514 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4515 TRADFLAG="-traditional" all )
4518 ( cd ../external/io_grib_share ; \
4519 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4520 TRADFLAG="-traditional" archive)
4523 ( cd ../external/io_grib1 ; \
4524 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4525 TRADFLAG="-traditional" archive )
4528 ( cd ../external/io_grib2 ; \
4529 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4530 TRADFLAG="-traditional" archive )
4533 ( cd ../external/esmf_time_f90 ; \
4534 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4536 # compile these without high optimization to speed compile
4537 module_io_mm5.o : module_io_mm5.F
4538 module_si_io.o : module_si_io.F
4539 module_io_wrf.o : module_io_wrf.F
4540 module_domain.o : module_domain.F
4541 module_start.o : module_start.F
4542 module_initialize.o : module_initialize.F
4543 module_initialize_b_wave.o : module_initialize_b_wave.F
4544 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4545 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4546 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4547 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4548 module_initialize_real.o : module_initialize_real.F
4549 module_dm.o : module_dm.F
4550 start_domain.o : start_domain.F
4551 module_configure.o : module_configure.F
4553 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4554 module_start.o module_initialize.o module_initialize_b_wave.o \
4555 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4556 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4557 module_configure.o \
4558 module_initialize_real.o module_dm.o start_domain.o :
4560 $(SED_FTN) $*.F > $*.b
4561 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4563 $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4565 ###########################################################
4566 #ARCH Alpha Linux alpha SM (DOES NOT WORK ON JET! No nesting)
4573 RWORDSIZE = $(NATIVE_RWORDSIZE)
4574 PROMOTION = -r$(RWORDSIZE) -i4
4578 FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4579 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
4580 -arch host $(FCDEBUG)
4581 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4582 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4583 CONFIGURE_NETCDF_FLAG
4584 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4586 ESMF_IO_LIB = ESMFIOLIB
4587 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4588 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4589 -I../frame -I../share -I../phys -I../chem -I../inc
4590 PERL = CONFIGURE_PERL_PATH
4592 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4593 -L../external/io_grib1 -lio_grib1 \
4594 CONFIGURE_GRIB2_LIB \
4595 -L../external/io_grib_share -lio_grib_share \
4596 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
4597 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4598 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4599 CPP = /lib/cpp -C -P
4600 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4601 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4605 NETCDFPATH = CONFIGURE_NETCDF_PATH
4608 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4611 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4612 /bin/cp module_dm_warning module_dm.F )
4615 ( cd ../external/io_netcdf ; \
4616 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4619 ( cd ../external/io_int ; \
4620 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4621 TRADFLAG="-traditional" all )
4624 ( cd ../external/io_grib_share ; \
4625 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4626 TRADFLAG="-traditional" archive)
4629 ( cd ../external/io_grib1 ; \
4630 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4631 TRADFLAG="-traditional" archive )
4633 ( cd ../external/io_grib2 ; \
4634 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4635 TRADFLAG="-traditional" archive )
4638 ( cd ../external/esmf_time_f90 ; \
4639 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4641 # compile these without high optimization to speed compile
4642 module_io_mm5.o : module_io_mm5.F
4643 module_si_io.o : module_si_io.F
4644 module_io_wrf.o : module_io_wrf.F
4645 module_domain.o : module_domain.F
4646 module_start.o : module_start.F
4647 module_initialize.o : module_initialize.F
4648 module_initialize_b_wave.o : module_initialize_b_wave.F
4649 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4650 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4651 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4652 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4653 module_initialize_real.o : module_initialize_real.F
4654 module_dm.o : module_dm.F
4655 start_domain.o : start_domain.F
4656 module_configure.o : module_configure.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 module_configure.o \
4663 module_initialize_real.o module_dm.o start_domain.o :
4665 $(SED_FTN) $*.F > $*.b
4666 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4668 $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4670 ###########################################################
4671 #ARCH Alpha Linux alpha DM-Parallel (RSL, MPICH, Allows nesting)
4673 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4674 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4683 RWORDSIZE = $(NATIVE_RWORDSIZE)
4684 PROMOTION = -r$(RWORDSIZE) -i4
4685 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -DF2CSTYLE \
4686 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
4687 -I../external/RSL/RSL
4690 FCBASENOINL = -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4691 FCBASEOPTS = -w -convert big_endian -automatic -cpp -free -I. \
4692 -arch host $(FCDEBUG)
4693 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4694 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
4695 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4696 CONFIGURE_NETCDF_FLAG
4697 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4699 ESMF_IO_LIB = ESMFIOLIB
4700 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4701 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4702 -I../frame -I../share -I../phys -I../chem -I../inc
4703 PERL = CONFIGURE_PERL_PATH
4705 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
4706 -L../external/io_grib1 -lio_grib1 \
4707 CONFIGURE_GRIB2_LIB \
4708 -L../external/io_grib_share -lio_grib_share \
4709 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
4710 -L../external/io_int -lwrfio_int -L../external/esmf_time_f90 -lesmf_time
4711 LDFLAGS = $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4712 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4713 CPP = /lib/cpp -C -P
4714 POUND_DEF = -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4715 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4719 NETCDFPATH = CONFIGURE_NETCDF_PATH
4722 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
4724 gen_comms.c : ../external/RSL/gen_comms.c
4725 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4726 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4728 module_dm.F : ../external/RSL/module_dm.F
4729 ( /bin/cp module_dm_warning module_dm.F ; \
4730 cat ../external/RSL/module_dm.F >> module_dm.F )
4733 ( cd ../external/io_netcdf ; \
4734 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4737 ( cd ../external/io_int ; \
4738 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4739 TRADFLAG="-traditional" all )
4742 ( cd ../external/io_grib_share ; \
4743 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4744 TRADFLAG="-traditional" archive)
4747 ( cd ../external/io_grib1 ; \
4748 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4749 TRADFLAG="-traditional" archive )
4751 ( cd ../external/io_grib2 ; \
4752 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4753 TRADFLAG="-traditional" archive )
4756 ( cd ../external/esmf_time_f90 ; \
4757 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4759 ../external/RSL/RSL/librsl.a :
4760 ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" \
4761 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
4762 UNDERSCORE=-DF2CSTYLE LEARN_BCAST=-DLEARN_BCAST alpha )
4764 # compile these without high optimization to speed compile
4765 module_io_mm5.o : module_io_mm5.F
4766 module_si_io.o : module_si_io.F
4767 module_io_wrf.o : module_io_wrf.F
4768 module_domain.o : module_domain.F
4769 module_start.o : module_start.F
4770 module_initialize.o : module_initialize.F
4771 module_initialize_b_wave.o : module_initialize_b_wave.F
4772 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4773 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4774 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4775 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4776 module_initialize_real.o : module_initialize_real.F
4777 module_dm.o : module_dm.F
4778 start_domain.o : start_domain.F
4779 module_configure.o : module_configure.F
4781 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4782 module_start.o module_initialize.o module_initialize_b_wave.o \
4783 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4784 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4785 module_configure.o \
4786 module_initialize_real.o module_dm.o start_domain.o :
4788 $(SED_FTN) $*.F > $*.b
4789 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
4791 $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4793 ###########################################################
4794 #ARCH VPP UNIX_System_V F300 5000
4801 RWORDSIZE = $(NATIVE_RWORDSIZE)
4802 PROMOTION = -r$(RWORDSIZE) -i4
4804 FCFLAGS = -Free -X9 -Am
4805 FCFLAGS = -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
4807 FCBASEOPTS = $(FCFLAGS)
4808 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4810 PERL = CONFIGURE_PERL_PATH
4812 LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
4813 -L../external/io_grib1 -lio_grib1 \
4814 CONFIGURE_GRIB2_LIB \
4815 -L../external/io_grib_share -lio_grib_share
4816 LDFLAGS = -Wl,-P -J CONFIGURE_LDFLAGS
4817 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4818 LDFLAGS = -J CONFIGURE_LDFLAGS
4819 CPP = /lib/cpp -C -P
4820 POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4821 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4825 NETCDFPATH = CONFIGURE_NETCDF_PATH
4828 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 module_dm.F esmf_time
4831 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4834 ( cd ../external/io_netcdf ; \
4835 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
4838 ( cd ../external/io_grib_share ; \
4839 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
4842 ( cd ../external/io_grib1 ; \
4843 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
4846 ( cd ../external/io_grib2 ; \
4847 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
4849 ###########################################################
4856 NATIVE_RWORDSIZE = 8
4857 RWORDSIZE = $(NATIVE_RWORDSIZE)
4858 # does this PROMOTION flag work on Cray?
4859 PROMOTION = -r$(RWORDSIZE) -i4
4861 FCFLAGS = -f free -N 255 -I.
4863 FCBASEOPTS = $(FCFLAGS)
4864 ARCHFLAGS = $(COREDEFS) -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
4866 LDFLAGS = CONFIGURE_LDFLAGS
4867 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4868 CPP = /opt/ctl/bin/cpp
4869 POUND_DEF = -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4870 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4871 PERL = CONFIGURE_PERL_PATH
4873 #LIB = CONFIGURE_NETCDF_LIB_PATH
4874 LIB = ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
4875 -L../external/io_grib1 -lio_grib1 \
4876 CONFIGURE_GRIB2_LIB \
4877 -L../external/io_grib_share -lio_grib_share
4881 NETCDFPATH = CONFIGURE_NETCDF_PATH
4884 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
4885 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4888 ( cd ../external/io_netcdf ; \
4889 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
4892 ( cd ../external/io_grib_share ; \
4893 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4896 ( cd ../external/io_grib1 ; \
4897 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
4900 ( cd ../external/io_grib2 ; \
4901 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
4903 solve_interface.o : solve_interface.F
4905 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
4906 $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
4908 ###########################################################
4909 #ARCH PC Linux i486 i586 i686, PGI compiler (Single-threaded, no nesting)
4915 RWORDSIZE = $(NATIVE_RWORDSIZE)
4917 PROMOTION = -r$(RWORDSIZE) -i4
4919 FCOPTIM = -O2 # -fast
4921 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
4922 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
4923 #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
4924 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
4925 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4926 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
4928 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4930 ESMF_IO_LIB = ESMFIOLIB
4931 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
4932 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4933 -I../frame -I../share -I../phys -I../chem -I../inc
4936 LIB = CONFIGURE_NETCDF_LIB_PATH \
4937 -L../external/io_grib1 -lio_grib1 \
4938 CONFIGURE_GRIB2_LIB \
4939 -L../external/io_grib_share -lio_grib_share \
4940 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
4941 LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
4942 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
4943 CPP = /lib/cpp -C -P -traditional
4944 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4945 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4949 NETCDFPATH = CONFIGURE_NETCDF_PATH
4952 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4955 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4958 ( cd ../external/io_netcdf ; \
4959 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4962 ( cd ../external/io_grib_share ; \
4963 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4966 ( cd ../external/io_grib1 ; \
4967 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
4970 ( cd ../external/io_grib2 ; \
4971 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 )
4974 ( cd ../external/io_int ; \
4975 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
4976 TRADFLAG="-traditional" all )
4979 ( cd ../external/esmf_time_f90 ; \
4980 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4982 # compile these without high optimization to speed compile
4983 solve_interface.o : solve_interface.F
4984 shift_domain_em.o : shift_domain_em.F
4985 module_io_mm5.o : module_io_mm5.F
4986 module_si_io.o : module_si_io.F
4987 module_io_wrf.o : module_io_wrf.F
4988 module_domain.o : module_domain.F
4989 module_start.o : module_start.F
4990 module_initialize.o : module_initialize.F
4991 module_initialize_b_wave.o : module_initialize_b_wave.F
4992 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4993 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4994 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4995 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4996 module_initialize_real.o : module_initialize_real.F
4997 module_dm.o : module_dm.F
4998 start_domain.o : start_domain.F
4999 mediation_integrate.o : mediation_integrate.F
5000 module_configure.o : module_configure.F
5004 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5005 module_start.o module_initialize.o module_initialize_b_wave.o \
5006 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5007 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5008 mediation_integrate.o \
5009 module_configure.o \
5010 module_initialize_real.o module_dm.o start_domain.o :
5012 $(SED_FTN) $*.F > $*.b
5013 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5015 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5016 #PGI if [ ! -e $@ ] ; then \
5017 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5019 #PGI if [ ! -e $@ ] ; then \
5020 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5022 #PGI if [ ! -e $@ ] ; then \
5023 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5026 ###########################################################
5027 #ARCH PC Linux i486 i586 i686, PGI compiler (single threaded, allows nesting using RSL without MPI)
5029 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5030 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5039 RWORDSIZE = $(NATIVE_RWORDSIZE)
5040 FCOPTIM = -O2 # -fast
5042 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5043 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5044 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
5045 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5046 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5047 -DLIMIT_ARGS -DSTUBMPI
5048 PROMOTION = -r$(RWORDSIZE) -i4
5049 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
5050 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
5051 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5053 ESMF_IO_LIB = ESMFIOLIB
5054 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5055 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5056 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5059 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5060 -L../external/io_grib1 -lio_grib1 \
5061 CONFIGURE_GRIB2_LIB \
5062 -L../external/io_grib_share -lio_grib_share \
5063 -L../external/io_int -lwrfio_int \
5064 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5065 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5066 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5067 CPP = /lib/cpp -C -P -traditional
5068 POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5069 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5073 NETCDFPATH = CONFIGURE_NETCDF_PATH
5076 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5078 gen_comms.c : ../external/RSL/gen_comms.c
5079 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5080 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5082 module_dm.F : ../external/RSL/module_dm.F
5083 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5086 ( cd ../external/io_netcdf ; \
5087 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5090 ( cd ../external/io_grib_share ; \
5091 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5094 ( cd ../external/io_grib1 ; \
5095 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5098 ( cd ../external/io_grib2 ; \
5099 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 )
5102 ( cd ../external/io_int ; \
5103 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5106 ( cd ../external/esmf_time_f90 ; \
5107 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5109 ../external/RSL/RSL/librsl.a :
5110 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5112 # compile these without high optimization to speed compile
5113 solve_interface.o : solve_interface.F
5114 shift_domain_em.o : shift_domain_em.F
5115 module_io_mm5.o : module_io_mm5.F
5116 module_si_io.o : module_si_io.F
5117 module_io_wrf.o : module_io_wrf.F
5118 module_domain.o : module_domain.F
5119 module_start.o : module_start.F
5120 module_initialize.o : module_initialize.F
5121 module_initialize_b_wave.o : module_initialize_b_wave.F
5122 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5123 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5124 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5125 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5126 module_initialize_real.o : module_initialize_real.F
5127 module_dm.o : module_dm.F
5128 start_domain.o : start_domain.F
5129 mediation_integrate.o : mediation_integrate.F
5130 module_configure.o : module_configure.F
5134 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5135 module_start.o module_initialize.o module_initialize_b_wave.o \
5136 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5137 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5138 module_configure.o \
5139 mediation_integrate.o \
5140 module_initialize_real.o module_dm.o start_domain.o :
5142 $(SED_FTN) $*.F > $*.b
5143 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5145 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5146 #PGI if [ ! -e $@ ] ; then \
5147 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5149 #PGI if [ ! -e $@ ] ; then \
5150 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5152 #PGI if [ ! -e $@ ] ; then \
5153 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5156 ###########################################################
5157 #ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, no nesting)
5165 RWORDSIZE = $(NATIVE_RWORDSIZE)
5167 PROMOTION = -r$(RWORDSIZE) -i4
5169 FCOPTIM = -O2 # -fast
5171 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5172 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5173 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5174 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
5175 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
5177 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5179 ESMF_IO_LIB = ESMFIOLIB
5180 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5181 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5182 -I../frame -I../share -I../phys -I../chem -I../inc
5185 LIB = CONFIGURE_NETCDF_LIB_PATH \
5186 -L../external/io_grib1 -lio_grib1 \
5187 CONFIGURE_GRIB2_LIB \
5188 -L../external/io_grib_share -lio_grib_share \
5189 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5190 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
5191 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5192 CPP = /lib/cpp -C -P -traditional
5193 POUND_DEF = $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5194 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
5198 NETCDFPATH = CONFIGURE_NETCDF_PATH
5201 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
5204 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
5207 ( cd ../external/io_netcdf ; \
5208 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5211 ( cd ../external/io_grib_share ; \
5212 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5215 ( cd ../external/io_grib1 ; \
5216 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5219 ( cd ../external/io_grib2 ; \
5220 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 )
5223 ( cd ../external/io_int ; \
5224 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
5225 TRADFLAG="-traditional" all )
5228 ( cd ../external/esmf_time_f90 ; \
5229 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5231 # compile these without high optimization to speed compile
5232 solve_interface.o : solve_interface.F
5233 shift_domain_em.o : shift_domain_em.F
5234 module_io_mm5.o : module_io_mm5.F
5235 module_si_io.o : module_si_io.F
5236 module_io_wrf.o : module_io_wrf.F
5237 module_domain.o : module_domain.F
5238 module_start.o : module_start.F
5239 module_initialize.o : module_initialize.F
5240 module_initialize_b_wave.o : module_initialize_b_wave.F
5241 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5242 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5243 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5244 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5245 module_initialize_real.o : module_initialize_real.F
5246 module_dm.o : module_dm.F
5247 start_domain.o : start_domain.F
5248 mediation_integrate.o : mediation_integrate.F
5249 module_configure.o : module_configure.F
5253 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5254 module_start.o module_initialize.o module_initialize_b_wave.o \
5255 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5256 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5257 module_configure.o \
5258 mediation_integrate.o \
5259 module_initialize_real.o module_dm.o start_domain.o :
5261 $(SED_FTN) $*.F > $*.b
5262 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5264 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5265 #PGI if [ ! -e $@ ] ; then \
5266 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5268 #PGI if [ ! -e $@ ] ; then \
5269 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5271 #PGI if [ ! -e $@ ] ; then \
5272 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5275 ###########################################################
5276 #ARCH PC Linux i486 i586 i686, PGI compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI)
5278 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5279 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5290 RWORDSIZE = $(NATIVE_RWORDSIZE)
5291 FCOPTIM = -O2 # -fast
5293 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5294 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5295 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5296 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5297 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5298 -DLIMIT_ARGS -DSTUBMPI
5299 PROMOTION = -r$(RWORDSIZE) -i4
5300 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
5301 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
5302 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5304 ESMF_IO_LIB = ESMFIOLIB
5305 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5306 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5307 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5310 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5311 -L../external/io_grib1 -lio_grib1 \
5312 CONFIGURE_GRIB2_LIB \
5313 -L../external/io_grib_share -lio_grib_share \
5314 -L../external/io_int -lwrfio_int \
5315 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5316 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
5317 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5318 CPP = /lib/cpp -C -P -traditional
5319 POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5320 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5324 NETCDFPATH = CONFIGURE_NETCDF_PATH
5327 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5329 gen_comms.c : ../external/RSL/gen_comms.c
5330 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5331 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5333 module_dm.F : ../external/RSL/module_dm.F
5334 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5337 ( cd ../external/io_netcdf ; \
5338 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5341 ( cd ../external/io_int ; \
5342 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5345 ( cd ../external/io_grib_share ; \
5346 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5349 ( cd ../external/io_grib1 ; \
5350 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5353 ( cd ../external/io_grib2 ; \
5354 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 )
5357 ( cd ../external/esmf_time_f90 ; \
5358 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5360 ../external/RSL/RSL/librsl.a :
5361 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5363 # compile these without high optimization to speed compile
5364 solve_interface.o : solve_interface.F
5365 shift_domain_em.o : shift_domain_em.F
5366 module_io_mm5.o : module_io_mm5.F
5367 module_si_io.o : module_si_io.F
5368 module_io_wrf.o : module_io_wrf.F
5369 module_domain.o : module_domain.F
5370 module_start.o : module_start.F
5371 module_initialize.o : module_initialize.F
5372 module_initialize_b_wave.o : module_initialize_b_wave.F
5373 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5374 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5375 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5376 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5377 module_initialize_real.o : module_initialize_real.F
5378 module_dm.o : module_dm.F
5379 start_domain.o : start_domain.F
5380 mediation_integrate.o : mediation_integrate.F
5381 module_configure.o : module_configure.F
5385 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5386 module_start.o module_initialize.o module_initialize_b_wave.o \
5387 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5388 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5389 module_configure.o \
5390 mediation_integrate.o \
5391 module_initialize_real.o module_dm.o start_domain.o :
5393 $(SED_FTN) $*.F > $*.b
5394 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5396 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5397 #PGI if [ ! -e $@ ] ; then \
5398 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5400 #PGI if [ ! -e $@ ] ; then \
5401 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5403 #PGI if [ ! -e $@ ] ; then \
5404 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5407 ###########################################################
5408 #ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL, MPICH, Allows nesting)
5410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5411 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5415 FC = mpif90 -f90=pgf90
5416 LD = mpif90 -f90=pgf90
5420 RWORDSIZE = $(NATIVE_RWORDSIZE)
5421 PROMOTION = -r$(RWORDSIZE) -i4
5422 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
5423 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
5424 FCOPTIM = -O2 # -fast
5426 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5427 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5428 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
5429 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5430 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5432 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5434 ESMF_IO_LIB = ESMFIOLIB
5435 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5436 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5437 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
5440 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5441 -L../external/io_grib1 -lio_grib1 \
5442 CONFIGURE_GRIB2_LIB \
5443 -L../external/io_grib_share -lio_grib_share \
5444 -L../external/io_int -lwrfio_int \
5445 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5446 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5447 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5448 CPP = /lib/cpp -C -P -traditional
5449 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5450 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5454 NETCDFPATH = CONFIGURE_NETCDF_PATH
5457 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5459 gen_comms.c : ../external/RSL/gen_comms.c
5460 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5461 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5463 module_dm.F : ../external/RSL/module_dm.F
5464 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5467 ( cd ../external/io_netcdf ; \
5468 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5471 ( cd ../external/io_grib_share ; \
5472 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5475 ( cd ../external/io_grib1 ; \
5476 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5479 ( cd ../external/io_grib2 ; \
5480 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)
5483 ( cd ../external/io_int ; \
5484 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5487 ( cd ../external/esmf_time_f90 ; \
5488 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5490 ../external/RSL/RSL/librsl.a :
5491 ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
5493 # compile these without high optimization to speed compile
5494 solve_interface.o : solve_interface.F
5495 shift_domain_em.o : shift_domain_em.F
5496 module_io_mm5.o : module_io_mm5.F
5497 module_si_io.o : module_si_io.F
5498 module_io_wrf.o : module_io_wrf.F
5499 module_domain.o : module_domain.F
5500 module_start.o : module_start.F
5501 module_initialize.o : module_initialize.F
5502 module_initialize_b_wave.o : module_initialize_b_wave.F
5503 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5504 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5505 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5506 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5507 module_initialize_real.o : module_initialize_real.F
5508 module_dm.o : module_dm.F
5509 start_domain.o : start_domain.F
5510 mediation_integrate.o : mediation_integrate.F
5511 module_configure.o : module_configure.F
5515 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5516 module_start.o module_initialize.o module_initialize_b_wave.o \
5517 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5518 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5519 module_configure.o \
5520 mediation_integrate.o \
5521 module_initialize_real.o module_dm.o start_domain.o :
5523 $(SED_FTN) $*.F > $*.b
5524 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5526 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5527 #PGI if [ ! -e $@ ] ; then \
5528 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5530 #PGI if [ ! -e $@ ] ; then \
5531 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5533 #PGI if [ ! -e $@ ] ; then \
5534 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5537 ###########################################################
5538 #ARCH PC Linux i486 i586 i686, PGI compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
5540 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5541 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5545 FC = mpif90 -f90=pgf90
5546 LD = mpif90 -f90=pgf90
5550 RWORDSIZE = $(NATIVE_RWORDSIZE)
5551 PROMOTION = -r$(RWORDSIZE) -i4
5552 CFLAGS = -DDM_PARALLEL \
5553 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
5555 FCOPTIM = -O2 # -fast
5557 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5558 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5559 #Options for Debian Sarge systems
5560 #FCBASEOPTS = -w -byteswapio -Mfree -Mipa=fast,inline,safe $(FCDEBUG) # -Mlfs
5561 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
5562 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
5563 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5564 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
5565 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5567 ESMF_IO_LIB = ESMFIOLIB
5568 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5569 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5570 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
5573 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
5574 -L../external/io_grib1 -lio_grib1 \
5575 CONFIGURE_GRIB2_LIB \
5576 -L../external/io_grib_share -lio_grib_share \
5577 -L../external/io_int -lwrfio_int \
5578 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5579 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5580 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5581 CPP = /lib/cpp -C -P -traditional
5582 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5583 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5587 NETCDFPATH = CONFIGURE_NETCDF_PATH
5590 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
5592 gen_comms.c : ../external/RSL_LITE/gen_comms.c
5593 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5594 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
5596 module_dm.F : ../external/RSL_LITE/module_dm.F
5597 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
5600 ( cd ../external/io_netcdf ; \
5601 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5604 ( cd ../external/io_grib_share ; \
5605 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5608 ( cd ../external/io_grib1 ; \
5609 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5612 ( cd ../external/io_grib2 ; \
5613 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)
5616 ( cd ../external/io_int ; \
5617 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5620 ( cd ../external/esmf_time_f90 ; \
5621 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5623 ../external/RSL_LITE/librsl_lite.a :
5624 ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
5626 # compile these without high optimization to speed compile
5627 solve_interface.o : solve_interface.F
5628 shift_domain_em.o : shift_domain_em.F
5629 module_io_mm5.o : module_io_mm5.F
5630 module_si_io.o : module_si_io.F
5631 module_io_wrf.o : module_io_wrf.F
5632 module_domain.o : module_domain.F
5633 module_start.o : module_start.F
5634 module_initialize.o : module_initialize.F
5635 module_initialize_b_wave.o : module_initialize_b_wave.F
5636 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5637 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5638 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5639 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5640 module_initialize_real.o : module_initialize_real.F
5641 module_dm.o : module_dm.F
5642 start_domain.o : start_domain.F
5643 mediation_integrate.o : mediation_integrate.F
5644 module_configure.o : module_configure.F
5648 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5649 module_start.o module_initialize.o module_initialize_b_wave.o \
5650 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5651 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5652 module_configure.o \
5653 mediation_integrate.o \
5654 module_initialize_real.o module_dm.o start_domain.o :
5656 $(SED_FTN) $*.F > $*.b
5657 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5659 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5660 #PGI if [ ! -e $@ ] ; then \
5661 #PGI sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5663 #PGI if [ ! -e $@ ] ; then \
5664 #PGI sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5666 #PGI if [ ! -e $@ ] ; then \
5667 #PGI sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5670 ###########################################################
5671 #ARCH Intel Itanium2 ia64 madison Linux DM-Parallel (e.g. mpp2 at PNNL), efc71 compiler (RSL, MPICH, nesting)
5673 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5674 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5684 RWORDSIZE = $(NATIVE_RWORDSIZE)
5685 PROMOTION = -r$(RWORDSIZE) -i4
5686 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -w \
5687 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 \
5688 -I/usr/lib/mpi/mpi_intel/include
5691 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -w -cm
5692 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
5693 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
5694 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5695 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
5696 -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
5697 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5699 ESMF_IO_LIB = ESMFIOLIB
5700 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5701 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
5702 -I../external -I../frame -I../share -I../phys -I../chem -I../inc \
5703 -I/usr/lib/mpi/mpi_intel/include
5706 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
5707 -L../external/io_grib1 -lio_grib1 \
5708 CONFIGURE_GRIB2_LIB \
5709 -L../external/io_grib_share -lio_grib_share \
5710 -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
5711 -L../external/esmf_time_f90 -lesmf_time -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 \
5712 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
5713 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
5714 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5715 CPP = /lib/cpp -traditional -C -P
5716 POUND_DEF = -DNO_RRTM_PHYSICS \
5717 -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5718 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \
5719 -I../external/RSL/RSL -C -EP `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5723 NETCDFPATH = CONFIGURE_NETCDF_PATH
5726 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5728 gen_comms.c : ../external/RSL/gen_comms.c
5729 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5730 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5733 ( cd ../external/io_netcdf ; \
5734 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5736 module_dm.F : ../external/RSL/module_dm.F
5737 ( /bin/cp module_dm_warning module_dm.F ; \
5738 cat ../external/RSL/module_dm.F >> module_dm.F )
5741 ( cd ../external/io_int ; \
5742 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
5745 ( cd ../external/io_grib_share ; \
5746 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5749 ( cd ../external/io_grib1 ; \
5750 make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5753 ( cd ../external/io_grib2 ; \
5754 make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5757 ( cd ../external/esmf_time_f90 ; \
5758 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5760 ../external/RSL/RSL/librsl.a :
5761 ( cd ../external/RSL/RSL ; make CC='mpicc -w -I. '\
5762 FC="$(FC) $(PROMOTION) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
5764 # compile these without high optimization to speed compile
5765 solve_interface.o : solve_interface.F
5766 shift_domain_em.o : shift_domain_em.F
5767 module_io_mm5.o : module_io_mm5.F
5768 module_si_io.o : module_si_io.F
5769 module_io_wrf.o : module_io_wrf.F
5770 module_domain.o : module_domain.F
5771 module_start.o : module_start.F
5772 module_initialize.o : module_initialize.F
5773 module_initialize_b_wave.o : module_initialize_b_wave.F
5774 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5775 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5776 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5777 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5778 module_initialize_real.o : module_initialize_real.F
5779 module_dm.o : module_dm.F
5780 start_domain.o : start_domain.F
5781 module_configure.o : module_configure.F
5785 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5786 module_start.o module_initialize.o module_initialize_b_wave.o \
5787 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5788 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5789 module_configure.o \
5790 module_initialize_real.o module_dm.o start_domain.o :
5792 $(SED_FTN) $*.F > $*.b
5793 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5795 $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
5797 ###########################################################
5798 #ARCH Intel Itanium2 ia64 Linux (eg. Jacaranda), ifort compiler (RSL, no-MPI, allows nesting)
5800 # On Jacaranda, setenv NETCDF /jacaranda/users/michalak/netcdf-3.5.1
5801 # Built this netcdf by first setenv FC efc and CPPFLAGS '-DNDEBUG -DpgiFortran'
5802 # before typing configure and make and make install 20040506. JM
5804 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5805 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5810 # for multithreading, uncomment the following
5818 RWORDSIZE = $(NATIVE_RWORDSIZE)
5819 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
5820 PROMOTION = -real_size $(RSIZEBITS)
5821 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -cm -w \
5822 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
5825 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm -convert big_endian -mp
5826 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
5827 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
5828 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5829 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
5830 -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS -DSTUBMPI
5831 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5833 ESMF_IO_LIB = ESMFIOLIB
5834 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5835 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
5836 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5839 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
5840 -L../external/io_grib1 -lio_grib1 \
5841 CONFIGURE_GRIB2_LIB \
5842 -L../external/io_grib_share -lio_grib_share \
5843 -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
5844 -L../external/esmf_time_f90 -lesmf_time
5845 LDFLAGS = $(OMP) -convert big_endian CONFIGURE_LDFLAGS
5846 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5847 CPP = /lib/cpp -traditional -C -P
5848 POUND_DEF = -DNO_RRTM_PHYSICS \
5849 -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5850 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) \
5851 -I../external/RSL/RSL -C `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5855 NETCDFPATH = CONFIGURE_NETCDF_PATH
5858 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5860 gen_comms.c : ../external/RSL/gen_comms.c
5861 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5862 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5865 ( cd ../external/io_netcdf ; \
5866 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5868 module_dm.F : ../external/RSL/module_dm.F
5869 ( /bin/cp module_dm_warning module_dm.F ; \
5870 cat ../external/RSL/module_dm.F >> module_dm.F )
5873 ( cd ../external/io_int ; \
5874 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
5877 ( cd ../external/io_grib_share ; \
5878 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5881 ( cd ../external/io_grib1 ; \
5882 make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5885 ( cd ../external/io_grib2 ; \
5886 make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
5889 ( cd ../external/esmf_time_f90 ; \
5890 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5892 ../external/RSL/RSL/librsl.a :
5893 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="-DSTUBS -O" \
5894 FC="$(FC) $(PROMOTION)" FCFLAGS="$(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5896 # compile these without high optimization to speed compile
5897 solve_interface.o : solve_interface.F
5898 shift_domain_em.o : shift_domain_em.F
5899 module_io_mm5.o : module_io_mm5.F
5900 module_si_io.o : module_si_io.F
5901 module_io_wrf.o : module_io_wrf.F
5902 module_domain.o : module_domain.F
5903 module_start.o : module_start.F
5904 module_initialize.o : module_initialize.F
5905 module_initialize_b_wave.o : module_initialize_b_wave.F
5906 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5907 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5908 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5909 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5910 module_initialize_real.o : module_initialize_real.F
5911 mediation_interp_domain.o : mediation_interp_domain.F
5912 mediation_force_domain.o : mediation_force_domain.F
5913 mediation_feedback_domain.o : mediation_feedback_domain.F
5914 mediation_integrate.o : mediation_integrate.F
5915 module_dm.o : module_dm.F
5916 start_domain.o : start_domain.F
5917 module_configure.o : module_configure.F
5921 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5922 module_start.o module_initialize.o module_initialize_b_wave.o \
5923 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5924 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5925 mediation_interp_domain.o \
5926 mediation_force_domain.o \
5927 mediation_feedback_domain.o \
5928 mediation_integrate.o \
5929 module_configure.o \
5930 module_initialize_real.o module_dm.o start_domain.o :
5932 $(SED_FTN) $*.F > $*.b
5933 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5935 $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
5937 ###########################################################
5938 #ARCH (WALNUT) PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, no nesting) (optimized)
5939 # Note that for 5.1.x comment out -Mpia=fast
5946 RWORDSIZE = $(NATIVE_RWORDSIZE)
5947 PROMOTION = -r$(RWORDSIZE) -i4
5948 CFLAGS = -DLANDREAD_STUB
5949 FCOPTIM = -O2 -fastsse #-Mipa=fast
5951 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5952 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
5953 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
5954 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
5955 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
5956 -DLIMIT_ARGS -DLANDREAD_STUB
5957 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5959 ESMF_IO_LIB = ESMFIOLIB
5960 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
5961 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5962 -I../frame -I../share -I../phys -I../inc -I../chem
5965 LIB = CONFIGURE_NETCDF_LIB_PATH \
5966 -L../external/io_grib1 -lio_grib1 \
5967 CONFIGURE_GRIB2_LIB \
5968 -L../external/io_grib_share -lio_grib_share \
5969 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
5970 LDFLAGS = CONFIGURE_LDFLAGS
5971 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
5972 CPP = /lib/cpp -C -P -traditional
5973 POUND_DEF = -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5974 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
5978 NETCDFPATH = CONFIGURE_NETCDF_PATH
5981 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
5984 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
5987 ( cd ../external/io_netcdf ; \
5988 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5991 ( cd ../external/io_grib_share ; \
5992 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5995 ( cd ../external/io_grib1 ; \
5996 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5999 ( cd ../external/io_grib2 ; \
6000 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)
6003 ( cd ../external/io_int ; \
6004 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
6005 TRADFLAG="-traditional" all )
6008 ( cd ../external/esmf_time_f90 ; \
6009 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6011 # compile these without high optimization to speed compile
6012 solve_interface.o : solve_interface.F
6013 shift_domain_em.o : shift_domain_em.F
6014 module_io_mm5.o : module_io_mm5.F
6015 module_si_io.o : module_si_io.F
6016 module_io_wrf.o : module_io_wrf.F
6017 module_domain.o : module_domain.F
6018 module_start.o : module_start.F
6019 module_initialize.o : module_initialize.F
6020 module_initialize_b_wave.o : module_initialize_b_wave.F
6021 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6022 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6023 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6024 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6025 module_initialize_real.o : module_initialize_real.F
6026 module_dm.o : module_dm.F
6027 start_domain.o : start_domain.F
6028 mediation_integrate.o : mediation_integrate.F
6029 module_configure.o : module_configure.F
6033 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6034 module_start.o module_initialize.o module_initialize_b_wave.o \
6035 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6036 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6037 mediation_integrate.o \
6038 module_configure.o \
6039 module_initialize_real.o module_dm.o start_domain.o :
6041 $(SED_FTN) $*.F > $*.b
6042 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6044 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6046 ###########################################################
6047 #ARCH (WALNUT) PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, no nesting) (debug)
6048 # Note that for 5.1.x comment out -Mpia=fast
6055 RWORDSIZE = $(NATIVE_RWORDSIZE)
6056 PROMOTION = -r$(RWORDSIZE) -i4
6057 CFLAGS = -DLANDREAD_STUB
6058 FCOPTIM = #-fastsse #-Mipa=fast
6060 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6061 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
6062 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
6063 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
6064 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
6065 -DLIMIT_ARGS -DLANDREAD_STUB
6066 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6068 ESMF_IO_LIB = ESMFIOLIB
6069 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6070 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6071 -I../frame -I../share -I../phys -I../inc -I../chem
6074 LIB = CONFIGURE_NETCDF_LIB_PATH \
6075 -L../external/io_grib1 -lio_grib1 \
6076 CONFIGURE_GRIB2_LIB \
6077 -L../external/io_grib_share -lio_grib_share \
6078 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
6079 LDFLAGS = CONFIGURE_LDFLAGS
6080 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6081 CPP = /lib/cpp -C -P -traditional
6082 POUND_DEF = -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6083 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
6087 NETCDFPATH = CONFIGURE_NETCDF_PATH
6090 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
6093 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6096 ( cd ../external/io_netcdf ; \
6097 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6100 ( cd ../external/io_grib_share ; \
6101 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6104 ( cd ../external/io_grib1 ; \
6105 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6108 ( cd ../external/io_grib2 ; \
6109 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)
6112 ( cd ../external/io_int ; \
6113 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
6114 TRADFLAG="-traditional" all )
6117 ( cd ../external/esmf_time_f90 ; \
6118 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6120 # compile these without high optimization to speed compile
6121 solve_interface.o : solve_interface.F
6122 shift_domain_em.o : shift_domain_em.F
6123 module_io_mm5.o : module_io_mm5.F
6124 module_si_io.o : module_si_io.F
6125 module_io_wrf.o : module_io_wrf.F
6126 module_domain.o : module_domain.F
6127 module_start.o : module_start.F
6128 module_initialize.o : module_initialize.F
6129 module_initialize_b_wave.o : module_initialize_b_wave.F
6130 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6131 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6132 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6133 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6134 module_initialize_real.o : module_initialize_real.F
6135 module_dm.o : module_dm.F
6136 start_domain.o : start_domain.F
6137 mediation_integrate.o : mediation_integrate.F
6138 module_configure.o : module_configure.F
6142 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6143 module_start.o module_initialize.o module_initialize_b_wave.o \
6144 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6145 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6146 mediation_integrate.o \
6147 module_configure.o \
6148 module_initialize_real.o module_dm.o start_domain.o :
6150 $(SED_FTN) $*.F > $*.b
6151 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6153 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6155 ###########################################################
6156 #ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher, DM-Parallel (RSL, MPICH, Allows nesting)
6158 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6159 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6161 # Note that for 5.1.x comment out -Mpia=fast
6170 RWORDSIZE = $(NATIVE_RWORDSIZE)
6171 PROMOTION = -r$(RWORDSIZE) -i4
6172 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
6173 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \
6175 FCOPTIM = -fastsse #-Mipa=fast
6177 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6178 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
6179 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
6180 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6181 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6182 -DLIMIT_ARGS -DLANDREAD_STUB
6183 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6185 ESMF_IO_LIB = ESMFIOLIB
6186 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6187 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6188 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6191 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
6192 -L../external/io_grib1 -lio_grib1 \
6193 CONFIGURE_GRIB2_LIB \
6194 -L../external/io_grib_share -lio_grib_share \
6195 -L../external/io_int -lwrfio_int \
6196 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
6197 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
6198 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6199 CPP = /lib/cpp -C -P -traditional
6200 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6201 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6205 NETCDFPATH = CONFIGURE_NETCDF_PATH
6208 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
6210 gen_comms.c : ../external/RSL/gen_comms.c
6211 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6212 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6214 module_dm.F : ../external/RSL/module_dm.F
6215 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
6218 ( cd ../external/io_netcdf ; \
6219 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6222 ( cd ../external/io_int ; \
6223 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6226 ( cd ../external/io_grib_share ; \
6227 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6230 ( cd ../external/io_grib1 ; \
6231 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6234 ( cd ../external/io_grib2 ; \
6235 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)
6238 ( cd ../external/esmf_time_f90 ; \
6239 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6241 ../external/RSL/RSL/librsl.a :
6242 ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
6244 # compile these without high optimization to speed compile
6245 solve_interface.o : solve_interface.F
6246 shift_domain_em.o : shift_domain_em.F
6247 module_io_mm5.o : module_io_mm5.F
6248 module_si_io.o : module_si_io.F
6249 module_io_wrf.o : module_io_wrf.F
6250 module_domain.o : module_domain.F
6251 module_start.o : module_start.F
6252 module_initialize.o : module_initialize.F
6253 module_initialize_b_wave.o : module_initialize_b_wave.F
6254 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6255 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6256 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6257 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6258 module_initialize_real.o : module_initialize_real.F
6259 module_dm.o : module_dm.F
6260 start_domain.o : start_domain.F
6261 mediation_integrate.o : mediation_integrate.F
6262 module_configure.o : module_configure.F
6266 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6267 module_start.o module_initialize.o module_initialize_b_wave.o \
6268 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6269 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6270 mediation_integrate.o \
6271 module_configure.o \
6272 module_initialize_real.o module_dm.o start_domain.o :
6274 $(SED_FTN) $*.F > $*.b
6275 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6277 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6279 ###########################################################
6280 #ARCH PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, No periodic LBCs)
6281 # Note that for 5.1.x comment out -Mpia=fast
6283 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6284 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6293 RWORDSIZE = $(NATIVE_RWORDSIZE)
6294 PROMOTION = -r$(RWORDSIZE) -i4
6295 CFLAGS = -DDM_PARALLEL \
6296 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
6298 FCOPTIM = -fastsse #-Mipa=fast
6300 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6301 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
6302 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
6303 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
6304 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6305 -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST)
6306 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6308 ESMF_IO_LIB = ESMFIOLIB
6309 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6310 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6311 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6314 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
6315 -L../external/io_grib1 -lio_grib1 \
6316 CONFIGURE_GRIB2_LIB \
6317 -L../external/io_grib_share -lio_grib_share \
6318 -L../external/io_int -lwrfio_int \
6319 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
6320 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
6321 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6322 CPP = /lib/cpp -C -P -traditional
6323 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6324 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6328 NETCDFPATH = CONFIGURE_NETCDF_PATH
6331 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6333 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6334 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6335 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6337 module_dm.F : ../external/RSL_LITE/module_dm.F
6338 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6341 ( cd ../external/io_netcdf ; \
6342 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6345 ( cd ../external/io_grib_share ; \
6346 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6349 ( cd ../external/io_grib1 ; \
6350 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6353 ( cd ../external/io_grib2 ; \
6354 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)
6357 ( cd ../external/io_int ; \
6358 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6361 ( cd ../external/esmf_time_f90 ; \
6362 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6364 ../external/RSL_LITE/librsl_lite.a :
6365 ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
6367 # compile these without high optimization to speed compile
6368 solve_interface.o : solve_interface.F
6369 shift_domain_em.o : shift_domain_em.F
6370 module_io_mm5.o : module_io_mm5.F
6371 module_si_io.o : module_si_io.F
6372 module_io_wrf.o : module_io_wrf.F
6373 module_domain.o : module_domain.F
6374 module_start.o : module_start.F
6375 module_initialize.o : module_initialize.F
6376 module_initialize_b_wave.o : module_initialize_b_wave.F
6377 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6378 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6379 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6380 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6381 module_initialize_real.o : module_initialize_real.F
6382 module_dm.o : module_dm.F
6383 start_domain.o : start_domain.F
6384 mediation_integrate.o : mediation_integrate.F
6385 module_configure.o : module_configure.F
6389 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6390 module_start.o module_initialize.o module_initialize_b_wave.o \
6391 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6392 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6393 mediation_integrate.o \
6394 module_configure.o \
6395 module_initialize_real.o module_dm.o start_domain.o :
6397 $(SED_FTN) $*.F > $*.b
6398 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6400 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6402 ###########################################################
6404 #ARCH PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher (Single-threaded, RSL, Allows nesting)
6405 # Note that for 5.1.x comment out -Mpia=fast
6407 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6408 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6417 RWORDSIZE = $(NATIVE_RWORDSIZE)
6418 FCOPTIM = -fastsse # -Mipa=fast
6420 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6421 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
6422 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
6423 ARCHFLAGS = $(COREDEFS) -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6424 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6425 -DLIMIT_ARGS -DSTUBMPI
6426 PROMOTION = -r$(RWORDSIZE) -i4
6427 CFLAGS = -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \
6428 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
6429 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6431 ESMF_IO_LIB = ESMFIOLIB
6432 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6433 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6434 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
6437 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
6438 -L../external/io_grib1 -lio_grib1 \
6439 -L../external/io_int -lwrfio_int \
6440 -L../external/io_grib_share -lio_grib_share \
6441 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
6442 LDFLAGS = -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
6443 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6444 CPP = /lib/cpp -C -P -traditional
6445 POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6446 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6450 NETCDFPATH = CONFIGURE_NETCDF_PATH
6453 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
6455 gen_comms.c : ../external/RSL/gen_comms.c
6456 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6457 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6459 module_dm.F : ../external/RSL/module_dm.F
6460 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
6463 ( cd ../external/io_netcdf ; \
6464 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6467 ( cd ../external/io_grib_share ; \
6468 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6471 ( cd ../external/io_grib1 ; \
6472 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6475 ( cd ../external/io_grib2 ; \
6476 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)
6479 ( cd ../external/io_int ; \
6480 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6483 ( cd ../external/esmf_time_f90 ; \
6484 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6486 ../external/RSL/RSL/librsl.a :
6487 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
6489 # compile these without high optimization to speed compile
6490 solve_interface.o : solve_interface.F
6491 shift_domain_em.o : shift_domain_em.F
6492 module_io_mm5.o : module_io_mm5.F
6493 module_si_io.o : module_si_io.F
6494 module_io_wrf.o : module_io_wrf.F
6495 module_domain.o : module_domain.F
6496 module_start.o : module_start.F
6497 module_initialize.o : module_initialize.F
6498 module_initialize_b_wave.o : module_initialize_b_wave.F
6499 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6500 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6501 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6502 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6503 module_initialize_real.o : module_initialize_real.F
6504 module_dm.o : module_dm.F
6505 start_domain.o : start_domain.F
6506 mediation_integrate.o : mediation_integrate.F
6507 module_configure.o : module_configure.F
6511 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6512 module_start.o module_initialize.o module_initialize_b_wave.o \
6513 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6514 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6515 module_configure.o \
6516 mediation_integrate.o \
6517 module_initialize_real.o module_dm.o start_domain.o :
6519 $(SED_FTN) $*.F > $*.b
6520 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6522 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6523 # if [ ! -e $@ ] ; then \
6524 # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6526 # if [ ! -e $@ ] ; then \
6527 # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6529 # if [ ! -e $@ ] ; then \
6530 # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6533 ###########################################################
6534 #ARCH Intel Itanium2 ia64 madison Linux (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting )
6535 # Notes for running on PNNL cluster:
6537 # 1. source /home/oehmen/.mycshrc
6538 # 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh
6540 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6541 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6550 RWORDSIZE = $(NATIVE_RWORDSIZE)
6551 PROMOTION = -r$(RWORDSIZE) -i4
6552 CFLAGS = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
6553 -I../external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include
6556 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm
6557 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm
6558 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
6559 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL \
6560 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6561 -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
6562 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6564 ESMF_IO_LIB = ESMFIOLIB
6565 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6566 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
6567 -I../external -I../frame -I../share -I../phys -I../inc -I../chem \
6568 -I/usr/lib/mpi/mpi_intel/include
6571 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
6572 -L../external/io_grib1 -lio_grib1 \
6573 CONFIGURE_GRIB2_LIB \
6574 -L../external/io_grib_share -lio_grib_share \
6575 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
6576 -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
6577 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6578 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6579 CPP = /lib/cpp -traditional -C -P -traditional
6580 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
6581 -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6582 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \
6583 -I../external/RSL_LITE -C -EP `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
6587 NETCDFPATH = CONFIGURE_NETCDF_PATH
6590 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6592 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6593 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6594 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6597 ( cd ../external/io_netcdf ; \
6598 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6600 module_dm.F : ../external/RSL_LITE/module_dm.F
6601 ( /bin/cp module_dm_warning module_dm.F ; \
6602 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6605 ( cd ../external/io_grib_share ; \
6606 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6609 ( cd ../external/io_grib1 ; \
6610 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6613 ( cd ../external/io_grib2 ; \
6614 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6617 ( cd ../external/io_int ; \
6618 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
6621 ( cd ../external/esmf_time_f90 ; \
6622 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6624 ../external/RSL_LITE/librsl_lite.a :
6625 ( cd ../external/RSL_LITE ; make CC='mpicc -w -I.' \
6626 FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
6628 # compile these without high optimization to speed compile
6629 solve_interface.o : solve_interface.F
6630 shift_domain_em.o : shift_domain_em.F
6631 module_io_mm5.o : module_io_mm5.F
6632 module_si_io.o : module_si_io.F
6633 module_io_wrf.o : module_io_wrf.F
6634 module_domain.o : module_domain.F
6635 module_start.o : module_start.F
6636 module_initialize.o : module_initialize.F
6637 module_initialize_b_wave.o : module_initialize_b_wave.F
6638 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6639 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6640 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6641 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6642 module_initialize_real.o : module_initialize_real.F
6643 module_dm.o : module_dm.F
6644 start_domain.o : start_domain.F
6645 module_configure.o : module_configure.F
6649 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6650 module_start.o module_initialize.o module_initialize_b_wave.o \
6651 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6652 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6653 module_configure.o \
6654 module_initialize_real.o module_dm.o start_domain.o :
6656 $(SED_FTN) $*.F > $*.b
6657 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6659 $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
6661 ###########################################################
6662 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL, VMI, allows nesting)
6664 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
6665 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
6667 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6668 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6674 INCLUDE = ../external/io_netcdf/
6676 FC = efc -I.. -I/usr/local/vmi/mpich/include
6678 CC = ecc -I. -I/usr/local/vmi/mpich/include
6681 RWORDSIZE = $(NATIVE_RWORDSIZE)
6682 PROMOTION = -r$(RWORDSIZE) -i4
6683 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
6684 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
6687 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
6688 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
6689 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6690 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6691 -DGRIB1 CONFIGURE_GRIB2_FLAG
6692 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6694 ESMF_IO_LIB = ESMFIOLIB
6695 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6696 INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6697 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6700 LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL/RSL -lrsl \
6701 -L../external/io_grib1 -lio_grib1 \
6702 CONFIGURE_GRIB2_LIB \
6703 -L../external/io_grib_share -lio_grib_share \
6704 -L../external/io_int -lwrfio_int \
6705 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time
6706 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6707 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6708 CPP = /lib/cpp -C -P -traditional
6709 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6710 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
6714 NETCDFPATH = CONFIGURE_NETCDF_PATH
6717 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time io_grib1
6719 gen_comms.c : ../external/RSL/gen_comms.c
6720 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6721 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6723 module_dm.F : ../external/RSL/module_dm.F
6724 ( /bin/cp module_dm_warning module_dm.F ; \
6725 cat ../external/RSL/module_dm.F >> module_dm.F )
6728 ( cd ../external/io_netcdf ; \
6729 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
6732 ( cd ../external/io_grib_share ; \
6733 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6736 ( cd ../external/io_grib1 ; \
6737 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6740 ( cd ../external/io_grib2 ; \
6741 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6744 ( cd ../external/io_int ; \
6745 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="efc -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
6748 ( cd ../external/esmf_time_f90 ; \
6749 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6751 #../external/RSL/RSL/librsl.a :
6752 # ( cd ../external/RSL/RSL ; \
6753 # make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
6754 # LEARN_BCAST=-DLEARN_BCAST o2k )
6756 ../external/RSL/RSL/librsl.a :
6757 ( cd ../external/RSL/RSL ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include '\
6758 FC="$(SFC) $(PROMOTION) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
6760 # compile these without high optimization to speed compile
6761 solve_interface.o : solve_interface.F
6762 shift_domain_em.o : shift_domain_em.F
6763 module_io_mm5.o : module_io_mm5.F
6764 module_si_io.o : module_si_io.F
6765 module_io_wrf.o : module_io_wrf.F
6766 module_domain.o : module_domain.F
6767 module_start.o : module_start.F
6768 module_initialize.o : module_initialize.F
6769 module_initialize_b_wave.o : module_initialize_b_wave.F
6770 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6771 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6772 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6773 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6774 module_initialize_real.o : module_initialize_real.F
6775 module_dm.o : module_dm.F
6776 start_domain.o : start_domain.F
6777 module_configure.o : module_configure.F
6781 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6782 module_start.o module_initialize.o module_initialize_b_wave.o \
6783 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6784 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6785 module_configure.o \
6786 module_initialize_real.o module_dm.o start_domain.o :
6788 $(SED_FTN) $*.F > $*.b
6789 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6791 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6793 ###########################################################
6794 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows nesting)
6796 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
6797 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
6799 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6800 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6803 INCLUDE = ../external/io_netcdf/
6805 FC = efc -I.. -I/usr/local/vmi/mpich/include
6807 CC = ecc -I. -I/usr/local/vmi/mpich/include
6810 RWORDSIZE = $(NATIVE_RWORDSIZE)
6811 PROMOTION = -r$(RWORDSIZE) -i4
6812 CFLAGS = -DDM_PARALLEL -I../external/RSL_LITE \
6813 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64
6816 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
6817 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
6818 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL \
6819 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6820 -DGRIB1 CONFIGURE_GRIB2_FLAG
6821 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6823 ESMF_IO_LIB = ESMFIOLIB
6824 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6825 INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6826 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
6829 LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
6830 -L../external/io_grib1 -lio_grib1 \
6831 CONFIGURE_GRIB2_LIB \
6832 -L../external/io_grib_share -lio_grib_share \
6833 -L../external/io_int -lwrfio_int \
6834 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time
6835 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6836 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6837 CPP = /lib/cpp -C -P -traditional
6838 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6839 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
6843 NETCDFPATH = CONFIGURE_NETCDF_PATH
6846 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6848 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6849 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6850 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6852 module_dm.F : ../external/RSL_LITE/module_dm.F
6853 ( /bin/cp module_dm_warning module_dm.F ; \
6854 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6857 ( cd ../external/io_netcdf ; \
6858 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
6861 ( cd ../external/io_int ; \
6862 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 )
6865 ( cd ../external/io_grib_share ; \
6866 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)
6869 ( cd ../external/io_grib1 ; \
6870 make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
6873 ( cd ../external/io_grib2 ; \
6874 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)
6877 ( cd ../external/esmf_time_f90 ; \
6878 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6880 ../external/RSL_LITE/librsl_lite.a :
6881 ( cd ../external/RSL_LITE ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \
6882 FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
6884 # compile these without high optimization to speed compile
6885 solve_interface.o : solve_interface.F
6886 shift_domain_em.o : shift_domain_em.F
6887 module_io_mm5.o : module_io_mm5.F
6888 module_si_io.o : module_si_io.F
6889 module_io_wrf.o : module_io_wrf.F
6890 module_domain.o : module_domain.F
6891 module_start.o : module_start.F
6892 module_initialize.o : module_initialize.F
6893 module_initialize_b_wave.o : module_initialize_b_wave.F
6894 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6895 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6896 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6897 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6898 module_initialize_real.o : module_initialize_real.F
6899 module_dm.o : module_dm.F
6900 start_domain.o : start_domain.F
6901 module_configure.o : module_configure.F
6905 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6906 module_start.o module_initialize.o module_initialize_b_wave.o \
6907 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6908 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6909 module_configure.o \
6910 module_initialize_real.o module_dm.o start_domain.o :
6912 $(SED_FTN) $*.F > $*.b
6913 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6915 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6917 ###########################################################
6918 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting) debug
6922 FC = ifort -g -debug extended -debug-parameters all -traceback -fpe0
6926 RWORDSIZE = $(NATIVE_RWORDSIZE)
6927 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
6928 PROMOTION = -real_size $(RSIZEBITS)
6930 FCBASEOPTS = -w -FR -cm -I. -Vaxlib -convert big_endian -mp
6932 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6934 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6936 ESMF_IO_LIB = ESMFIOLIB
6937 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
6938 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6939 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6940 ARCHFLAGS = $(COREDEFS) -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
6941 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
6943 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
6944 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
6945 CPP = /lib/cpp -traditional
6946 POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
6947 -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6948 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
6949 PERL = CONFIGURE_PERL_PATH
6951 LIB = CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
6952 -L../external/esmf_time_f90 -lesmf_time \
6953 -L../external/io_grib1 -lio_grib1 \
6954 CONFIGURE_GRIB2_LIB \
6955 -L../external/io_grib_share -lio_grib_share
6959 NETCDFPATH = CONFIGURE_NETCDF_PATH
6962 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
6965 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6968 ( cd ../external/io_netcdf ; \
6969 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
6972 ( cd ../external/io_grib_share ; \
6973 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6974 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
6977 ( cd ../external/io_grib1 ; \
6978 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
6981 ( cd ../external/io_grib2 ; \
6982 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
6985 ( cd ../external/io_int ; \
6986 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
6989 ( cd ../external/esmf_time_f90 ; \
6990 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6992 # compile these without high optimization to speed compile
6993 solve_interface.o : solve_interface.F
6994 shift_domain_em.o : shift_domain_em.F
6995 module_io_mm5.o : module_io_mm5.F
6996 module_si_io.o : module_si_io.F
6997 module_io_wrf.o : module_io_wrf.F
6998 module_domain.o : module_domain.F
6999 module_start.o : module_start.F
7000 module_initialize.o : module_initialize.F
7001 module_initialize_b_wave.o : module_initialize_b_wave.F
7002 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7003 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7004 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7005 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7006 module_initialize_real.o : module_initialize_real.F
7007 start_domain.o : start_domain.F
7008 wrf_bdyin.o : wrf_bdyin.F
7009 wrf_bdyout.o : wrf_bdyout.F
7010 wrf_histin.o : wrf_histin.F
7011 wrf_histout.o : wrf_histout.F
7012 wrf_inputin.o : wrf_inputin.F
7013 wrf_inputout.o : wrf_inputout.F
7014 wrf_restartin.o : wrf_restartin.F
7015 wrf_restartout.o : wrf_restartout.F
7017 wrf_bdyin.o wrf_bdyout.o \
7018 wrf_histin.o wrf_histout.o \
7019 wrf_inputin.o wrf_inputout.o \
7020 wrf_restartin.o wrf_restartout.o \
7023 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7024 module_start.o module_initialize.o module_initialize_b_wave.o \
7025 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7026 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7027 module_initialize_real.o module_dm.o start_domain.o :
7029 $(SED_FTN) $*.F > $*.b
7030 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7032 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
7034 module_dm.o : module_dm.F
7035 module_configure.o : module_configure.F
7037 module_configure.o \
7040 $(SED_FTN) $*.F > $*.b
7041 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7043 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7047 ###########################################################
7048 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting) -03
7056 RWORDSIZE = $(NATIVE_RWORDSIZE)
7057 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7058 PROMOTION = -real_size $(RSIZEBITS)
7060 FCBASEOPTS = -w -FR -cm -I. -Vaxlib -convert big_endian -mp
7061 FCOPTIM = -O3 -no-ipo
7062 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7064 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7066 ESMF_IO_LIB = ESMFIOLIB
7067 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7068 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7069 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7070 ARCHFLAGS = $(COREDEFS) -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
7071 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
7073 LDFLAGS = $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7074 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7075 CPP = /lib/cpp -traditional
7076 POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
7077 -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7078 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7079 PERL = CONFIGURE_PERL_PATH
7081 LIB = CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
7082 -L../external/esmf_time_f90 -lesmf_time \
7083 -L../external/io_grib1 -lio_grib1 \
7084 CONFIGURE_GRIB2_LIB \
7085 -L../external/io_grib_share -lio_grib_share
7089 NETCDFPATH = CONFIGURE_NETCDF_PATH
7092 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
7095 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7098 ( cd ../external/io_netcdf ; \
7099 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
7102 ( cd ../external/io_grib_share ; \
7103 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7104 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7107 ( cd ../external/io_grib1 ; \
7108 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7111 ( cd ../external/io_grib2 ; \
7112 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7115 ( cd ../external/io_int ; \
7116 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
7119 ( cd ../external/esmf_time_f90 ; \
7120 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7122 # compile these without high optimization to speed compile
7123 solve_interface.o : solve_interface.F
7124 shift_domain_em.o : shift_domain_em.F
7125 module_io_mm5.o : module_io_mm5.F
7126 module_si_io.o : module_si_io.F
7127 module_io_wrf.o : module_io_wrf.F
7128 module_domain.o : module_domain.F
7129 module_start.o : module_start.F
7130 module_initialize.o : module_initialize.F
7131 module_initialize_b_wave.o : module_initialize_b_wave.F
7132 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7133 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7134 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7135 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7136 module_initialize_real.o : module_initialize_real.F
7137 start_domain.o : start_domain.F
7138 wrf_bdyin.o : wrf_bdyin.F
7139 wrf_bdyout.o : wrf_bdyout.F
7140 wrf_histin.o : wrf_histin.F
7141 wrf_histout.o : wrf_histout.F
7142 wrf_inputin.o : wrf_inputin.F
7143 wrf_inputout.o : wrf_inputout.F
7144 wrf_restartin.o : wrf_restartin.F
7145 wrf_restartout.o : wrf_restartout.F
7147 wrf_bdyin.o wrf_bdyout.o \
7148 wrf_histin.o wrf_histout.o \
7149 wrf_inputin.o wrf_inputout.o \
7150 wrf_restartin.o wrf_restartout.o \
7153 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7154 module_start.o module_initialize.o module_initialize_b_wave.o \
7155 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7156 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7157 module_initialize_real.o module_dm.o start_domain.o :
7159 $(SED_FTN) $*.F > $*.b
7160 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7162 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
7164 module_dm.o : module_dm.F
7165 module_configure.o : module_configure.F
7167 module_configure.o \
7170 $(SED_FTN) $*.F > $*.b
7171 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7173 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7175 ###########################################################
7176 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single threaded, allows nesting using RSL without MPI) -03
7178 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
7179 # has been identified to produce wrong results occationally.
7180 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7181 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7192 RWORDSIZE = $(NATIVE_RWORDSIZE)
7193 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7194 PROMOTION = -real_size $(RSIZEBITS)
7197 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7198 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7199 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7200 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7201 -DLIMIT_ARGS -DSTUBMPI \
7202 CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \
7203 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
7204 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7206 ESMF_IO_LIB = ESMFIOLIB
7207 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7208 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7209 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7212 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7213 -L../external/io_int -lwrfio_int \
7214 -L../external/io_grib1 -lio_grib1 \
7215 CONFIGURE_GRIB2_LIB \
7216 -L../external/io_grib_share -lio_grib_share \
7217 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
7218 LDFLAGS = $(FCOPTIM) $(OMP) -convert big_endian CONFIGURE_LDFLAGS
7219 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7220 CPP = /lib/cpp -traditional
7221 POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7222 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7226 NETCDFPATH = CONFIGURE_NETCDF_PATH
7229 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7231 gen_comms.c : ../external/RSL/gen_comms.c
7232 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7233 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7235 module_dm.F : ../external/RSL/module_dm.F
7236 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7239 ( cd ../external/io_netcdf ; \
7240 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7243 ( cd ../external/io_grib_share ; \
7244 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7245 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7248 ( cd ../external/io_grib1 ; \
7249 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" \
7250 CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7252 ( cd ../external/io_grib2 ; \
7253 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
7254 CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7257 ( cd ../external/io_int ; \
7258 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7261 ( cd ../external/esmf_time_f90 ; \
7262 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7264 ../external/RSL/RSL/librsl.a :
7265 ( cd ../external/RSL/RSL ; \
7266 make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
7268 # compile these without high optimization to speed compile
7269 solve_interface.o : solve_interface.F
7270 shift_domain_em.o : shift_domain_em.F
7271 module_io_mm5.o : module_io_mm5.F
7272 module_si_io.o : module_si_io.F
7273 module_io_wrf.o : module_io_wrf.F
7274 module_domain.o : module_domain.F
7275 module_start.o : module_start.F
7276 module_initialize.o : module_initialize.F
7277 module_initialize_b_wave.o : module_initialize_b_wave.F
7278 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7279 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7280 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7281 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7282 module_initialize_real.o : module_initialize_real.F
7283 start_domain.o : start_domain.F
7284 mediation_integrate.o : mediation_integrate.F
7288 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7289 module_start.o module_initialize.o module_initialize_b_wave.o \
7290 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7291 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7292 mediation_integrate.o \
7293 module_initialize_real.o start_domain.o :
7295 $(SED_FTN) $*.F > $*.b
7296 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7298 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7300 module_dm.o : module_dm.F
7301 module_configure.o : module_configure.F
7303 module_configure.o \
7306 $(SED_FTN) $*.F > $*.b
7307 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7309 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7311 ###########################################################
7312 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP)
7314 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
7315 # has been identified to produce wrong results occationally.
7317 OMP = -openmp -fpp -auto
7324 RWORDSIZE = $(NATIVE_RWORDSIZE)
7325 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7326 PROMOTION = -real_size $(RSIZEBITS)
7330 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7331 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7332 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7333 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
7335 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7337 ESMF_IO_LIB = ESMFIOLIB
7338 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7339 INCLUDE_MODULES = -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7340 -I../frame -I../share -I../phys -I../inc -I../chem
7343 LIB = CONFIGURE_NETCDF_LIB_PATH \
7344 -L../external/io_grib1 -lio_grib1 \
7345 CONFIGURE_GRIB2_LIB \
7346 -L../external/io_grib_share -lio_grib_share \
7347 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
7348 LDFLAGS = $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7349 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7350 CPP = /lib/cpp -traditional
7351 POUND_DEF = $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7352 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7356 NETCDFPATH = CONFIGURE_NETCDF_PATH
7359 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
7362 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7365 ( cd ../external/io_netcdf ; \
7366 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7369 ( cd ../external/io_grib_share ; \
7370 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7371 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7374 ( cd ../external/io_grib1 ; \
7375 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7378 ( cd ../external/io_grib2 ; \
7379 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7382 ( cd ../external/io_int ; \
7383 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7384 TRADFLAG="-traditional" all )
7387 ( cd ../external/esmf_time_f90 ; \
7388 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7390 # compile these without high optimization to speed compile
7391 solve_interface.o : solve_interface.F
7392 shift_domain_em.o : shift_domain_em.F
7393 module_io_mm5.o : module_io_mm5.F
7394 module_si_io.o : module_si_io.F
7395 module_io_wrf.o : module_io_wrf.F
7396 module_domain.o : module_domain.F
7397 module_start.o : module_start.F
7398 module_initialize.o : module_initialize.F
7399 module_initialize_b_wave.o : module_initialize_b_wave.F
7400 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7401 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7402 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7403 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7404 module_initialize_real.o : module_initialize_real.F
7405 start_domain.o : start_domain.F
7406 mediation_integrate.o : mediation_integrate.F
7410 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7411 module_start.o module_initialize.o module_initialize_b_wave.o \
7412 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7413 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7414 mediation_integrate.o \
7415 module_initialize_real.o start_domain.o :
7417 $(SED_FTN) $*.F > $*.b
7418 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7420 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7422 module_dm.o : module_dm.F
7423 module_configure.o : module_configure.F
7425 module_configure.o \
7428 $(SED_FTN) $*.F > $*.b
7429 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7431 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7433 ###########################################################
7434 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI)
7436 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
7437 # has been identified to produce wrong results occationally.
7438 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7439 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7442 OMP = -openmp -fpp -auto
7451 RWORDSIZE = $(NATIVE_RWORDSIZE)
7452 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7453 PROMOTION = -real_size $(RSIZEBITS)
7456 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7457 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7458 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7459 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7460 -DLIMIT_ARGS -DSTUBMPI
7461 CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO \
7462 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
7463 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7465 ESMF_IO_LIB = ESMFIOLIB
7466 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7467 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7468 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7471 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7472 -L../external/io_int -lwrfio_int -L../external/io_grib1 -lio_grib1 \
7473 CONFIGURE_GRIB2_LIB \
7474 -L../external/io_grib_share -lio_grib_share \
7475 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time $(OMP)
7476 LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7477 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7478 CPP = /lib/cpp -traditional
7479 POUND_DEF = -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7480 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7484 NETCDFPATH = CONFIGURE_NETCDF_PATH
7487 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7489 gen_comms.c : ../external/RSL/gen_comms.c
7490 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7491 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7493 module_dm.F : ../external/RSL/module_dm.F
7494 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7497 ( cd ../external/io_netcdf ; \
7498 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7501 ( cd ../external/io_grib_share ; \
7502 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7503 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7506 ( cd ../external/io_grib1 ; \
7507 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7510 ( cd ../external/io_grib2 ; \
7511 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7514 ( cd ../external/io_int ; \
7515 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7518 ( cd ../external/esmf_time_f90 ; \
7519 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7521 ../external/RSL/RSL/librsl.a :
7522 ( cd ../external/RSL/RSL ; \
7523 make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
7525 # compile these without high optimization to speed compile
7526 solve_interface.o : solve_interface.F
7527 shift_domain_em.o : shift_domain_em.F
7528 module_io_mm5.o : module_io_mm5.F
7529 module_si_io.o : module_si_io.F
7530 module_io_wrf.o : module_io_wrf.F
7531 module_domain.o : module_domain.F
7532 module_start.o : module_start.F
7533 module_initialize.o : module_initialize.F
7534 module_initialize_b_wave.o : module_initialize_b_wave.F
7535 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7536 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7537 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7538 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7539 module_initialize_real.o : module_initialize_real.F
7540 start_domain.o : start_domain.F
7541 mediation_integrate.o : mediation_integrate.F
7545 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7546 module_start.o module_initialize.o module_initialize_b_wave.o \
7547 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7548 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7549 mediation_integrate.o \
7550 module_initialize_real.o start_domain.o :
7552 $(SED_FTN) $*.F > $*.b
7553 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7555 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7557 module_dm.o : module_dm.F
7558 module_configure.o : module_configure.F
7560 module_configure.o \
7563 $(SED_FTN) $*.F > $*.b
7564 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7566 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7568 ###########################################################
7569 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+icc compiler DM-Parallel (RSL, MPICH, allows nesting)
7571 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
7572 # has been identified to produce wrong results occationally.
7573 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7574 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7579 FC = mpif90 -f90=ifort
7580 LD = mpif90 -f90=ifort
7584 RWORDSIZE = $(NATIVE_RWORDSIZE)
7585 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7586 PROMOTION = -real_size $(RSIZEBITS)
7589 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7590 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7591 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7592 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7595 CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
7596 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
7597 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7599 ESMF_IO_LIB = ESMFIOLIB
7600 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7601 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7602 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7605 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7606 -L../external/io_int -lwrfio_int \
7607 -L../external/io_grib1 -lio_grib1 \
7608 CONFIGURE_GRIB2_LIB \
7609 -L../external/io_grib_share -lio_grib_share \
7610 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
7611 LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7612 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7613 CPP = /lib/cpp -traditional
7614 POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7615 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7619 NETCDFPATH = CONFIGURE_NETCDF_PATH
7622 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7624 gen_comms.c : ../external/RSL/gen_comms.c
7625 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7626 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7628 module_dm.F : ../external/RSL/module_dm.F
7629 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7632 ( cd ../external/io_netcdf ; \
7633 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7636 ( cd ../external/io_grib_share ; \
7637 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7638 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7641 ( cd ../external/io_grib1 ; \
7642 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7645 ( cd ../external/io_grib2 ; \
7646 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7649 ( cd ../external/io_int ; \
7650 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7653 ( cd ../external/esmf_time_f90 ; \
7654 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7656 ../external/RSL/RSL/librsl.a :
7657 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
7659 # compile these without high optimization to speed compile
7660 solve_interface.o : solve_interface.F
7661 shift_domain_em.o : shift_domain_em.F
7662 module_io_mm5.o : module_io_mm5.F
7663 module_si_io.o : module_si_io.F
7664 module_io_wrf.o : module_io_wrf.F
7665 module_domain.o : module_domain.F
7666 module_start.o : module_start.F
7667 module_initialize.o : module_initialize.F
7668 module_initialize_b_wave.o : module_initialize_b_wave.F
7669 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7670 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7671 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7672 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7673 module_initialize_real.o : module_initialize_real.F
7674 start_domain.o : start_domain.F
7675 mediation_integrate.o : mediation_integrate.F
7679 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7680 module_start.o module_initialize.o module_initialize_b_wave.o \
7681 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7682 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7683 mediation_integrate.o \
7684 module_initialize_real.o start_domain.o :
7686 $(SED_FTN) $*.F > $*.b
7687 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7689 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7691 module_dm.o : module_dm.F
7692 module_configure.o : module_configure.F
7694 module_configure.o \
7697 $(SED_FTN) $*.F > $*.b
7698 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7700 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7702 ###########################################################
7703 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler DM-Parallel (RSL, MPICH, allows nesting) -03
7705 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option
7706 # has been identified to produce wrong results occationally.
7707 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7708 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7713 FC = mpif90 -f90=ifort
7714 LD = mpif90 -f90=ifort
7718 RWORDSIZE = $(NATIVE_RWORDSIZE)
7719 RSIZEBITS = `expr $(RWORDSIZE) \* 8`
7720 PROMOTION = -real_size $(RSIZEBITS)
7723 FCBASEOPTS = -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7724 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
7725 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7726 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7729 CFLAGS = -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
7730 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
7731 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7733 ESMF_IO_LIB = ESMFIOLIB
7734 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7735 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7736 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7739 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7740 -L../external/io_int -lwrfio_int \
7741 -L../external/io_grib1 -lio_grib1 \
7742 CONFIGURE_GRIB2_LIB \
7743 -L../external/io_grib_share -lio_grib_share \
7744 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
7745 LDFLAGS = $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7746 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
7747 CPP = /lib/cpp -traditional
7748 POUND_DEF = -DNO_RRTM_PHYSICS $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7749 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7753 NETCDFPATH = CONFIGURE_NETCDF_PATH
7756 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7758 gen_comms.c : ../external/RSL/gen_comms.c
7759 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7760 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7762 module_dm.F : ../external/RSL/module_dm.F
7763 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7766 ( cd ../external/io_netcdf ; \
7767 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7770 ( cd ../external/io_grib_share ; \
7771 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7772 FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7775 ( cd ../external/io_grib1 ; \
7776 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7779 ( cd ../external/io_grib2 ; \
7780 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7783 ( cd ../external/io_int ; \
7784 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7787 ( cd ../external/esmf_time_f90 ; \
7788 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7790 ../external/RSL/RSL/librsl.a :
7791 ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
7793 # compile these without high optimization to speed compile
7794 solve_interface.o : solve_interface.F
7795 shift_domain_em.o : shift_domain_em.F
7796 module_io_mm5.o : module_io_mm5.F
7797 module_si_io.o : module_si_io.F
7798 module_io_wrf.o : module_io_wrf.F
7799 module_domain.o : module_domain.F
7800 module_start.o : module_start.F
7801 module_initialize.o : module_initialize.F
7802 module_initialize_b_wave.o : module_initialize_b_wave.F
7803 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7804 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7805 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7806 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7807 module_initialize_real.o : module_initialize_real.F
7808 start_domain.o : start_domain.F
7809 mediation_integrate.o : mediation_integrate.F
7813 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7814 module_start.o module_initialize.o module_initialize_b_wave.o \
7815 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7816 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7817 mediation_integrate.o \
7818 module_initialize_real.o start_domain.o :
7820 $(SED_FTN) $*.F > $*.b
7821 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7823 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7825 module_dm.o : module_dm.F
7826 module_configure.o : module_configure.F
7828 module_configure.o \
7831 $(SED_FTN) $*.F > $*.b
7832 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7834 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7836 ###########################################################
7838 #ARCH NEC SUPER-UX SX-6 (serial)
7840 #***** some sx f90 compiler options***********
7841 # -V : version # of f90 command to stderr
7842 #-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
7843 #-Ep: activate cpp preprocessor to perfomr conditional compiling
7844 #****However, cpp also activated by using .F or .F90 suffixes...
7845 # -Wf: specifies option string of the f90/sx detailed options
7846 #-g: debug info generated in object file for dbx symbolic debugging
7847 # -ew : all numbers size=8bytes
7849 # -float0: default and only -float(number) option for sx6
7850 # -USX: unname the prev. defined reserved symbol SX of the preprocessor
7851 # -U overrides -D, so '-USX -D$(RUNTIMESYSTEM)' might be redundant
7852 # -p: object file in execution format corresp. to 'prof' command be generated
7853 # -f4: input source program is described in F90 standard free format
7854 # -w: only syntax diagnostic messages at the fatal level are output
7855 # -C: specifies compile mode
7856 # ssafe: only safe optimization in scalar mode (minimize side effects of
7857 # opt. no loop unrolling, etc
7858 # -init : init stack and heap areas
7859 # -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
7862 MPP_TARGET = $(RUNTIME_SYSTEM)
7868 NATIVE_RWORDSIZE = 8
7869 RWORDSIZE = $(NATIVE_RWORDSIZE)
7870 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)
7871 ##for DM compilation -DDM_PARALLEL -DRSL
7872 # note: -ew already does this for SX6, see comments above
7874 CFLAGS = $(ARCHFLAGS)
7875 #CFLAGS = $(ARCHFLAGS) -DMPI -Dvpp -I../external/RSL/RSL
7877 FCFLAGS = -w -Ep -C ssafe \
7878 -sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I../inc -f4
7879 # -Wf"-init stack=zero heap=zero"
7880 # -Wf"-L transform fmtlist summary stdout" -g
7882 FCBASEOPTS = $(FCFLAGS) -w
7884 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7886 ESMF_IO_LIB = ESMFIOLIB
7887 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
7888 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int \
7889 -I../external/esmf_time_f90 -I../frame -I../share -I../phys -I../chem -I../inc
7892 LIB = -L../external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L../external/io_int -lwrfio_int \
7893 -L../external/io_grib1 -lio_grib1 \
7894 CONFIGURE_GRIB2_LIB \
7895 -L../external/io_grib_share -lio_grib_share \
7896 # -L../external/RSL/RSL -lrsl \
7897 -L../external/esmf_time_f90 -lesmf_time \
7898 ../frame/module_internal_header_util.o ../frame/pack_utils.o
7900 #-lmpi for 4byte storage, -lmpiw for 8 byte storage
7901 #LDOPTIONS = -lmpiw -ew
7903 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7904 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS)
7905 #CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) -DSYSTEM_CALL_OK -DMPI -Dvpp
7917 NETCDFPATH = /usr/local/netcdf/current
7919 ARCH_OBJS = milliclock.o
7920 ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
7921 FLIC_MACROS = LMvpp.m4 -B 14000
7925 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int esmf_time module_dm.F
7926 ( /sbin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7927 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7930 ( /sbin/cp module_dm_warning module_dm.F ; \
7931 cat module_dm_stubs.F >> module_dm.F )
7934 ( cd ../external/io_netcdf ; \
7935 make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
7939 ( cd ../external/io_int ; \
7940 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all )
7943 ( cd ../external/io_grib_share ; \
7944 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
7947 ( cd ../external/io_grib1 ; \
7948 make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
7951 ( cd ../external/io_grib2 ; \
7952 make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive)
7955 ( cd ../external/esmf_time_f90 ;\
7956 make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I../../inc " )
7958 #sx : uses makefile.sx in the directory
7959 #../external/RSL/RSL/librsl.a :
7960 # (cd ../external/RSL/RSL ; \
7961 # make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
7963 #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7965 # compile these without high optimization to speed compile
7966 solve_interface.o : solve_interface.F
7967 shift_domain_em.o : shift_domain_em.F
7968 module_io_mm5.o : module_io_mm5.F
7969 module_si_io.o : module_si_io.F
7970 module_io_wrf.o : module_io_wrf.F
7971 module_domain.o : module_domain.F
7972 module_start.o : module_start.F
7973 module_initialize.o : module_initialize.F
7974 module_initialize_b_wave.o : module_initialize_b_wave.F
7975 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7976 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7977 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7978 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7979 module_initialize_real.o : module_initialize_real.F
7980 module_dm.o : module_dm.F
7981 start_domain.o : start_domain.F
7982 module_configure.o : module_configure.F
7986 module_configure.o \
7987 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7988 module_start.o module_initialize.o module_initialize_b_wave.o \
7989 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
7990 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
7991 module_initialize_real.o module_dm.o start_domain.o :
7993 $(SED_FTN) $*.F > $*.b
7994 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
7996 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
7998 ###########################################################
7999 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, allows nesting)
8001 # 'setenv F_UFMTENDIAN big' in run scripts not necessary
8002 # since -convert big_endian is in FCBASEOPTS
8003 # Change MPI_HOME if SGI's MPI is not in the default directories
8005 # Process pinning should be used -- set the environment
8006 # variable MPI_DSM_DISTRIBUTE on a dedicated system, when
8007 # running through the cpuset command, or when using a batch
8008 # scheduler that has dynamic cpuset support enabled. In
8009 # other cases, if specific processors are known to be free,
8010 # the environment variable MPI_DSM_CPULIST may be used
8011 # (details in 'man mpi').
8013 # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8014 # modules/routines that take a long time to compile but do not
8015 # significantly contribute to the total runtime performance is
8016 # appropriate. Temporary suggestion for 2.1.1, Nov 2005.
8018 # Contributed settings from Gerardo Cisneros, SGI
8020 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8021 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8025 INCLUDE = ../external/io_netcdf/
8035 CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \
8036 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
8037 FCOPTIM = -O3 -unroll0
8039 FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8040 -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8042 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8043 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
8044 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8045 -DLIMIT_ARGS -DSGIALTIX
8046 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8048 ESMF_IO_LIB = ESMFIOLIB
8049 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8050 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8051 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8054 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8055 -L../external/io_grib1 -lio_grib1 \
8056 CONFIGURE_GRIB2_LIB \
8057 -L../external/io_grib_share -lio_grib_share \
8058 CONFIGURE_NETCDF_LIB_PATH \
8059 -L../external/RSL/RSL -lrsl \
8060 -L../external/io_int -lwrfio_int \
8061 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8062 -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time
8063 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8064 CPP = /lib/cpp -C -P -traditional
8065 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8066 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8067 -I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \
8068 $(POUND_DEF) $(COREDEFS)
8072 NETCDFPATH = CONFIGURE_NETCDF_PATH
8074 externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8076 gen_comms.c : ../external/RSL/gen_comms.c
8077 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8078 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
8080 module_dm.F : ../external/RSL/module_dm.F
8081 ( /bin/cp module_dm_warning module_dm.F ; \
8082 cat ../external/RSL/module_dm.F >> module_dm.F )
8085 ( cd ../external/io_netcdf ; \
8086 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \
8087 FC="$(FC) -I../.. $(FCFLAGS)" \
8088 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8089 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
8090 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
8091 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
8094 ( cd ../external/io_int ; \
8095 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8096 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8099 ( cd ../external/io_grib_share ; \
8100 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8101 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8104 ( cd ../external/io_grib1 ; \
8105 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8106 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8108 ( cd ../external/io_grib2 ; \
8109 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8110 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive)
8113 ( cd ../external/esmf_time_f90 ; \
8114 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8116 ../external/RSL/RSL/librsl.a :
8117 ( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \
8118 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
8119 LEARN_BCAST=-DLEARN_BCAST altix )
8121 # compile these without high optimization to speed compile
8122 module_configure.o : module_configure.F
8123 mediation_integrate.o : mediation_integrate.F
8124 mediation_interp_domain.o : mediation_interp_domain.F
8125 mediation_feedback_domain.o : mediation_feedback_domain.F
8126 wrf_auxinput1out.o : wrf_auxinput1out.F
8127 wrf_histout.o : wrf_histout.F
8128 wrf_restartout.o : wrf_restartout.F
8129 wrf_inputin.o : wrf_inputin.F
8130 wrf_auxinput1in.o : wrf_auxinput1in.F
8131 wrf_histin.o : wrf_histin.F
8132 wrf_restartin.o : wrf_restartin.F
8133 module_initialize_real.o: module_initialize_real.F
8134 solve_interface.o : solve_interface.F
8135 shift_domain_em.o : shift_domain_em.F
8136 module_io_wrf.o : module_io_wrf.F
8137 module_domain.o : module_domain.F
8138 module_dm.o : module_dm.F
8139 start_domain.o : start_domain.F
8140 mediation_force_domain.o : mediation_force_domain.F
8142 module_configure.o \
8143 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8144 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8145 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8146 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8148 mediation_force_domain.o:
8150 $(SED_FTN) $*.F > $*.b
8151 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8153 $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8155 ###########################################################
8156 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Allows nesting)
8158 # 'setenv F_UFMTENDIAN big' in run scripts not necessary
8159 # since -convert big_endian is in FCBASEOPTS
8160 # Change MPI_HOME if SGI's MPI is not in the default directories
8162 # Process pinning should be used -- set the environment
8163 # variable MPI_DSM_DISTRIBUTE on a dedicated system, when
8164 # running through the cpuset command, or when using a batch
8165 # scheduler that has dynamic cpuset support enabled. In
8166 # other cases, if specific processors are known to be free,
8167 # the environment variable MPI_DSM_CPULIST may be used
8168 # (details in 'man mpi').
8170 # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8171 # modules/routines that take a long time to compile but do not
8172 # significantly contribute to the total runtime performance is
8173 # appropriate. Temporary suggestion for 2.1.1, Nov 2005.
8175 # Contributed settings from Gerardo Cisneros, SGI
8177 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8178 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8181 INCLUDE = ../external/io_netcdf/
8190 CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \
8191 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
8192 FCOPTIM = -O3 -unroll0
8194 FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8195 -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8197 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8198 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
8199 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8200 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8202 ESMF_IO_LIB = ESMFIOLIB
8203 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8204 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8205 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8208 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8209 CONFIGURE_NETCDF_LIB_PATH \
8210 -L../external/RSL_LITE -lrsl_lite \
8211 -L../external/io_grib1 -lio_grib1 \
8212 CONFIGURE_GRIB2_LIB \
8213 -L../external/io_grib_share -lio_grib_share \
8214 -L../external/io_int -lwrfio_int \
8215 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8216 -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time
8217 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8218 CPP = /lib/cpp -C -P -traditional
8219 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8220 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8221 -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \
8222 $(POUND_DEF) $(COREDEFS)
8226 NETCDFPATH = CONFIGURE_NETCDF_PATH
8228 externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8230 gen_comms.c : ../external/RSL_LITE/gen_comms.c
8231 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8232 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
8234 module_dm.F : ../external/RSL_LITE/module_dm.F
8235 ( /bin/cp module_dm_warning module_dm.F ; \
8236 cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
8239 ( cd ../external/io_netcdf ; \
8240 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8241 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8242 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
8243 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
8244 /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
8247 ( cd ../external/io_int ; \
8248 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8249 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8252 ( cd ../external/io_grib_share ; \
8253 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8254 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8257 ( cd ../external/io_grib1 ; \
8258 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8259 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8261 ( cd ../external/io_grib2 ; \
8262 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8263 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8266 ( cd ../external/esmf_time_f90 ; \
8267 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8269 ../external/RSL_LITE/librsl_lite.a :
8270 ( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
8271 FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
8273 # compile these without high optimization to speed compile
8274 mediation_integrate.o : mediation_integrate.F
8275 mediation_interp_domain.o : mediation_interp_domain.F
8276 mediation_feedback_domain.o : mediation_feedback_domain.F
8277 wrf_auxinput1out.o : wrf_auxinput1out.F
8278 wrf_histout.o : wrf_histout.F
8279 wrf_restartout.o : wrf_restartout.F
8280 wrf_inputin.o : wrf_inputin.F
8281 wrf_auxinput1in.o : wrf_auxinput1in.F
8282 wrf_histin.o : wrf_histin.F
8283 wrf_restartin.o : wrf_restartin.F
8284 module_initialize_real.o: module_initialize_real.F
8285 solve_interface.o : solve_interface.F
8286 shift_domain_em.o : shift_domain_em.F
8287 module_io_wrf.o : module_io_wrf.F
8288 module_dm.o : module_dm.F
8289 module_domain.o : module_domain.F
8290 start_domain.o : start_domain.F
8291 mediation_force_domain.o : mediation_force_domain.F
8292 module_configure.o : module_configure.F
8294 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8295 module_configure.o \
8296 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8297 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8298 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8300 mediation_force_domain.o:
8302 $(SED_FTN) $*.F > $*.b
8303 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8305 $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8308 ###########################################################
8309 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (OpenMP, no nesting)
8311 # 'setenv F_UFMTENDIAN big' in run scripts not necessary
8312 # since -convert big_endian is in FCBASEOPTS
8314 # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8315 # modules/routines that take a long time to compile but do not
8316 # significantly contribute to the total runtime performance is
8317 # appropriate. Temporary suggestion for 2.1.1, Nov 2005.
8319 # Contributed settings from Gerardo Cisneros, SGI
8320 # Set up only for idealized experiments
8324 INCLUDE = ../external/io_netcdf/
8331 CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz
8332 FCOPTIM = -O3 -unroll0
8334 FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8335 -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8337 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8338 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8339 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8341 ESMF_IO_LIB = ESMFIOLIB
8342 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8343 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8344 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8347 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8348 CONFIGURE_NETCDF_LIB_PATH \
8349 -L../external/io_int -lwrfio_int \
8350 -L../external/io_grib1 -lio_grib1 \
8351 CONFIGURE_GRIB2_LIB \
8352 -L../external/io_grib_share -lio_grib_share \
8353 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8354 -L../external/esmf_time_f90 -lesmf_time
8355 LDFLAGS = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8356 CPP = /lib/cpp -C -P -traditional
8357 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8358 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8359 -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
8360 $(POUND_DEF) $(COREDEFS)
8364 NETCDFPATH = CONFIGURE_NETCDF_PATH
8366 externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8369 ( /bin/cp module_dm_warning module_dm.F ; \
8370 cat module_dm_stubs.F >> module_dm.F )
8373 ( cd ../external/io_netcdf ; \
8374 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8375 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8376 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
8377 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
8378 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
8379 # /bin/cp wrf_io_flags.h ../io_quilt )
8382 ( cd ../external/io_int ; \
8383 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8384 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8387 ( cd ../external/io_grib_share ; \
8388 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8389 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8392 ( cd ../external/io_grib1 ; \
8393 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8394 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8396 ( cd ../external/io_grib2 ; \
8397 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8398 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8401 ( cd ../external/esmf_time_f90 ; \
8402 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8404 # compile these without high optimization to speed compile
8405 mediation_integrate.o : mediation_integrate.F
8406 mediation_interp_domain.o : mediation_interp_domain.F
8407 mediation_feedback_domain.o : mediation_feedback_domain.F
8408 wrf_auxinput1out.o : wrf_auxinput1out.F
8409 wrf_histout.o : wrf_histout.F
8410 wrf_restartout.o : wrf_restartout.F
8411 wrf_inputin.o : wrf_inputin.F
8412 wrf_auxinput1in.o : wrf_auxinput1in.F
8413 wrf_histin.o : wrf_histin.F
8414 wrf_restartin.o : wrf_restartin.F
8415 module_initialize_real.o: module_initialize_real.F
8416 solve_interface.o : solve_interface.F
8417 shift_domain_em.o : shift_domain_em.F
8418 module_dm.o : module_dm.F
8419 module_io_wrf.o : module_io_wrf.F
8420 module_domain.o : module_domain.F
8421 start_domain.o : start_domain.F
8422 mediation_force_domain.o : mediation_force_domain.F
8423 module_configure.o : module_configure.F
8424 module_bl_mrf.o: module_bl_mrf.F
8426 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8427 module_configure.o \
8428 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8429 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8430 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8431 shift_domain_em.o module_bl_mrf.o \
8432 mediation_force_domain.o:
8434 $(SED_FTN) $*.F > $*.b
8435 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8437 $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8440 ###########################################################
8441 #ARCH SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (Single-processor, no nesting)
8443 # 'setenv F_UFMTENDIAN big' in run scripts not necessary
8444 # since -convert big_endian is in FCBASEOPTS
8446 # Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8447 # modules/routines that take a long time to compile but do not
8448 # significantly contribute to the total runtime performance is
8449 # appropriate. Temporary suggestion for 2.1.1, Nov 2005.
8451 # Contributed settings from Gerardo Cisneros, SGI
8453 INCLUDE = ../external/io_netcdf/
8460 CFLAGS = -w -O3 -unroll0 -ip -tpp2 -c -ftz
8461 FCOPTIM = -O3 -unroll0
8463 FCBASEOPTS = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8464 -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8466 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
8467 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8468 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8470 ESMF_IO_LIB = ESMFIOLIB
8471 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8472 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8473 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8476 LIB = -L../external/io_netcdf -lwrfio_nf \
8477 CONFIGURE_NETCDF_LIB_PATH \
8478 -L../external/io_int -lwrfio_int \
8479 -L../external/io_grib1 -lio_grib1 \
8480 CONFIGURE_GRIB2_LIB \
8481 -L../external/io_grib_share -lio_grib_share \
8482 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8483 -L../external/esmf_time_f90 -lesmf_time
8484 LDFLAGS = -O3 -ip CONFIGURE_LDFLAGS
8485 CPP = /lib/cpp -C -P -traditional
8486 POUND_DEF = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8487 CPPFLAGS = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) \
8488 -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
8489 $(POUND_DEF) $(COREDEFS)
8493 NETCDFPATH = CONFIGURE_NETCDF_PATH
8495 externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8498 ( /bin/cp module_dm_warning module_dm.F ; \
8499 cat module_dm_stubs.F >> module_dm.F )
8502 ( cd ../external/io_netcdf ; \
8503 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8504 TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8505 /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
8506 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
8507 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
8508 # /bin/cp wrf_io_flags.h ../io_quilt )
8511 ( cd ../external/io_int ; \
8512 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8513 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8516 ( cd ../external/io_grib_share ; \
8517 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8518 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8521 ( cd ../external/io_grib1 ; \
8522 make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8523 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8525 ( cd ../external/io_grib2 ; \
8526 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8527 FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8530 ( cd ../external/esmf_time_f90 ; \
8531 make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8533 # compile these without high optimization to speed compile
8534 mediation_integrate.o : mediation_integrate.F
8535 mediation_interp_domain.o : mediation_interp_domain.F
8536 mediation_feedback_domain.o : mediation_feedback_domain.F
8537 wrf_auxinput1out.o : wrf_auxinput1out.F
8538 wrf_histout.o : wrf_histout.F
8539 wrf_restartout.o : wrf_restartout.F
8540 wrf_inputin.o : wrf_inputin.F
8541 wrf_auxinput1in.o : wrf_auxinput1in.F
8542 wrf_histin.o : wrf_histin.F
8543 wrf_restartin.o : wrf_restartin.F
8544 module_initialize_real.o: module_initialize_real.F
8545 solve_interface.o : solve_interface.F
8546 shift_domain_em.o : shift_domain_em.F
8547 module_dm.o : module_dm.F
8548 module_io_wrf.o : module_io_wrf.F
8549 module_domain.o : module_domain.F
8550 start_domain.o : start_domain.F
8551 mediation_force_domain.o : mediation_force_domain.F
8552 module_configure.o : module_configure.F
8554 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8555 module_configure.o \
8556 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8557 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8558 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8560 mediation_force_domain.o:
8562 $(SED_FTN) $*.F > $*.b
8563 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8565 $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8567 ###########################################################
8568 #ARCH UNICOS/mp machine crayx1 (RSL_LITE, MPI, MSP mode)
8570 # Cray X1 (RSL_LITE, MPI, MSP mode)
8571 # For CSD mode set numtiles=4 in &domains section
8572 # in namelist.input for best MSP efficiency.
8582 #### Override default sed command and script for Fortran source files ####
8583 #### This sed script converts !$OMP directives to !csd$ directives ####
8584 SED_FTN = sed -f ../arch/cray_csd.sed
8586 ## Use these for X1 cross compiler to build Registry
8587 ##X1_CROSS_COMP = "gcc"
8588 ##X1_CROSS_CFLG = ""
8589 ## Use these for X1 native (trigger) compiler
8590 X1_CROSS_COMP = "cc"
8591 X1_CROSS_CFLG = "-hcommand"
8592 CC_TOOLS = $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
8594 RWORDSIZE = $(NATIVE_RWORDSIZE)
8596 FCBASEOPTS = -f free -N 255 -I. -x omp -dy
8597 FCFLAGS_LOWOPT = $(FCBASEOPTS) -O1
8598 FCFLAGS = $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
8599 #if using 64bit precision
8600 #PROMOTION = -sreal64 -dp -sinteger32
8601 CFLAGS = -I../external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
8602 -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
8604 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8606 ESMF_IO_LIB = ESMFIOLIB
8607 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8608 INCLUDE_MODULES = -I../inc \
8609 -p./ -p../external/io_netcdf -p../external/io_int -p../frame \
8610 -p../frame -p../share -p../phys -p../chem \
8611 -p../dyn_em -p ../external/esmf_time_f90
8612 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
8613 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
8614 -DLIMIT_ARGS -Dcrayx1
8619 LIB = -L../external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
8620 -L../external/RSL_LITE -lrsl_lite \
8621 -L../external/io_int -lwrfio_int \
8622 -L../external/io_grib1 -lio_grib1 \
8623 CONFIGURE_GRIB2_LIB \
8624 -L../external/io_grib_share -lio_grib_share \
8625 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8626 -L../external/esmf_time_f90 -lesmf_time -lmalloc
8628 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8631 CPP = cpp -C -P -Dcrayx1
8632 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) # -DNO_NAMELIST_PRINT
8633 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8638 NETCDFPATH = CONFIGURE_NETCDF_PATH
8640 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
8642 gen_comms.c : ../external/RSL_LITE/gen_comms.c
8643 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
8645 module_dm.F : ../external/RSL_LITE/module_dm.F
8646 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
8649 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
8652 ( cd ../external/io_int ; \
8653 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
8656 ( cd ../external/io_grib_share ; \
8657 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
8660 ( cd ../external/io_grib1 ; \
8661 make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
8662 FC="$(FC) $(PROMOTION) -f free -N 255" archive )
8664 ( cd ../external/io_grib2 ; \
8665 make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
8666 FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
8669 ( cd ../external/esmf_time_f90 ; \
8670 make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8672 ../external/RSL_LITE/librsl_lite.a :
8673 ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" \
8674 MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8676 # compile these without high optimization
8677 module_io_mm5.o : module_io_mm5.F
8678 module_si_io.o : module_si_io.F
8679 module_domain.o : module_domain.F
8680 module_start.o : module_start.F
8681 module_initialize.o : module_initialize.F
8682 module_initialize_b_wave.o : module_initialize_b_wave.F
8683 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8684 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8685 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8686 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8687 module_initialize_real.o : module_initialize_real.F
8688 module_dm.o : module_dm.F
8689 start_domain.o : start_domain.F
8690 mediation_interp_domain.o : mediation_interp_domain.F
8691 mediation_force_domain.o : mediation_force_domain.F
8692 convert_nmm.o : convert_nmm.F
8693 module_configure.o : module_configure.F
8694 solve_em.o : solve_em.F
8695 solve_interface.o : solve_interface.F
8696 wrf_restartout.o : wrf_restartout.F
8697 wrf_restartin.o : wrf_restartin.F
8698 input_wrf.o : input_wrf.F
8699 output_wrf.o : output_wrf.F
8701 module_io_mm5.o module_si_io.o module_domain.o \
8702 module_start.o module_initialize.o module_initialize_b_wave.o \
8703 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8704 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8705 module_initialize_real.o module_dm.o start_domain.o \
8706 mediation_interp_domain.o \
8707 mediation_force_domain.o \
8708 module_configure.o solve_em.o \
8709 input_wrf.o output_wrf.o \
8710 solve_interface.o wrf_restartout.o wrf_restartin.o \
8713 $(SED_FTN) $*.F > $*.b
8714 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8716 $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS) $*.f90
8718 ###########################################################
8719 #ARCH HP-UX PA8600 32bit (single-threaded, no nesting)
8728 RWORDSIZE = $(NATIVE_RWORDSIZE)
8729 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
8730 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
8731 PROMOTION = -r$(RWORDSIZE) -i4
8732 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
8733 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
8734 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8736 FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
8737 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8738 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8740 ESMF_IO_LIB = ESMFIOLIB
8741 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8742 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8743 -I../frame -I../share -I../phys -I../inc -I../chem
8744 PERL = CONFIGURE_PERL_PATH
8746 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
8747 -L../external/io_grib1 -lio_grib1 \
8748 CONFIGURE_GRIB2_LIB \
8749 -L../external/io_grib_share -lio_grib_share \
8750 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
8751 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8752 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8754 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8755 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8759 NETCDFPATH = CONFIGURE_NETCDF_PATH
8762 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
8765 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8768 ( cd ../external/io_netcdf ; \
8769 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
8772 ( cd ../external/io_int ; \
8773 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
8776 ( cd ../external/io_grib_share ; \
8777 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
8780 ( cd ../external/io_grib1 ; \
8781 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
8782 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8784 ( cd ../external/io_grib2 ; \
8785 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
8786 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8789 ( cd ../external/esmf_time_f90 ; \
8790 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8792 # compile these without high optimization to speed compile
8793 solve_interface.o : solve_interface.F
8794 shift_domain_em.o : shift_domain_em.F
8795 module_io_mm5.o : module_io_mm5.F
8796 module_si_io.o : module_si_io.F
8797 module_io_wrf.o : module_io_wrf.F
8798 module_domain.o : module_domain.F
8799 module_start.o : module_start.F
8800 module_initialize.o : module_initialize.F
8801 module_initialize_b_wave.o : module_initialize_b_wave.F
8802 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8803 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8804 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8805 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8806 module_initialize_real.o : module_initialize_real.F
8807 module_dm.o : module_dm.F
8808 mediation_integrate.o : mediation_integrate.F
8809 start_domain.o : start_domain.F
8810 module_configure.o : module_configure.F
8814 module_configure.o \
8815 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8816 module_start.o module_initialize.o module_initialize_b_wave.o \
8817 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8818 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8819 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
8821 $(SED_FTN) $*.F > $*.b
8822 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8824 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
8826 ###########################################################
8827 #ARCH HP-UX PA8600 32bit (single-threaded, nesting using RSL without MPI)
8829 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8830 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8840 RWORDSIZE = $(NATIVE_RWORDSIZE)
8841 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS \
8842 -DDM_PARALLEL -DFLOATSAFE -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8843 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
8844 PROMOTION = -r$(RWORDSIZE) -i4
8845 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
8846 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
8847 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8849 FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
8850 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8851 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8853 ESMF_IO_LIB = ESMFIOLIB
8854 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8855 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8856 -I../frame -I../share -I../phys -I../inc -I../chem
8857 PERL = CONFIGURE_PERL_PATH
8859 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL/ -lrsl -L../external/io_int -lwrfio_int \
8860 -L../external/io_grib1 -lio_grib1 \
8861 CONFIGURE_GRIB2_LIB \
8862 -L../external/io_grib_share -lio_grib_share \
8863 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
8864 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8865 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8867 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8868 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8873 NETCDFPATH = CONFIGURE_NETCDF_PATH
8876 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
8878 gen_comms.c : ../external/RSL/gen_comms.c
8879 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8880 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
8883 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8886 ( cd ../external/io_netcdf ; \
8887 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
8890 ( cd ../external/io_int ; \
8891 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
8894 ( cd ../external/io_grib_share ; \
8895 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
8898 ( cd ../external/io_grib1 ; \
8899 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
8900 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8902 ( cd ../external/io_grib2 ; \
8903 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
8904 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8907 ( cd ../external/esmf_time_f90 ; \
8908 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8910 ../external/RSL/RSL/librsl.a :
8911 ( cd ../external/RSL/RSL ; \
8912 make CC="$(CC)" CFLAGS=" -DSTUBS +O3 " FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
8914 # compile these without high optimization to speed compile
8915 solve_interface.o : solve_interface.F
8916 shift_domain_em.o : shift_domain_em.F
8917 module_io_mm5.o : module_io_mm5.F
8918 module_si_io.o : module_si_io.F
8919 module_io_wrf.o : module_io_wrf.F
8920 module_domain.o : module_domain.F
8921 module_start.o : module_start.F
8922 module_initialize.o : module_initialize.F
8923 module_initialize_b_wave.o : module_initialize_b_wave.F
8924 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8925 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8926 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8927 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8928 module_initialize_real.o : module_initialize_real.F
8929 module_dm.o : module_dm.F
8930 mediation_integrate.o : mediation_integrate.F
8931 start_domain.o : start_domain.F
8932 module_configure.o : module_configure.F
8936 module_configure.o \
8937 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8938 module_start.o module_initialize.o module_initialize_b_wave.o \
8939 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
8940 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
8941 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
8943 $(SED_FTN) $*.F > $*.b
8944 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8946 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
8948 ###########################################################
8949 #ARCH HP-UX Itanium2 (single-threaded, no nesting)
8958 RWORDSIZE = $(NATIVE_RWORDSIZE)
8959 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
8960 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
8961 PROMOTION = -r$(RWORDSIZE) -i4
8962 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
8963 FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
8964 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8966 FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
8967 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8968 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8970 ESMF_IO_LIB = ESMFIOLIB
8971 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
8972 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8973 -I../frame -I../share -I../phys -I../inc -I../chem
8974 PERL = CONFIGURE_PERL_PATH
8976 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
8977 -L../external/io_grib1 -lio_grib1 \
8978 CONFIGURE_GRIB2_LIB \
8979 -L../external/io_grib_share -lio_grib_share \
8980 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
8981 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8982 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
8984 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8985 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8989 NETCDFPATH = CONFIGURE_NETCDF_PATH
8992 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
8995 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8998 ( cd ../external/io_netcdf ; \
8999 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9002 ( cd ../external/io_int ; \
9003 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9006 ( cd ../external/io_grib_share ; \
9007 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9008 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9011 ( cd ../external/io_grib1 ; \
9012 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9013 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9015 ( cd ../external/io_grib2 ; \
9016 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9017 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9020 ( cd ../external/esmf_time_f90 ; \
9021 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9023 # compile these without high optimization to speed compile
9024 solve_interface.o : solve_interface.F
9025 shift_domain_em.o : shift_domain_em.F
9026 module_io_mm5.o : module_io_mm5.F
9027 module_si_io.o : module_si_io.F
9028 module_io_wrf.o : module_io_wrf.F
9029 module_domain.o : module_domain.F
9030 module_start.o : module_start.F
9031 module_initialize.o : module_initialize.F
9032 module_initialize_b_wave.o : module_initialize_b_wave.F
9033 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9034 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9035 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9036 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9037 module_initialize_real.o : module_initialize_real.F
9038 module_dm.o : module_dm.F
9039 mediation_integrate.o : mediation_integrate.F
9040 start_domain.o : start_domain.F
9041 module_configure.o : module_configure.F
9045 module_configure.o \
9046 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9047 module_start.o module_initialize.o module_initialize_b_wave.o \
9048 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9049 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9050 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9052 $(SED_FTN) $*.F > $*.b
9053 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9055 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9057 ###########################################################
9058 #ARCH HP-UX Itanium2 (single-threaded, nesting using RSL without MPI)
9060 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9061 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9070 RWORDSIZE = $(NATIVE_RWORDSIZE)
9071 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
9072 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DSTUBMPI
9073 PROMOTION = -r$(RWORDSIZE) -i4
9074 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
9075 FCOPTIM = +O3 +DSitanium2 +Odataprefetch +Olibcalls +DO11.23 +noppu \
9076 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9078 FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
9079 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9080 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9082 ESMF_IO_LIB = ESMFIOLIB
9083 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9084 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9085 -I../frame -I../share -I../phys -I../inc -I../chem
9086 PERL = CONFIGURE_PERL_PATH
9088 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
9089 -L../external/io_grib1 -lio_grib1 \
9090 CONFIGURE_GRIB2_LIB \
9091 -L../external/io_grib_share -lio_grib_share \
9092 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9093 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9094 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9096 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9097 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9101 NETCDFPATH = CONFIGURE_NETCDF_PATH
9104 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9107 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9110 ( cd ../external/io_netcdf ; \
9111 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9114 ( cd ../external/io_int ; \
9115 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9118 ( cd ../external/io_grib_share ; \
9119 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9120 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9123 ( cd ../external/io_grib1 ; \
9124 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9125 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9127 ( cd ../external/io_grib2 ; \
9128 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9129 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9132 ( cd ../external/esmf_time_f90 ; \
9133 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9135 # compile these without high optimization to speed compile
9136 solve_interface.o : solve_interface.F
9137 shift_domain_em.o : shift_domain_em.F
9138 module_io_mm5.o : module_io_mm5.F
9139 module_si_io.o : module_si_io.F
9140 module_io_wrf.o : module_io_wrf.F
9141 module_domain.o : module_domain.F
9142 module_start.o : module_start.F
9143 module_initialize.o : module_initialize.F
9144 module_initialize_b_wave.o : module_initialize_b_wave.F
9145 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9146 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9147 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9148 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9149 module_initialize_real.o : module_initialize_real.F
9150 module_dm.o : module_dm.F
9151 mediation_integrate.o : mediation_integrate.F
9152 start_domain.o : start_domain.F
9153 module_configure.o : module_configure.F
9157 module_configure.o \
9158 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9159 module_start.o module_initialize.o module_initialize_b_wave.o \
9160 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9161 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9162 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9164 $(SED_FTN) $*.F > $*.b
9165 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9167 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9169 ###########################################################
9170 #ARCH HP-UX PA8600 32bit (openmp, no nesting)
9179 RWORDSIZE = $(NATIVE_RWORDSIZE)
9180 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
9181 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
9182 PROMOTION = -r$(RWORDSIZE) -i4
9183 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
9184 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
9185 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9187 FCBASEOPTS = +U77 +source=free -I. +DS2.0a $(FCDEBUG)
9188 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9189 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9191 ESMF_IO_LIB = ESMFIOLIB
9192 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9193 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9194 -I../frame -I../share -I../phys -I../inc -I../chem
9195 PERL = CONFIGURE_PERL_PATH
9197 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
9198 -L../external/io_grib1 -lio_grib1 \
9199 CONFIGURE_GRIB2_LIB \
9200 -L../external/io_grib_share -lio_grib_share \
9201 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9202 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9203 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9205 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9206 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9210 NETCDFPATH = CONFIGURE_NETCDF_PATH
9213 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9216 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9219 ( cd ../external/io_netcdf ; \
9220 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9223 ( cd ../external/io_int ; \
9224 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9227 ( cd ../external/io_grib_share ; \
9228 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9229 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9232 ( cd ../external/io_grib1 ; \
9233 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9234 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9236 ( cd ../external/io_grib2 ; \
9237 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9238 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9241 ( cd ../external/esmf_time_f90 ; \
9242 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9244 # compile these without high optimization to speed compile
9245 solve_interface.o : solve_interface.F
9246 shift_domain_em.o : shift_domain_em.F
9247 module_io_mm5.o : module_io_mm5.F
9248 module_si_io.o : module_si_io.F
9249 module_io_wrf.o : module_io_wrf.F
9250 module_domain.o : module_domain.F
9251 module_start.o : module_start.F
9252 module_initialize.o : module_initialize.F
9253 module_initialize_b_wave.o : module_initialize_b_wave.F
9254 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9255 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9256 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9257 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9258 module_initialize_real.o : module_initialize_real.F
9259 module_dm.o : module_dm.F
9260 mediation_integrate.o : mediation_integrate.F
9261 start_domain.o : start_domain.F
9262 module_configure.o : module_configure.F
9266 module_configure.o \
9267 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9268 module_start.o module_initialize.o module_initialize_b_wave.o \
9269 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9270 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9271 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9273 $(SED_FTN) $*.F > $*.b
9274 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9276 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9278 ###########################################################
9279 #ARCH HP-UX PA8600 DM-Parallel (RSL, MPICH, nesting)
9281 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9282 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9293 RWORDSIZE = $(NATIVE_RWORDSIZE)
9294 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
9295 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \
9296 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
9297 PROMOTION = -r$(RWORDSIZE) -i4
9298 CFLAGS = $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
9299 FCOPTIM = +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
9300 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9302 FCBASEOPTS = +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
9303 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9304 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9306 ESMF_IO_LIB = ESMFIOLIB
9307 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9308 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9309 -I../frame -I../share -I../phys -I../inc -I../chem
9310 PERL = CONFIGURE_PERL_PATH
9312 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
9313 -L../external/io_grib1 -lio_grib1 \
9314 CONFIGURE_GRIB2_LIB \
9315 -L../external/io_grib_share -lio_grib_share \
9316 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9317 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9318 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9319 CPP = /lib/cpp -C -P
9320 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9321 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9325 NETCDFPATH = CONFIGURE_NETCDF_PATH
9328 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
9330 gen_comms.c : ../external/RSL/gen_comms.c
9331 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
9332 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
9334 module_dm.F : ../external/RSL/module_dm.F
9335 ( /bin/cp module_dm_warning module_dm.F ; \
9336 cat ../external/RSL/module_dm.F >> module_dm.F )
9339 ( cd ../external/io_netcdf ; \
9340 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
9343 ( cd ../external/io_int ; \
9344 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9347 ( cd ../external/io_grib_share ; \
9348 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9349 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9352 ( cd ../external/io_grib1 ; \
9353 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9354 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9356 ( cd ../external/io_grib2 ; \
9357 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9358 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9361 ( cd ../external/esmf_time_f90 ; \
9362 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9364 ../external/RSL/RSL/librsl.a :
9365 ( cd ../external/RSL/RSL ; \
9366 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
9369 # compile these without high optimization to speed compile
9370 solve_interface.o : solve_interface.F
9371 shift_domain_em.o : shift_domain_em.F
9372 module_io_mm5.o : module_io_mm5.F
9373 module_si_io.o : module_si_io.F
9374 module_io_wrf.o : module_io_wrf.F
9375 module_domain.o : module_domain.F
9376 module_start.o : module_start.F
9377 module_initialize.o : module_initialize.F
9378 module_initialize_b_wave.o : module_initialize_b_wave.F
9379 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9380 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9381 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9382 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9383 module_initialize_real.o : module_initialize_real.F
9384 module_dm.o : module_dm.F
9385 mediation_integrate.o : mediation_integrate.F
9386 start_domain.o : start_domain.F
9387 module_configure.o : module_configure.F
9391 module_configure.o \
9392 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9393 module_start.o module_initialize.o module_initialize_b_wave.o \
9394 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9395 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9396 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9398 $(SED_FTN) $*.F > $*.b
9399 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9401 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9403 ###########################################################
9404 #ARCH HP-UX Itanium2 DM-Parallel (RSL, MPICH, nesting)
9406 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9407 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9418 RWORDSIZE = $(NATIVE_RWORDSIZE)
9419 ARCHFLAGS = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
9420 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DDM_PARALLEL -DRSL \
9421 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
9422 PROMOTION = -r$(RWORDSIZE) -i4
9423 CFLAGS = $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
9424 FCOPTIM = +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
9425 +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9427 FCBASEOPTS = +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
9428 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9429 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9431 ESMF_IO_LIB = ESMFIOLIB
9432 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9433 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9434 -I../frame -I../share -I../phys -I../inc -I../chem
9435 PERL = CONFIGURE_PERL_PATH
9437 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
9438 -L../external/io_grib1 -lio_grib1 \
9439 CONFIGURE_GRIB2_LIB \
9440 -L../external/io_grib_share -lio_grib_share \
9441 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9442 LDFLAGS = $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9443 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9444 CPP = /lib/cpp -C -P
9445 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9446 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9450 NETCDFPATH = CONFIGURE_NETCDF_PATH
9453 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
9455 gen_comms.c : ../external/RSL/gen_comms.c
9456 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
9457 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
9459 module_dm.F : ../external/RSL/module_dm.F
9460 ( /bin/cp module_dm_warning module_dm.F ; \
9461 cat ../external/RSL/module_dm.F >> module_dm.F )
9464 ( cd ../external/io_netcdf ; \
9465 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
9468 ( cd ../external/io_int ; \
9469 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9472 ( cd ../external/io_grib_share ; \
9473 make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9474 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9477 ( cd ../external/io_grib1 ; \
9478 make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9479 FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9481 ( cd ../external/io_grib2 ; \
9482 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9483 FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9486 ( cd ../external/esmf_time_f90 ; \
9487 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9489 ../external/RSL/RSL/librsl.a :
9490 ( cd ../external/RSL/RSL ; \
9491 make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
9494 # compile these without high optimization to speed compile
9495 solve_interface.o : solve_interface.F
9496 shift_domain_em.o : shift_domain_em.F
9497 module_io_mm5.o : module_io_mm5.F
9498 module_si_io.o : module_si_io.F
9499 module_io_wrf.o : module_io_wrf.F
9500 module_domain.o : module_domain.F
9501 module_start.o : module_start.F
9502 module_initialize.o : module_initialize.F
9503 module_initialize_b_wave.o : module_initialize_b_wave.F
9504 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9505 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9506 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9507 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9508 module_initialize_real.o : module_initialize_real.F
9509 module_dm.o : module_dm.F
9510 mediation_integrate.o : mediation_integrate.F
9511 start_domain.o : start_domain.F
9512 module_configure.o : module_configure.F
9516 module_configure.o \
9517 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9518 module_start.o module_initialize.o module_initialize_b_wave.o \
9519 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9520 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9521 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9523 $(SED_FTN) $*.F > $*.b
9524 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9526 $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9528 ###########################################################
9529 #ARCH Darwin (single-threaded, no nesting)
9531 # Using -qfloat=nomaf option can result in identical results with
9532 # non-optimized and optimized results (suggested by Fovell of UCLA)
9533 # One may turn on by uncommenting it in FCOPTIM line
9541 RWORDSIZE = $(NATIVE_RWORDSIZE)
9542 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
9543 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9544 FCOPTIM = #-O3 -qarch=auto #-qfloat=nomaf
9545 FCDEBUG = #-qnoopt -qfullpath
9546 FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
9547 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
9548 FCSUFFIX = -qsuffix=f=f90
9549 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9551 ESMF_IO_LIB = ESMFIOLIB
9552 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9553 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9554 -I../frame -I../share -I../phys -I../inc -I../chem
9555 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9556 CONFIGURE_NETCDF_FLAG \
9557 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
9558 # -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
9559 PERL = CONFIGURE_PERL_PATH
9561 #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
9562 LIB = CONFIGURE_NETCDF_LIB_PATH \
9563 -L../external/io_int -lwrfio_int \
9564 -L../external/io_grib1 -lio_grib1 \
9565 CONFIGURE_GRIB2_LIB \
9566 -L../external/io_grib_share -lio_grib_share \
9567 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9569 LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
9570 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9571 #CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
9572 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
9573 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9574 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9578 NETCDFPATH = CONFIGURE_NETCDF_PATH
9581 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9584 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9587 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9590 ( cd ../external/io_int ; \
9591 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9594 ( cd ../external/io_grib_share ; \
9595 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9598 ( cd ../external/io_grib1 ; \
9599 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9602 ( cd ../external/io_grib2 ; \
9603 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)
9606 ( cd ../external/esmf_time_f90 ; \
9607 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9609 solve_interface.o : solve_interface.F
9611 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
9612 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9614 # compile these without high optimization to speed compile
9615 shift_domain_em.o : shift_domain_em.F
9616 module_io_mm5.o : module_io_mm5.F
9617 module_si_io.o : module_si_io.F
9618 module_io_wrf.o : module_io_wrf.F
9619 module_domain.o : module_domain.F
9620 module_start.o : module_start.F
9621 module_initialize.o : module_initialize.F
9622 module_initialize_b_wave.o : module_initialize_b_wave.F
9623 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9624 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9625 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9626 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9627 module_initialize_real.o : module_initialize_real.F
9628 module_dm.o : module_dm.F
9629 start_domain.o : start_domain.F
9630 solve_em.o : solve_em.F
9631 mediation_interp_domain.o : mediation_interp_domain.F
9632 mediation_force_domain.o : mediation_force_domain.F
9633 mediation_feedback_domain.o : mediation_feedback_domain.F
9634 convert_nmm.o : convert_nmm.F
9635 module_configure.o : module_configure.F
9637 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9638 module_start.o module_initialize.o module_initialize_b_wave.o \
9639 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9640 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9641 module_initialize_real.o module_dm.o \
9643 mediation_interp_domain.o \
9644 module_configure.o \
9648 $(SED_FTN) $*.F > $*.b
9649 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9651 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9653 ###########################################################
9654 #ARCH Darwin (OpenMP, no nesting)
9656 # Using -qfloat=nomaf option can result in identical results with
9657 # non-optimized and optimized results (suggested by Fovell of UCLA)
9658 # One may turn on by uncommenting it in FCOPTIM line
9667 RWORDSIZE = $(NATIVE_RWORDSIZE)
9668 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
9669 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9670 FCOPTIM = -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
9671 FCDEBUG = # -qnoopt -qfullpath
9672 FCBASEOPTS = -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
9673 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
9674 FCSUFFIX = -qsuffix=f=f90
9675 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9677 ESMF_IO_LIB = ESMFIOLIB
9678 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9679 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9680 -I../frame -I../share -I../phys -I../inc -I../chem
9681 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9682 CONFIGURE_NETCDF_FLAG \
9683 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
9684 PERL = CONFIGURE_PERL_PATH
9686 LIB = CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
9687 -L../external/io_int -lwrfio_int \
9688 -L../external/io_grib1 -lio_grib1 \
9689 CONFIGURE_GRIB2_LIB \
9690 -L../external/io_grib_share -lio_grib_share \
9691 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9692 LDFLAGS = $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
9693 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9694 CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
9695 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9696 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9700 NETCDFPATH = CONFIGURE_NETCDF_PATH
9703 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9706 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9709 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9712 ( cd ../external/io_int ; \
9713 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9716 ( cd ../external/io_grib_share ; \
9717 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
9720 ( cd ../external/io_grib1 ; \
9721 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
9724 ( cd ../external/io_grib2 ; \
9725 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)
9728 ( cd ../external/esmf_time_f90 ; \
9729 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9732 module_configure.o : module_configure.F
9733 module_domain.o : module_domain.F
9734 module_sm.o : module_sm.F
9735 module_tiles.o : module_tiles.F
9736 solve_em.o : solve_em.F
9737 solve_exp.o : solve_exp.F
9738 convert_nmm.o : convert_nmm.F
9740 module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
9742 $(SED_FTN) $*.F > $*.b
9743 $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
9745 $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
9749 $(SED_FTN) $*.F90 > $*.b
9750 $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b > $*.f90
9752 $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
9754 ###########################################################
9755 #ARCH Darwin (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs)
9757 # Using -qfloat=nomaf option can result in identical results with
9758 # non-optimized and optimized results (suggested by Fovell of UCLA)
9759 # One may turn on by uncommenting it in FCOPTIM line
9767 RWORDSIZE = $(NATIVE_RWORDSIZE)
9768 PROMOTION = -qrealsize=$(RWORDSIZE) -qintsize=4
9769 CFLAGS = -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9770 FCOPTIM = #-O3 -qarch=auto #-qfloat=nomaf
9771 FCDEBUG = #-qnoopt -qfullpath
9772 FCBASEOPTS = -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
9773 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
9774 FCSUFFIX = -qsuffix=f=f90
9775 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9777 ESMF_IO_LIB = ESMFIOLIB
9778 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9779 INCLUDE_MODULES = -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9780 -I../frame -I../share -I../phys -I../inc -I../chem
9781 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9782 CONFIGURE_NETCDF_FLAG \
9783 -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
9784 # -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
9785 PERL = CONFIGURE_PERL_PATH
9787 #LIB = CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
9788 LIB = CONFIGURE_NETCDF_LIB_PATH \
9789 -L../external/io_int -lwrfio_int \
9790 -L../external/io_grib1 -lio_grib1 \
9791 CONFIGURE_GRIB2_LIB \
9792 -L../external/io_grib_share -lio_grib_share \
9793 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9795 LDFLAGS = -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs
9796 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9797 CPP = /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
9798 #CPP = /usr/bin/cpp -C -P -xassembler-with-cpp
9799 POUND_DEF = -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9800 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9804 NETCDFPATH = CONFIGURE_NETCDF_PATH
9807 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9810 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9813 ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9816 ( cd ../external/io_int ; \
9817 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9820 ( cd ../external/io_grib_share ; \
9821 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9824 ( cd ../external/io_grib1 ; \
9825 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9828 ( cd ../external/io_grib2 ; \
9829 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)
9832 ( cd ../external/esmf_time_f90 ; \
9833 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9835 solve_interface.o : solve_interface.F
9837 $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
9838 $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9840 # compile these without high optimization to speed compile
9841 shift_domain_em.o : shift_domain_em.F
9842 module_io_mm5.o : module_io_mm5.F
9843 module_si_io.o : module_si_io.F
9844 module_io_wrf.o : module_io_wrf.F
9845 module_domain.o : module_domain.F
9846 module_start.o : module_start.F
9847 module_initialize.o : module_initialize.F
9848 module_initialize_b_wave.o : module_initialize_b_wave.F
9849 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9850 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9851 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9852 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9853 module_initialize_real.o : module_initialize_real.F
9854 module_dm.o : module_dm.F
9855 start_domain.o : start_domain.F
9856 solve_em.o : solve_em.F
9857 mediation_interp_domain.o : mediation_interp_domain.F
9858 mediation_force_domain.o : mediation_force_domain.F
9859 mediation_feedback_domain.o : mediation_feedback_domain.F
9860 convert_nmm.o : convert_nmm.F
9861 module_configure.o : module_configure.F
9863 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9864 module_start.o module_initialize.o module_initialize_b_wave.o \
9865 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9866 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9867 module_initialize_real.o module_dm.o \
9869 mediation_interp_domain.o \
9870 module_configure.o \
9874 $(SED_FTN) $*.F > $*.b
9875 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9877 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9879 ###########################################################
9880 #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting)
9887 RWORDSIZE = $(NATIVE_RWORDSIZE)
9889 PROMOTION = -r$(RWORDSIZE) -i4
9891 FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
9893 FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs
9894 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
9895 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9896 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
9898 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9900 ESMF_IO_LIB = ESMFIOLIB
9901 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
9902 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9903 -I../frame -I../share -I../phys -I../chem -I../inc
9906 LIB = CONFIGURE_NETCDF_LIB_PATH \
9907 -L../external/io_grib1 -lio_grib1 \
9908 CONFIGURE_GRIB2_LIB \
9909 -L../external/io_grib_share -lio_grib_share \
9910 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9911 LDFLAGS = $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
9912 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
9913 CPP = /lib/cpp -C -P -traditional
9914 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9915 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
9919 NETCDFPATH = CONFIGURE_NETCDF_PATH
9922 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9925 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9928 ( cd ../external/io_netcdf ; \
9929 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w -fno-second-underscore" TRADFLAG="-traditional" )
9932 ( cd ../external/io_grib_share ; \
9933 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
9936 ( cd ../external/io_grib1 ; \
9937 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
9940 ( cd ../external/io_grib2 ; \
9941 make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
9944 ( cd ../external/io_int ; \
9945 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
9946 TRADFLAG="-traditional" all )
9949 ( cd ../external/esmf_time_f90 ; \
9950 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9952 # compile these without high optimization to speed compile
9953 solve_interface.o : solve_interface.F
9954 shift_domain_em.o : shift_domain_em.F
9955 module_io_mm5.o : module_io_mm5.F
9956 module_si_io.o : module_si_io.F
9957 module_io_wrf.o : module_io_wrf.F
9958 module_domain.o : module_domain.F
9959 module_start.o : module_start.F
9960 module_initialize.o : module_initialize.F
9961 module_initialize_b_wave.o : module_initialize_b_wave.F
9962 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9963 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9964 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9965 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9966 module_initialize_real.o : module_initialize_real.F
9967 module_dm.o : module_dm.F
9968 start_domain.o : start_domain.F
9969 mediation_integrate.o : mediation_integrate.F
9970 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
9971 module_configure.o : module_configure.F
9975 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9976 module_start.o module_initialize.o module_initialize_b_wave.o \
9977 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9978 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9979 mediation_integrate.o \
9980 module_configure.o \
9981 module_fddaobs_rtfdda.o \
9982 module_initialize_real.o module_dm.o start_domain.o :
9984 $(SED_FTN) $*.F > $*.b
9985 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9987 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9989 ###########################################################
9990 #ARCH PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel (RSL_LITE, PathScale MPICH, No periodic LBCs)
9994 FC = mpif90 -f90=pathf90
9995 LD = mpif90 -f90=pathf90
9996 CC = mpicc -cc=pathcc
10000 RWORDSIZE = $(NATIVE_RWORDSIZE)
10001 CFLAGS = -DDM_PARALLEL \
10002 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10003 FCOPTIM = -O3 -OPT:Ofast:Olimit=5000
10005 FCBASEOPTS = -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG)
10006 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10007 ARCHFLAGS = $(COREDEFS) -DINTIO -DDM_PARALLEL \
10008 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10010 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10012 ESMF_IO_LIB = ESMFIOLIB
10013 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10014 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10015 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
10018 REGISTRY = Registry
10019 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10020 -L../external/io_grib1 -lio_grib1 \
10021 CONFIGURE_GRIB2_LIB \
10022 -L../external/io_grib_share -lio_grib_share \
10023 -L../external/io_int -lwrfio_int \
10024 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10025 LDFLAGS = -byteswapio
10026 CPP = /lib/cpp -C -P -traditional
10027 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10028 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
10032 NETCDFPATH = CONFIGURE_NETCDF_PATH
10035 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10037 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10038 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10039 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10041 module_dm.F : ../external/RSL_LITE/module_dm.F
10042 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10045 # ( cd ../external/io_netcdf ; make flags_only ; \
10046 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
10047 # /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 )
10050 ( cd ../external/io_netcdf ; \
10051 make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \
10052 FFLAGS='$(FCFLAGS) -I../../inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) )
10055 ( cd ../external/io_grib_share ; \
10056 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
10059 ( cd ../external/io_grib1 ; \
10060 make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive )
10063 ( cd ../external/io_grib2 ; \
10064 make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive )
10067 ( cd ../external/io_int ; \
10068 make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all )
10071 ( cd ../external/esmf_time_f90 ; \
10072 make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10074 ../external/RSL_LITE/librsl_lite.a :
10075 ( cd ../external/RSL_LITE ; make CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10077 # compile these without high optimization to speed compile
10078 solve_interface.o : solve_interface.F
10079 module_io_mm5.o : module_io_mm5.F
10080 module_si_io.o : module_si_io.F
10081 module_io_wrf.o : module_io_wrf.F
10082 module_domain.o : module_domain.F
10083 module_start.o : module_start.F
10084 module_initialize.o : module_initialize.F
10085 module_initialize_b_wave.o : module_initialize_b_wave.F
10086 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10087 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10088 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10089 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10090 module_initialize_real.o : module_initialize_real.F
10091 module_dm.o : module_dm.F
10092 start_domain.o : start_domain.F
10093 mediation_integrate.o : mediation_integrate.F
10094 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
10095 module_configure.o : module_configure.F
10097 solve_interface.o \
10098 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10099 module_start.o module_initialize.o module_initialize_b_wave.o \
10100 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10101 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10102 mediation_integrate.o \
10103 module_configure.o \
10104 module_fddaobs_rtfdda.o \
10105 module_initialize_real.o module_dm.o start_domain.o :
10107 $(SED_FTN) $*.F > $*.b
10108 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10110 $(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10112 ###########################################################
10113 #ARCH Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, Periodic in X only )
10114 # Note that for 5.1.x comment out -Mpia=fast
10116 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10117 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10123 CC = gcc -DMPI2_SUPPORT
10126 RWORDSIZE = $(NATIVE_RWORDSIZE)
10127 PROMOTION = -r$(RWORDSIZE) -i4
10128 CFLAGS = -DDM_PARALLEL \
10129 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
10130 -DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include
10131 FCOPTIM = -O3 -fastsse #-Mipa=fast
10133 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10134 FCBASEOPTS = -w -byteswapio -Mfree $(FCDEBUG)
10135 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10136 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
10137 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10138 -DLIMIT_ARGS -DLANDREAD_STUB -DNO_NAMELIST_PRINT -DXT3_Catamount
10139 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10141 ESMF_IO_LIB = ESMFIOLIB
10142 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10143 INCLUDE_MODULES = -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10144 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
10146 REGISTRY = Registry
10147 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10148 -L../external/io_grib1 -lio_grib1 \
10149 CONFIGURE_GRIB2_LIB \
10150 -L../external/io_grib_share -lio_grib_share \
10151 -L../external/io_int -lwrfio_int \
10152 ../frame/module_internal_header_util.o ../frame/pack_utils.o \
10153 -L../external/esmf_time_f90 -lesmf_time
10154 # add this to LIB to use XT3 iobuf library after loading iobuf module, also requires
10155 # properly built netCDF library that includes iobuf
10156 # $(IOBUF_POST_LINK_OPTS)
10157 LDFLAGS = -byteswapio CONFIGURE_LDFLAGS
10158 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10159 CPP = /lib/cpp -C -P -traditional
10160 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10161 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
10165 NETCDFPATH = CONFIGURE_NETCDF_PATH
10168 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10170 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10171 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10172 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10174 module_dm.F : ../external/RSL_LITE/module_dm.F
10175 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10178 ( cd ../external/io_netcdf ; \
10179 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10182 ( cd ../external/io_grib_share ; \
10183 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10186 ( cd ../external/io_grib1 ; \
10187 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10190 ( cd ../external/io_grib2 ; \
10191 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)
10194 ( cd ../external/io_int ; \
10195 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
10198 ( cd ../external/esmf_time_f90 ; \
10199 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10201 ../external/RSL_LITE/librsl_lite.a :
10202 ( cd ../external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10204 # compile these without high optimization to speed compile
10205 solve_interface.o : solve_interface.F
10206 shift_domain_em.o : shift_domain_em.F
10207 module_io_mm5.o : module_io_mm5.F
10208 module_si_io.o : module_si_io.F
10209 module_io_wrf.o : module_io_wrf.F
10210 module_domain.o : module_domain.F
10211 module_start.o : module_start.F
10212 module_initialize.o : module_initialize.F
10213 module_initialize_b_wave.o : module_initialize_b_wave.F
10214 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10215 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10216 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10217 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10218 module_initialize_real.o : module_initialize_real.F
10219 module_dm.o : module_dm.F
10220 start_domain.o : start_domain.F
10221 solve_em.o : solve_em.F
10222 mediation_integrate.o : mediation_integrate.F
10223 module_configure.o : module_configure.F
10225 solve_interface.o \
10226 shift_domain_em.o \
10227 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10228 module_start.o module_initialize.o module_initialize_b_wave.o \
10229 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10230 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10231 mediation_integrate.o \
10233 module_configure.o \
10234 module_initialize_real.o module_dm.o start_domain.o :
10236 $(SED_FTN) $*.F > $*.b
10237 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10239 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10241 ###########################################################
10242 #ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL, Allows nesting)
10244 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10245 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10254 RWORDSIZE = $(NATIVE_RWORDSIZE)
10256 CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL -DWRF_RSL_IO \
10257 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
10260 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10261 FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG)
10262 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10263 ARCHFLAGS = $(COREDEFS) -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
10264 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10266 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10268 ESMF_IO_LIB = ESMFIOLIB
10269 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10270 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10271 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10273 REGISTRY = Registry
10274 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
10275 -L../external/io_grib1 -lio_grib1 \
10276 -L../external/io_int -lwrfio_int \
10277 -L../external/io_grib_share -lio_grib_share \
10278 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
10279 LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
10280 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10281 CPP = /lib/cpp -C -P -traditional
10282 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10283 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
10288 NETCDFPATH = CONFIGURE_NETCDF_PATH
10291 #### Override default sed command and script for Fortran source files ####
10292 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10293 #### because the Fortran compiler complains about long source lines. ####
10294 SED_FTN = sed -f ../arch/no_file_line.sed
10296 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
10298 gen_comms.c : ../external/RSL/gen_comms.c
10299 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10300 cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
10302 module_dm.F : ../external/RSL/module_dm.F
10303 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
10306 ( cd ../external/io_netcdf ; \
10307 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
10310 ( cd ../external/io_grib_share ; \
10311 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10314 ( cd ../external/io_grib1 ; \
10315 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10318 ( cd ../external/io_grib2 ; \
10319 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)
10322 ( cd ../external/io_int ; \
10323 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
10326 ( cd ../external/esmf_time_f90 ; \
10327 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
10329 ../external/RSL/RSL/librsl.a :
10330 ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
10332 # compile these without high optimization to speed compile
10333 solve_interface.o : solve_interface.F
10334 shift_domain_em.o : shift_domain_em.F
10335 module_io_mm5.o : module_io_mm5.F
10336 module_si_io.o : module_si_io.F
10337 module_io_wrf.o : module_io_wrf.F
10338 module_domain.o : module_domain.F
10339 module_start.o : module_start.F
10340 module_initialize.o : module_initialize.F
10341 module_initialize_b_wave.o : module_initialize_b_wave.F
10342 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10343 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10344 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10345 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10346 module_initialize_real.o : module_initialize_real.F
10347 module_dm.o : module_dm.F
10348 start_domain.o : start_domain.F
10349 mediation_integrate.o : mediation_integrate.F
10350 module_configure.o : module_configure.F
10352 solve_interface.o \
10353 shift_domain_em.o \
10354 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10355 module_start.o module_initialize.o module_initialize_b_wave.o \
10356 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10357 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10358 module_configure.o \
10359 mediation_integrate.o \
10360 module_initialize_real.o module_dm.o start_domain.o :
10362 $(SED_FTN) $*.F > $*.b
10363 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10365 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10366 # if [ ! -e $@ ] ; then \
10367 # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10369 # if [ ! -e $@ ] ; then \
10370 # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10372 # if [ ! -e $@ ] ; then \
10373 # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10376 ###########################################################
10377 #ARCH NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
10379 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10380 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10389 RWORDSIZE = $(NATIVE_RWORDSIZE)
10391 CFLAGS = -DNCARIBM_NOC99 -DDM_PARALLEL \
10392 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10395 #FCBASEOPTS = -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10396 FCBASEOPTS = -f4 -Wf,-P i $(FCDEBUG)
10397 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10398 ARCHFLAGS = $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
10399 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10401 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10403 ESMF_IO_LIB = ESMFIOLIB
10404 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10405 INCLUDE_MODULES = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10406 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10408 REGISTRY = Registry
10409 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10410 -L../external/io_grib1 -lio_grib1 \
10411 -L../external/io_int -lwrfio_int \
10412 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
10413 LDFLAGS = $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
10414 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10415 CPP = /lib/cpp -C -P -traditional
10416 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10417 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
10422 NETCDFPATH = CONFIGURE_NETCDF_PATH
10425 #### Override default sed command and script for Fortran source files ####
10426 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10427 #### because the Fortran compiler complains about long source lines. ####
10428 SED_FTN = sed -f ../arch/no_file_line.sed
10430 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10432 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10433 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10434 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10436 module_dm.F : ../external/RSL_LITE/module_dm.F
10437 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10440 ( cd ../external/io_netcdf ; \
10441 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
10444 ( cd ../external/io_grib_share ; \
10445 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10448 ( cd ../external/io_grib1 ; \
10449 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10452 ( cd ../external/io_grib2 ; \
10453 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)
10456 ( cd ../external/io_int ; \
10457 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
10460 ( cd ../external/esmf_time_f90 ; \
10461 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
10463 ../external/RSL_LITE/librsl_lite.a :
10464 ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
10466 # compile these without high optimization to speed compile
10467 solve_interface.o : solve_interface.F
10468 shift_domain_em.o : shift_domain_em.F
10469 module_io_mm5.o : module_io_mm5.F
10470 module_si_io.o : module_si_io.F
10471 module_io_wrf.o : module_io_wrf.F
10472 module_domain.o : module_domain.F
10473 module_start.o : module_start.F
10474 module_initialize.o : module_initialize.F
10475 module_initialize_b_wave.o : module_initialize_b_wave.F
10476 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10477 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10478 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10479 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10480 module_initialize_real.o : module_initialize_real.F
10481 module_dm.o : module_dm.F
10482 start_domain.o : start_domain.F
10483 mediation_integrate.o : mediation_integrate.F
10484 module_configure.o : module_configure.F
10486 solve_interface.o \
10487 shift_domain_em.o \
10488 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10489 module_start.o module_initialize.o module_initialize_b_wave.o \
10490 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10491 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10492 module_configure.o \
10493 mediation_integrate.o \
10494 module_initialize_real.o module_dm.o start_domain.o :
10496 $(SED_FTN) $*.F > $*.b
10497 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10499 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10500 # if [ ! -e $@ ] ; then \
10501 # sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10503 # if [ ! -e $@ ] ; then \
10504 # sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10506 # if [ ! -e $@ ] ; then \
10507 # sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10511 ###########################################################
10512 #ARCH CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler (Single-threaded, no nesting)
10518 RWORDSIZE = $(NATIVE_RWORDSIZE)
10520 # g95 does not like -r8. if you want -r8, just add it to PROMOTION below
10521 #PROMOTION = -r$(RWORDSIZE) -i4
10526 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10527 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10528 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10529 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10531 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10533 ESMF_IO_LIB = ESMFIOLIB
10534 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10535 INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10536 -I../frame -I../share -I../phys -I../chem -I../inc
10538 REGISTRY = Registry
10539 LIB = CONFIGURE_NETCDF_LIB_PATH \
10540 -L../external/io_grib1 -lio_grib1 \
10541 CONFIGURE_GRIB2_LIB \
10542 -L../external/io_grib_share -lio_grib_share \
10543 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10544 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
10545 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10546 CPP = cpp -C -P -traditional
10547 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10548 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10552 NETCDFPATH = CONFIGURE_NETCDF_PATH
10555 #### Override default sed command and script for Fortran source files ####
10556 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10557 #### because the Fortran compiler complains about long source lines. ####
10558 SED_FTN = sed -f ../arch/no_file_line.sed
10560 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10563 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10566 ( cd ../external/io_netcdf ; \
10567 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10570 ( cd ../external/io_grib_share ; \
10571 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10574 ( cd ../external/io_grib1 ; \
10575 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10578 ( cd ../external/io_grib2 ; \
10579 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 )
10583 ( cd ../external/io_int ; \
10584 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10585 TRADFLAG="-traditional" all )
10588 ( cd ../external/esmf_time_f90 ; \
10589 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10591 # compile these without high optimization to speed compile
10592 solve_interface.o : solve_interface.F
10593 shift_domain_em.o : shift_domain_em.F
10594 module_io_mm5.o : module_io_mm5.F
10595 module_si_io.o : module_si_io.F
10596 module_io_wrf.o : module_io_wrf.F
10597 module_domain.o : module_domain.F
10598 module_start.o : module_start.F
10599 module_initialize.o : module_initialize.F
10600 module_initialize_b_wave.o : module_initialize_b_wave.F
10601 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10602 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10603 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10604 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10605 module_initialize_real.o : module_initialize_real.F
10606 module_dm.o : module_dm.F
10607 start_domain.o : start_domain.F
10608 mediation_integrate.o : mediation_integrate.F
10609 module_configure.o : module_configure.F
10611 solve_interface.o \
10612 shift_domain_em.o \
10613 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10614 module_start.o module_initialize.o module_initialize_b_wave.o \
10615 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10616 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10617 mediation_integrate.o \
10618 module_configure.o \
10619 module_initialize_real.o module_dm.o start_domain.o :
10621 $(SED_FTN) $*.F > $*.b
10622 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10624 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10626 ###########################################################
10627 #ARCH PC Linux i486 i586 i686, g95 compiler (Single-threaded, no nesting)
10633 RWORDSIZE = $(NATIVE_RWORDSIZE)
10635 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10636 #PROMOTION = -r$(RWORDSIZE) -i4
10639 FCOPTIM = -O2 # -fast
10641 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10642 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10643 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10644 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10646 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10648 ESMF_IO_LIB = ESMFIOLIB
10649 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10650 INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10651 -I../frame -I../share -I../phys -I../chem -I../inc
10653 REGISTRY = Registry
10654 LIB = CONFIGURE_NETCDF_LIB_PATH \
10655 -L../external/io_grib1 -lio_grib1 \
10656 CONFIGURE_GRIB2_LIB \
10657 -L../external/io_grib_share -lio_grib_share \
10658 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10659 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
10660 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10661 CPP = /lib/cpp -C -P -traditional
10662 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10663 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10667 NETCDFPATH = CONFIGURE_NETCDF_PATH
10670 #### Override default sed command and script for Fortran source files ####
10671 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10672 #### because the Fortran compiler complains about long source lines. ####
10673 SED_FTN = sed -f ../arch/no_file_line.sed
10675 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10678 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10681 ( cd ../external/io_netcdf ; \
10682 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10685 ( cd ../external/io_grib_share ; \
10686 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10689 ( cd ../external/io_grib1 ; \
10690 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10693 ( cd ../external/io_grib2 ; \
10694 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 )
10697 ( cd ../external/io_int ; \
10698 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10699 TRADFLAG="-traditional" all )
10702 ( cd ../external/esmf_time_f90 ; \
10703 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10705 # compile these without high optimization to speed compile
10706 solve_interface.o : solve_interface.F
10707 shift_domain_em.o : shift_domain_em.F
10708 module_io_mm5.o : module_io_mm5.F
10709 module_si_io.o : module_si_io.F
10710 module_io_wrf.o : module_io_wrf.F
10711 module_domain.o : module_domain.F
10712 module_start.o : module_start.F
10713 module_initialize.o : module_initialize.F
10714 module_initialize_b_wave.o : module_initialize_b_wave.F
10715 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10716 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10717 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10718 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10719 module_initialize_real.o : module_initialize_real.F
10720 module_dm.o : module_dm.F
10721 start_domain.o : start_domain.F
10722 mediation_integrate.o : mediation_integrate.F
10723 module_configure.o : module_configure.F
10725 solve_interface.o \
10726 shift_domain_em.o \
10727 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10728 module_start.o module_initialize.o module_initialize_b_wave.o \
10729 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10730 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10731 mediation_integrate.o \
10732 module_configure.o \
10733 module_initialize_real.o module_dm.o start_domain.o :
10735 $(SED_FTN) $*.F > $*.b
10736 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10738 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10740 ###########################################################
10741 #ARCH PC Linux i486 i586 i686, g95 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting)
10743 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10744 # for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10748 FC = mpif90 -f90=g95
10749 LD = mpif90 -f90=g95
10753 RWORDSIZE = $(NATIVE_RWORDSIZE)
10754 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10755 #PROMOTION = -r$(RWORDSIZE) -i4
10757 CFLAGS = -DDM_PARALLEL \
10758 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10759 FCOPTIM = -O2 # -fast
10761 FCBASEOPTS = -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10762 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10763 ARCHFLAGS = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
10764 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10765 -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95
10766 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10768 ESMF_IO_LIB = ESMFIOLIB
10769 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10770 INCLUDE_MODULES = -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10771 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10773 REGISTRY = Registry
10774 LIB = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10775 -L../external/io_grib1 -lio_grib1 \
10776 CONFIGURE_GRIB2_LIB \
10777 -L../external/io_grib_share -lio_grib_share \
10778 -L../external/io_int -lwrfio_int \
10779 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10780 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
10781 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10782 CPP = /lib/cpp -C -P -traditional
10783 POUND_DEF = -DNO_RRTM_PHYSICS -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10784 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
10788 NETCDFPATH = CONFIGURE_NETCDF_PATH
10791 #### Override default sed command and script for Fortran source files ####
10792 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10793 #### because the Fortran compiler complains about long source lines. ####
10794 SED_FTN = sed -f ../arch/no_file_line.sed
10796 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10798 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10799 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10800 cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10802 module_dm.F : ../external/RSL_LITE/module_dm.F
10803 ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10806 ( cd ../external/io_netcdf ; \
10807 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10810 ( cd ../external/io_grib_share ; \
10811 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10814 ( cd ../external/io_grib1 ; \
10815 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10818 ( cd ../external/io_grib2 ; \
10819 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)
10822 ( cd ../external/io_int ; \
10823 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
10826 ( cd ../external/esmf_time_f90 ; \
10827 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10829 ../external/RSL_LITE/librsl_lite.a :
10830 ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10832 # compile these without high optimization to speed compile
10833 solve_interface.o : solve_interface.F
10834 shift_domain_em.o : shift_domain_em.F
10835 module_io_mm5.o : module_io_mm5.F
10836 module_si_io.o : module_si_io.F
10837 module_io_wrf.o : module_io_wrf.F
10838 module_domain.o : module_domain.F
10839 module_start.o : module_start.F
10840 module_initialize.o : module_initialize.F
10841 module_initialize_b_wave.o : module_initialize_b_wave.F
10842 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10843 module_initialize_fire.o : module_initialize_fire.F
10844 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10845 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10846 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10847 module_initialize_real.o : module_initialize_real.F
10848 module_dm.o : module_dm.F
10849 start_domain.o : start_domain.F
10850 mediation_integrate.o : mediation_integrate.F
10851 module_configure.o : module_configure.F
10853 shift_domain_em.o \
10854 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10855 module_start.o module_initialize.o module_initialize_b_wave.o \
10856 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10857 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10858 module_configure.o \
10859 mediation_integrate.o \
10860 module_initialize_real.o module_dm.o start_domain.o :
10862 $(SED_FTN) $*.F > $*.b
10863 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10865 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10867 ###########################################################
10868 #ARCH Darwin Intel, g95 compiler (Single-threaded, no nesting, debug)
10874 RWORDSIZE = $(NATIVE_RWORDSIZE)
10876 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10877 #PROMOTION = -r$(RWORDSIZE) -i4
10879 CFLAGS = -w -DF2CSTYLE -DMACOS
10880 FCOPTIM = -O0 # -fast
10882 FCBASEOPTS = -Wno=101,139,155,158 -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
10883 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS)
10884 ARCHFLAGS = $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10885 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10886 -DLIMIT_ARGS -DG95 -DMACOS
10887 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10889 ESMF_IO_LIB = ESMFIOLIB
10890 ESMF_IO_LIB_EXT = ESMFIOEXTLIB
10891 INCLUDE_MODULES = -fmod=../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10892 -I../frame -I../share -I../phys -I../chem -I../inc
10894 REGISTRY = Registry
10895 LIB = CONFIGURE_NETCDF_LIB_PATH \
10896 -L../external/io_grib1 -lio_grib1 \
10897 CONFIGURE_GRIB2_LIB \
10898 -L../external/io_grib_share -lio_grib_share \
10899 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10900 LDFLAGS = $(FCFLAGS) CONFIGURE_LDFLAGS
10901 ENVCOMPDEFS = CONFIGURE_COMPILEFLAGS
10902 CPP = cpp -C -P -traditional
10903 POUND_DEF = $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10904 CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10908 NETCDFPATH = CONFIGURE_NETCDF_PATH
10911 #### Override default sed command and script for Fortran source files ####
10912 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10913 #### because the Fortran compiler complains about long source lines. ####
10914 SED_FTN = sed -f ../arch/no_file_line.sed
10916 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10919 ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10922 ( cd ../external/io_netcdf ; \
10923 make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10926 ( cd ../external/io_grib_share ; \
10927 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10930 ( cd ../external/io_grib1 ; \
10931 make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10934 ( cd ../external/io_grib2 ; \
10935 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)
10938 ( cd ../external/io_int ; \
10939 make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10940 TRADFLAG="-traditional" all )
10943 ( cd ../external/esmf_time_f90 ; \
10944 make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10946 # compile these without high optimization to speed compile
10947 solve_interface.o : solve_interface.F
10948 shift_domain_em.o : shift_domain_em.F
10949 module_io_mm5.o : module_io_mm5.F
10950 module_si_io.o : module_si_io.F
10951 module_io_wrf.o : module_io_wrf.F
10952 module_domain.o : module_domain.F
10953 module_start.o : module_start.F
10954 module_initialize.o : module_initialize.F
10955 module_initialize_b_wave.o : module_initialize_b_wave.F
10956 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10957 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10958 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10959 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10960 module_initialize_real.o : module_initialize_real.F
10961 module_dm.o : module_dm.F
10962 start_domain.o : start_domain.F
10963 mediation_integrate.o : mediation_integrate.F
10964 module_configure.o : module_configure.F
10966 solve_interface.o \
10967 shift_domain_em.o \
10968 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10969 module_start.o module_initialize.o module_initialize_b_wave.o \
10970 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
10971 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
10972 mediation_integrate.o \
10973 module_configure.o \
10974 module_initialize_real.o module_dm.o start_domain.o :
10976 $(SED_FTN) $*.F > $*.b
10977 $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
10979 $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10981 ##################################################################