fixed compiling on walnut
[wrffire.git] / wrfv2_fire / arch / configure.defaults
blob0ae54546f8e5a009e0edc03f197fa6e7745ea887
2 ###########################################################
3 #ARCH (WF) x86_64 Linux, ifort+gcc compiler (single-threaded, no nesting) debug
5 OMP             =
6 OMPCPP          =
7 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
8 FC              =       ifort -g  -debug extended -debug-parameters all -traceback -fpe0
9 CC              =       gcc
10 SCC             =       $(CC)
11 SFC             =       $(FC)
12 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
13 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
14 PROMOTION       =       -real_size $(RSIZEBITS)
15 FCDEBUG         =       
16 FCBASEOPTS      =       -w -FR -cm -I. -Vaxlib -convert big_endian -mp
17 FCOPTIM         =       -O0
18 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
19 CFLAGS          =       -w
20 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
21 ESMF_LIB_FLAGS  =       
22 ESMF_IO_LIB     =       ESMFIOLIB
23 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
24 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
25                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
26 ARCHFLAGS       =       $(COREDEFS)  -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
27                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
28 LD              =       $(FC)
29 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
30 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
31 CPP             =       /lib/cpp -traditional
32 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
33                         -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
34 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
35 PERL            =       CONFIGURE_PERL_PATH
36 REGISTRY        =       Registry
37 LIB             =       CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
38                         -L../external/esmf_time_f90 -lesmf_time \
39                         -L../external/io_grib1 -lio_grib1 \
40                         CONFIGURE_GRIB2_LIB \
41                         -L../external/io_grib_share -lio_grib_share
42 AR              =       ar ru
43 M4              =       m4 -B14000
44 RANLIB          =       ranlib
45 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
46 CC_TOOLS        =       $(CC)
48 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
50 module_dm.F :
51         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
53 wrfio_nf : 
54         ( cd ../external/io_netcdf ; \
55           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
57 wrfio_grib_share : 
58         ( cd ../external/io_grib_share ; \
59           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
60           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
62 wrfio_grib1 : 
63         ( cd ../external/io_grib1 ; \
64           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
66 wrfio_grib2 : 
67         ( cd ../external/io_grib2 ; \
68           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
70 wrfio_int : 
71         ( cd ../external/io_int ; \
72           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
74 esmf_time : 
75         ( cd ../external/esmf_time_f90 ; \
76           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
78 # compile these without high optimization to speed compile
79 solve_interface.o : solve_interface.F
80 shift_domain_em.o : shift_domain_em.F
81 module_io_mm5.o : module_io_mm5.F
82 module_si_io.o : module_si_io.F
83 module_io_wrf.o : module_io_wrf.F
84 module_domain.o : module_domain.F
85 module_start.o : module_start.F
86 module_initialize.o : module_initialize.F
87 module_initialize_b_wave.o : module_initialize_b_wave.F
88 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
89 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
90 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
91 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
92 module_initialize_real.o : module_initialize_real.F
93 start_domain.o : start_domain.F
94 wrf_bdyin.o : wrf_bdyin.F
95 wrf_bdyout.o : wrf_bdyout.F
96 wrf_histin.o : wrf_histin.F
97 wrf_histout.o : wrf_histout.F
98 wrf_inputin.o : wrf_inputin.F
99 wrf_inputout.o : wrf_inputout.F
100 wrf_restartin.o : wrf_restartin.F
101 wrf_restartout.o : wrf_restartout.F
103 wrf_bdyin.o wrf_bdyout.o  \
104 wrf_histin.o wrf_histout.o  \
105 wrf_inputin.o wrf_inputout.o  \
106 wrf_restartin.o wrf_restartout.o  \
107 solve_interface.o                                              \
108 shift_domain_em.o                                              \
109 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
110 module_start.o module_initialize.o module_initialize_b_wave.o  \
111 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
112 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
113 module_initialize_real.o module_dm.o  start_domain.o :
114         $(RM) $@
115         $(SED_FTN) $*.F > $*.b 
116         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
117         $(RM) $*.b
118         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
120 module_dm.o : module_dm.F
121 module_configure.o : module_configure.F
123 module_configure.o \
124 module_dm.o :
125         $(RM) $@
126         $(SED_FTN) $*.F > $*.b 
127         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
128         $(RM) $*.b
129         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
133 ###########################################################
134 #ARCH (WF) x86_64 Linux, ifort+gcc compiler (single-threaded, no nesting) -O2
136 OMP             =
137 OMPCPP          =
138 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
139 FC              =       ifort
140 CC              =       gcc
141 SCC             =       $(CC)
142 SFC             =       $(FC)
143 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
144 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
145 PROMOTION       =       -real_size $(RSIZEBITS)
146 FCDEBUG         =       # -g
147 FCBASEOPTS      =       -w -FR -cm -I. -Vaxlib -convert big_endian -fp-model precise
148 FCOPTIM         =       -O3 -unroll0 -xP -fno-alias -ip
149 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
150 CFLAGS          =       -w
151 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
152 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
153 ESMF_LIB_FLAGS  =       
154 ESMF_IO_LIB     =       ESMFIOLIB
155 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
156 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
157                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
158 ARCHFLAGS       =       $(COREDEFS)  -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
159                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
160 LD              =       $(FC)
161 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
162 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
163 CPP             =       /lib/cpp -traditional
164 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
165                         -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
166 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
167 PERL            =       CONFIGURE_PERL_PATH
168 REGISTRY        =       Registry
169 LIB             =       CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
170                         -L../external/esmf_time_f90 -lesmf_time \
171                         -L../external/io_grib1 -lio_grib1 \
172                         CONFIGURE_GRIB2_LIB \
173                         -L../external/io_grib_share -lio_grib_share
174 AR              =       ar ru
175 M4              =       m4 -B14000
176 RANLIB          =       ranlib
177 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
178 CC_TOOLS        =       $(CC)
180 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
182 module_dm.F :
183         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
185 wrfio_nf : 
186         ( cd ../external/io_netcdf ; \
187           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
189 wrfio_grib_share : 
190         ( cd ../external/io_grib_share ; \
191           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
192           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
194 wrfio_grib1 : 
195         ( cd ../external/io_grib1 ; \
196           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
198 wrfio_grib2 : 
199         ( cd ../external/io_grib2 ; \
200           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
202 wrfio_int : 
203         ( cd ../external/io_int ; \
204           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
206 esmf_time : 
207         ( cd ../external/esmf_time_f90 ; \
208           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
210 # compile these without high optimization to speed compile
211 solve_interface.o : solve_interface.F
212 shift_domain_em.o : shift_domain_em.F
213 module_io_mm5.o : module_io_mm5.F
214 module_si_io.o : module_si_io.F
215 module_io_wrf.o : module_io_wrf.F
216 module_domain.o : module_domain.F
217 module_start.o : module_start.F
218 module_initialize.o : module_initialize.F
219 module_initialize_b_wave.o : module_initialize_b_wave.F
220 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
221 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
222 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
223 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
224 module_initialize_real.o : module_initialize_real.F
225 start_domain.o : start_domain.F
226 wrf_bdyin.o : wrf_bdyin.F
227 wrf_bdyout.o : wrf_bdyout.F
228 wrf_histin.o : wrf_histin.F
229 wrf_histout.o : wrf_histout.F
230 wrf_inputin.o : wrf_inputin.F
231 wrf_inputout.o : wrf_inputout.F
232 wrf_restartin.o : wrf_restartin.F
233 wrf_restartout.o : wrf_restartout.F
235 wrf_bdyin.o wrf_bdyout.o  \
236 wrf_histin.o wrf_histout.o  \
237 wrf_inputin.o wrf_inputout.o  \
238 wrf_restartin.o wrf_restartout.o  \
239 solve_interface.o                                              \
240 shift_domain_em.o                                              \
241 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
242 module_start.o module_initialize.o module_initialize_b_wave.o  \
243 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
244 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
245 module_initialize_real.o module_dm.o  start_domain.o :
246         $(RM) $@
247         $(SED_FTN) $*.F > $*.b 
248         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
249         $(RM) $*.b
250         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
252 solve_em.o: solve_em.F
253         $(RM) $@
254         $(SED_FTN) $*.F > $*.b 
255         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
256         $(RM) $*.b
257         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
259 module_dm.o : module_dm.F
260 module_configure.o : module_configure.F
262 module_configure.o \
263 module_dm.o :
264         $(RM) $@
265         $(SED_FTN) $*.F > $*.b 
266         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
267         $(RM) $*.b
268         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
270 ###########################################################
271 #ARCH (WF) x86_64 Linux, ifort+gcc compiler (OpenMP) debug
273 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
274 #       has been identified to produce wrong results occationally.
276 OMP             =       -openmp -fpp -auto
277 OMPCPP          =       -D_OPENMP
278 FC              =       ifort
279 LD              =       ifort
280 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
281 CC              =       gcc
282 SCC             =       $(CC)
283 SFC             =       $(FC)
284 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
285 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
286 PROMOTION       =       -real_size $(RSIZEBITS)
287 CFLAGS          =
288 FCOPTIM         =       -O0 #-fno-alias -ip  #-O2 -no-ipo # -xW
289 FCDEBUG         =       -g
290 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
291 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
292 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
293 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
294                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
295                         -DLIMIT_ARGS 
296 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
297 ESMF_LIB_FLAGS  =       
298 ESMF_IO_LIB     =       ESMFIOLIB
299 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
300 INCLUDE_MODULES =       -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
301                         -I../frame -I../share -I../phys -I../inc -I../chem
302 PERL            =       perl
303 REGISTRY        =       Registry
304 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
305                         -L../external/io_grib1 -lio_grib1 \
306                         CONFIGURE_GRIB2_LIB \
307                         -L../external/io_grib_share -lio_grib_share \
308                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
309 LDFLAGS         =       $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
310 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
311 CPP             =       /lib/cpp -traditional
312 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
313 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
314 AR              =       ar ru
315 M4              =       m4 -B 14000
316 RANLIB          =       ranlib
317 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
318 CC_TOOLS        =       $(CC)
320 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
322 module_dm.F :
323         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
325 wrfio_nf : 
326         ( cd ../external/io_netcdf ; \
327           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
329 wrfio_grib_share : 
330         ( cd ../external/io_grib_share ; \
331           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
332           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
334 wrfio_grib1 : 
335         ( cd ../external/io_grib1 ; \
336           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
338 wrfio_grib2 : 
339         ( cd ../external/io_grib2 ; \
340           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
342 wrfio_int : 
343         ( cd ../external/io_int ; \
344           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
345           TRADFLAG="-traditional" all )
347 esmf_time : 
348         ( cd ../external/esmf_time_f90 ; \
349           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
351 # compile these without high optimization to speed compile
352 #solve_em.o : solve_em.F
353 solve_interface.o : solve_interface.F
354 shift_domain_em.o : shift_domain_em.F
355 module_io_mm5.o : module_io_mm5.F
356 module_si_io.o : module_si_io.F
357 module_io_wrf.o : module_io_wrf.F
358 module_domain.o : module_domain.F
359 module_start.o : module_start.F
360 module_initialize.o : module_initialize.F
361 module_initialize_b_wave.o : module_initialize_b_wave.F
362 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
363 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
364 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
365 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
366 module_initialize_real.o : module_initialize_real.F
367 start_domain.o : start_domain.F
368 mediation_integrate.o : mediation_integrate.F
370 solve_interface.o                                              \
371 shift_domain_em.o                                              \
372 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
373 module_start.o module_initialize.o module_initialize_b_wave.o  \
374 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
375 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
376 mediation_integrate.o \
377 module_initialize_real.o start_domain.o :
378         $(RM) $@
379         $(SED_FTN) $*.F > $*.b 
380         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
381         $(RM) $*.b
382         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
384 module_dm.o : module_dm.F
385 module_configure.o : module_configure.F
387 solve_em.o: solve_em.F
388         $(RM) $@
389         $(SED_FTN) $*.F > $*.b 
390         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
391         $(RM) $*.b
392         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
394 module_configure.o \
395 module_dm.o :
396         $(RM) $@
397         $(SED_FTN) $*.F > $*.b 
398         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
399         $(RM) $*.b
400         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
402 ###########################################################
403 #ARCH (WF) x86_64 Linux, ifort+gcc compiler (OpenMP) -O2
405 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
406 #       has been identified to produce wrong results occationally.
408 OMP             =       -openmp -fpp -auto
409 OMPCPP          =       -D_OPENMP
410 FC              =       ifort
411 LD              =       ifort
412 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
413 CC              =       gcc
414 SCC             =       $(CC)
415 SFC             =       $(FC)
416 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
417 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
418 PROMOTION       =       -real_size $(RSIZEBITS)
419 CFLAGS          =
420 FCOPTIM         =       -O2 #-fno-alias -ip  #-O2 -no-ipo # -xW
421 FCDEBUG         =       #-g
422 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
423 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
424 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
425 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
426                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
427                         -DLIMIT_ARGS 
428 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
429 ESMF_LIB_FLAGS  =       
430 ESMF_IO_LIB     =       ESMFIOLIB
431 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
432 INCLUDE_MODULES =       -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
433                         -I../frame -I../share -I../phys -I../inc -I../chem
434 PERL            =       perl
435 REGISTRY        =       Registry
436 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
437                         -L../external/io_grib1 -lio_grib1 \
438                         CONFIGURE_GRIB2_LIB \
439                         -L../external/io_grib_share -lio_grib_share \
440                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
441 LDFLAGS         =       $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
442 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
443 CPP             =       /lib/cpp -traditional
444 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
445 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
446 AR              =       ar ru
447 M4              =       m4 -B 14000
448 RANLIB          =       ranlib
449 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
450 CC_TOOLS        =       $(CC)
452 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
454 module_dm.F :
455         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
457 wrfio_nf : 
458         ( cd ../external/io_netcdf ; \
459           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
461 wrfio_grib_share : 
462         ( cd ../external/io_grib_share ; \
463           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
464           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
466 wrfio_grib1 : 
467         ( cd ../external/io_grib1 ; \
468           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
470 wrfio_grib2 : 
471         ( cd ../external/io_grib2 ; \
472           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
474 wrfio_int : 
475         ( cd ../external/io_int ; \
476           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
477           TRADFLAG="-traditional" all )
479 esmf_time : 
480         ( cd ../external/esmf_time_f90 ; \
481           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
483 # compile these without high optimization to speed compile
484 #solve_em.o : solve_em.F
485 solve_interface.o : solve_interface.F
486 shift_domain_em.o : shift_domain_em.F
487 module_io_mm5.o : module_io_mm5.F
488 module_si_io.o : module_si_io.F
489 module_io_wrf.o : module_io_wrf.F
490 module_domain.o : module_domain.F
491 module_start.o : module_start.F
492 module_initialize.o : module_initialize.F
493 module_initialize_b_wave.o : module_initialize_b_wave.F
494 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
495 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
496 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
497 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
498 module_initialize_real.o : module_initialize_real.F
499 start_domain.o : start_domain.F
500 mediation_integrate.o : mediation_integrate.F
502 solve_interface.o                                              \
503 shift_domain_em.o                                              \
504 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
505 module_start.o module_initialize.o module_initialize_b_wave.o  \
506 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
507 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
508 mediation_integrate.o \
509 module_initialize_real.o start_domain.o :
510         $(RM) $@
511         $(SED_FTN) $*.F > $*.b 
512         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
513         $(RM) $*.b
514         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
516 module_dm.o : module_dm.F
517 module_configure.o : module_configure.F
519 solve_em.o: solve_em.F
520         $(RM) $@
521         $(SED_FTN) $*.F > $*.b 
522         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
523         $(RM) $*.b
524         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
526 module_configure.o \
527 module_dm.o :
528         $(RM) $@
529         $(SED_FTN) $*.F > $*.b 
530         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
531         $(RM) $*.b
532         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
534 ###########################################################
535 #ARCH (WF) x86_64 Linux, ifort+gcc compiler  DM-Parallel (RSL-LITE, MPICH, allows nesting) debug
537 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
538 #       has been identified to produce wrong results occationally.
539 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
540 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
543 DMPARALLEL      =       1
544 MAX_PROC        =       1024
545 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
546 FC              =       mpif90 -f90=ifort -g -traceback -O0
547 LD              =       mpif90 -f90=ifort -g -traceback -O0
548 CC              =       mpicc -cc=gcc -g -O0
549 SCC             =       gcc -g -O0
550 SFC             =       ifort -g -O0 -traceback
551 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
552 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
553 PROMOTION       =       -real_size $(RSIZEBITS)
554 FCOPTIM         =       
555 FCDEBUG         =       
556 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
557 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
558 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
559 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
560                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
561                         -DLIMIT_ARGS
562 CFLAGS          =       -w -DDM_PARALLEL $(ARCHFLAGS) \
563                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
564 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
565 ESMF_LIB_FLAGS  =       
566 ESMF_IO_LIB     =       ESMFIOLIB
567 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
568 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
569                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
570 PERL            =       perl
571 REGISTRY        =       Registry
572 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
573                         -L../external/io_int -lwrfio_int \
574                         -L../external/io_grib1 -lio_grib1 \
575                         CONFIGURE_GRIB2_LIB \
576                         -L../external/io_grib_share -lio_grib_share \
577                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
578 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
579 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
580 CPP             =       /lib/cpp -traditional
581 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
582 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
583 AR              =       ar ru
584 M4              =       m4 -B 14000
585 RANLIB          =       ranlib
586 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
587 CC_TOOLS        =       gcc
589 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
591 gen_comms.c : ../external/RSL_LITE/gen_comms.c
592         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
593           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
595 module_dm.F : ../external/RSL_LITE/module_dm.F
596         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
598 wrfio_nf : 
599         ( cd ../external/io_netcdf ; \
600           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
602 wrfio_grib_share : 
603         ( cd ../external/io_grib_share ; \
604           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
605           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
607 wrfio_grib1 : 
608         ( cd ../external/io_grib1 ; \
609           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
611 wrfio_grib2 : 
612         ( cd ../external/io_grib2 ; \
613           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
615 wrfio_int : 
616         ( cd ../external/io_int ; \
617           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
619 esmf_time : 
620         ( cd ../external/esmf_time_f90 ; \
621           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
623 ../external/RSL_LITE/librsl_lite.a :
624         ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
626 # compile these without high optimization to speed 
627 solve_interface.o : solve_interface.F
628 shift_domain_em.o : shift_domain_em.F
629 module_io_mm5.o : module_io_mm5.F
630 module_si_io.o : module_si_io.F
631 module_io_wrf.o : module_io_wrf.F
632 module_domain.o : module_domain.F
633 module_start.o : module_start.F
634 module_initialize.o : module_initialize.F
635 module_initialize_b_wave.o : module_initialize_b_wave.F
636 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
637 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
638 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
639 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
640 module_initialize_real.o : module_initialize_real.F
641 start_domain.o : start_domain.F
642 mediation_integrate.o : mediation_integrate.F
643 start_em.o: start_em.F
645 start_em.o :
646         $(RM) $@
647         $(SED_FTN) $*.F > $*.b 
648         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
649         $(RM) $*.b
650         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
652 solve_interface.o                                             \
653 shift_domain_em.o                                              \
654 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
655 module_start.o module_initialize.o module_initialize_b_wave.o  \
656 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
657 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
658 mediation_integrate.o \
659 module_initialize_real.o start_domain.o :
660         $(RM) $@
661         $(SED_FTN) $*.F > $*.b 
662         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
663         $(RM) $*.b
664         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
666 solve_em.o: solve_em.F
667 solve_em.o:
668         $(RM) $@
669         $(SED_FTN) $*.F > $*.b 
670         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
671         $(RM) $*.b
672         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS)  $*.f90
674 module_dm.o : module_dm.F
675 module_configure.o : module_configure.F
677 module_configure.o \
678 module_dm.o :
679         $(RM) $@
680         $(SED_FTN) $*.F > $*.b 
681         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
682         $(RM) $*.b
683         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
685 ###########################################################
686 #ARCH (WF) x86_64 Linux, ifort+gcc compiler  DM-Parallel (RSL-LITE, MPICH, allows nesting) -O2
688 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
689 #       has been identified to produce wrong results occationally.
690 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
691 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
694 DMPARALLEL      =       1
695 MAX_PROC        =       1024
696 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
697 FC              =       mpif90 -f90=ifort
698 LD              =       mpif90 -f90=ifort
699 CC              =       mpicc -cc=gcc
700 SCC             =       gcc
701 SFC             =       ifort
702 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
703 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
704 PROMOTION       =       -real_size $(RSIZEBITS)
705 FCOPTIM         =       -O2 #-O3 -unroll0 -xP -fno-alias -ip
706 FCDEBUG         =       #-g
707 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
708 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
709 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
710 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
711                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
712                         -DLIMIT_ARGS
713 CFLAGS          =       -w -DDM_PARALLEL $(ARCHFLAGS) \
714                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
715 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
716 ESMF_LIB_FLAGS  =       
717 ESMF_IO_LIB     =       ESMFIOLIB
718 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
719 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
720                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
721 PERL            =       perl
722 REGISTRY        =       Registry
723 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
724                         -L../external/io_int -lwrfio_int \
725                         -L../external/io_grib1 -lio_grib1 \
726                         CONFIGURE_GRIB2_LIB \
727                         -L../external/io_grib_share -lio_grib_share \
728                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
729 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
730 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
731 CPP             =       /lib/cpp -traditional
732 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
733 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
734 AR              =       ar ru
735 M4              =       m4 -B 14000
736 RANLIB          =       ranlib
737 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
738 CC_TOOLS        =       gcc
740 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
742 gen_comms.c : ../external/RSL_LITE/gen_comms.c
743         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
744           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
746 module_dm.F : ../external/RSL_LITE/module_dm.F
747         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
749 wrfio_nf : 
750         ( cd ../external/io_netcdf ; \
751           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
753 wrfio_grib_share : 
754         ( cd ../external/io_grib_share ; \
755           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
756           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
758 wrfio_grib1 : 
759         ( cd ../external/io_grib1 ; \
760           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
762 wrfio_grib2 : 
763         ( cd ../external/io_grib2 ; \
764           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
766 wrfio_int : 
767         ( cd ../external/io_int ; \
768           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
770 esmf_time : 
771         ( cd ../external/esmf_time_f90 ; \
772           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
774 ../external/RSL_LITE/librsl_lite.a :
775         ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
777 # compile these without high optimization to speed 
778 solve_interface.o : solve_interface.F
779 shift_domain_em.o : shift_domain_em.F
780 module_io_mm5.o : module_io_mm5.F
781 module_si_io.o : module_si_io.F
782 module_io_wrf.o : module_io_wrf.F
783 module_domain.o : module_domain.F
784 module_start.o : module_start.F
785 module_initialize.o : module_initialize.F
786 module_initialize_b_wave.o : module_initialize_b_wave.F
787 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
788 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
789 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
790 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
791 module_initialize_real.o : module_initialize_real.F
792 start_domain.o : start_domain.F
793 mediation_integrate.o : mediation_integrate.F
794 start_em.o: start_em.F
796 start_em.o :
797         $(RM) $@
798         $(SED_FTN) $*.F > $*.b 
799         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
800         $(RM) $*.b
801         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
803 solve_interface.o                                             \
804 shift_domain_em.o                                              \
805 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
806 module_start.o module_initialize.o module_initialize_b_wave.o  \
807 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
808 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
809 mediation_integrate.o \
810 module_initialize_real.o start_domain.o :
811         $(RM) $@
812         $(SED_FTN) $*.F > $*.b 
813         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
814         $(RM) $*.b
815         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
817 solve_em.o: solve_em.F
818 solve_em.o:
819         $(RM) $@
820         $(SED_FTN) $*.F > $*.b 
821         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
822         $(RM) $*.b
823         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
825 module_dm.o : module_dm.F
826 module_configure.o : module_configure.F
828 module_configure.o \
829 module_dm.o :
830         $(RM) $@
831         $(SED_FTN) $*.F > $*.b 
832         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
833         $(RM) $*.b
834         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
837 ###########################################################
838 #ARCH (WF) x86_64 Linux, ifort+gcc compiler  DM-Parallel+OMP (RSL-LITE, MPICH, allows nesting) debug
840 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
841 #       has been identified to produce wrong results occationally.
842 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
843 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
846 OMP             =       -openmp -fpp -auto
847 OMPCPP          =       -D_OPENMP
848 DMPARALLEL      =       1
849 MAX_PROC        =       1024
850 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
851 FC              =       mpif90 -f90=ifort -g -traceback
852 LD              =       mpif90 -f90=ifort -g -traceback
853 CC              =       mpicc -cc=gcc -g
854 SCC             =       gcc -g
855 SFC             =       ifort -g -traceback
856 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
857 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
858 PROMOTION       =       -real_size $(RSIZEBITS)
859 FCOPTIM         =       -O0 #-O3 -unroll0 -xP -fno-alias -ip
860 FCDEBUG         =       #-g
861 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
862 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
863 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
864 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
865                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
866                         -DLIMIT_ARGS
867 CFLAGS          =       -w -DDM_PARALLEL $(ARCHFLAGS) \
868                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
869 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
870 ESMF_LIB_FLAGS  =       
871 ESMF_IO_LIB     =       ESMFIOLIB
872 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
873 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
874                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
875 PERL            =       perl
876 REGISTRY        =       Registry
877 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
878                         -L../external/io_int -lwrfio_int \
879                         -L../external/io_grib1 -lio_grib1 \
880                         CONFIGURE_GRIB2_LIB \
881                         -L../external/io_grib_share -lio_grib_share \
882                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
883 LDFLAGS         =       $(FCOPTIM) -convert big_endian $(OMP) CONFIGURE_LDFLAGS
884 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
885 CPP             =       /lib/cpp -traditional
886 POUND_DEF       =       -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
887 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
888 AR              =       ar ru
889 M4              =       m4 -B 14000
890 RANLIB          =       ranlib
891 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
892 CC_TOOLS        =       $(SCC)
894 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
896 gen_comms.c : ../external/RSL_LITE/gen_comms.c
897         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
898           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
900 module_dm.F : ../external/RSL_LITE/module_dm.F
901         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
903 wrfio_nf : 
904         ( cd ../external/io_netcdf ; \
905           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
907 wrfio_grib_share : 
908         ( cd ../external/io_grib_share ; \
909           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
910           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
912 wrfio_grib1 : 
913         ( cd ../external/io_grib1 ; \
914           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
916 wrfio_grib2 : 
917         ( cd ../external/io_grib2 ; \
918           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
920 wrfio_int : 
921         ( cd ../external/io_int ; \
922           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
924 esmf_time : 
925         ( cd ../external/esmf_time_f90 ; \
926           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
928 ../external/RSL_LITE/librsl_lite.a :
929         ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
931 # compile these without high optimization to speed 
932 solve_interface.o : solve_interface.F
933 shift_domain_em.o : shift_domain_em.F
934 module_io_mm5.o : module_io_mm5.F
935 module_si_io.o : module_si_io.F
936 module_io_wrf.o : module_io_wrf.F
937 module_domain.o : module_domain.F
938 module_start.o : module_start.F
939 module_initialize.o : module_initialize.F
940 module_initialize_b_wave.o : module_initialize_b_wave.F
941 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
942 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
943 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
944 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
945 module_initialize_real.o : module_initialize_real.F
946 start_domain.o : start_domain.F
947 mediation_integrate.o : mediation_integrate.F
948 start_em.o: start_em.F
950 start_em.o :
951         $(RM) $@
952         $(SED_FTN) $*.F > $*.b 
953         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
954         $(RM) $*.b
955         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
957 solve_interface.o                                             \
958 shift_domain_em.o                                              \
959 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
960 module_start.o module_initialize.o module_initialize_b_wave.o  \
961 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
962 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
963 mediation_integrate.o \
964 module_initialize_real.o start_domain.o :
965         $(RM) $@
966         $(SED_FTN) $*.F > $*.b 
967         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
968         $(RM) $*.b
969         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
971 module_dm.o : module_dm.F
972 module_configure.o : module_configure.F
974 solve_em.o: solve_em.F
975         $(RM) $@
976         $(SED_FTN) $*.F > $*.b 
977         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
978         $(RM) $*.b
979         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
981 module_configure.o \
982 module_dm.o :
983         $(RM) $@
984         $(SED_FTN) $*.F > $*.b 
985         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
986         $(RM) $*.b
987         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
989 ###########################################################
990 #ARCH (WF) x86_64 Linux, ifort+gcc compiler  DM-Parallel+OMP (RSL-LITE, MPICH, allows nesting) -O2
992 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
993 #       has been identified to produce wrong results occationally.
994 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
995 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
998 OMP             =       -openmp -fpp -auto
999 OMPCPP          =       -D_OPENMP
1000 DMPARALLEL      =       1
1001 MAX_PROC        =       1024
1002 LAPACK          =       -L/opt/intel9.1-64-ser/lib -llapack -lblas
1003 FC              =       mpif90 -f90=ifort
1004 LD              =       mpif90 -f90=ifort
1005 CC              =       mpicc -cc=gcc
1006 SCC             =       gcc
1007 SFC             =       ifort
1008 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1009 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
1010 PROMOTION       =       -real_size $(RSIZEBITS)
1011 FCOPTIM         =       -O2 #-O3 -unroll0 -xP -fno-alias -ip
1012 FCDEBUG         =       #-g
1013 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -fp-model precise -switch fe_use_rtl_copy_arg_inout -mP2OPT_vec_xform_level=103
1014 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1015 SOLVE_EM_FLAGS  =       $(FCBASEOPTS) $(OMP) -O0
1016 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
1017                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
1018                         -DLIMIT_ARGS
1019 CFLAGS          =       -w -DDM_PARALLEL $(ARCHFLAGS) \
1020                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
1021 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1022 ESMF_LIB_FLAGS  =       
1023 ESMF_IO_LIB     =       ESMFIOLIB
1024 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1025 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1026                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
1027 PERL            =       perl
1028 REGISTRY        =       Registry
1029 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
1030                         -L../external/io_int -lwrfio_int \
1031                         -L../external/io_grib1 -lio_grib1 \
1032                         CONFIGURE_GRIB2_LIB \
1033                         -L../external/io_grib_share -lio_grib_share \
1034                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1035 LDFLAGS         =       $(FCOPTIM) -convert big_endian $(OMP) CONFIGURE_LDFLAGS
1036 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1037 CPP             =       /lib/cpp -traditional
1038 POUND_DEF       =       -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
1039 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
1040 AR              =       ar ru
1041 M4              =       m4 -B 14000
1042 RANLIB          =       ranlib
1043 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1044 CC_TOOLS        =       $(SCC)
1046 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
1048 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1049         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
1050           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1052 module_dm.F : ../external/RSL_LITE/module_dm.F
1053         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1055 wrfio_nf : 
1056         ( cd ../external/io_netcdf ; \
1057           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1059 wrfio_grib_share : 
1060         ( cd ../external/io_grib_share ; \
1061           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
1062           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
1064 wrfio_grib1 : 
1065         ( cd ../external/io_grib1 ; \
1066           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
1068 wrfio_grib2 : 
1069         ( cd ../external/io_grib2 ; \
1070           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
1072 wrfio_int : 
1073         ( cd ../external/io_int ; \
1074           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
1076 esmf_time : 
1077         ( cd ../external/esmf_time_f90 ; \
1078           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1080 ../external/RSL_LITE/librsl_lite.a :
1081         ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1083 # compile these without high optimization to speed 
1084 solve_interface.o : solve_interface.F
1085 shift_domain_em.o : shift_domain_em.F
1086 module_io_mm5.o : module_io_mm5.F
1087 module_si_io.o : module_si_io.F
1088 module_io_wrf.o : module_io_wrf.F
1089 module_domain.o : module_domain.F
1090 module_start.o : module_start.F
1091 module_initialize.o : module_initialize.F
1092 module_initialize_b_wave.o : module_initialize_b_wave.F
1093 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1094 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1095 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1096 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1097 module_initialize_real.o : module_initialize_real.F
1098 start_domain.o : start_domain.F
1099 mediation_integrate.o : mediation_integrate.F
1100 start_em.o: start_em.F
1102 start_em.o :
1103         $(RM) $@
1104         $(SED_FTN) $*.F > $*.b 
1105         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1106         $(RM) $*.b
1107         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1109 solve_interface.o                                             \
1110 shift_domain_em.o                                              \
1111 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1112 module_start.o module_initialize.o module_initialize_b_wave.o  \
1113 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1114 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1115 mediation_integrate.o \
1116 module_initialize_real.o start_domain.o :
1117         $(RM) $@
1118         $(SED_FTN) $*.F > $*.b 
1119         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1120         $(RM) $*.b
1121         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1123 module_dm.o : module_dm.F
1124 module_configure.o : module_configure.F
1126 solve_em.o: solve_em.F
1127         $(RM) $@
1128         $(SED_FTN) $*.F > $*.b 
1129         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1130         $(RM) $*.b
1131         $(FC) -c $(PROMOTION) $(SOLVE_EM_FLAGS) $(MODULE_DIRS) $*.f90
1133 module_configure.o \
1134 module_dm.o :
1135         $(RM) $@
1136         $(SED_FTN) $*.F > $*.b 
1137         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1138         $(RM) $*.b
1139         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1142 ###########################################################
1143 #ARCH    (WALNUT) x86_64 Linux, PGI compiler (Single-threaded, no nesting) debug
1144 #        Note that for 5.1.x comment out -Mpia=fast
1146 FC              =       pgf90 -g
1147 LD              =       pgf90 -g
1148 CC              =       gcc
1149 SCC             =       $(CC)
1150 SFC             =       $(FC)
1151 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1152 PROMOTION       =       -r$(RWORDSIZE) -i4
1153 CFLAGS          =       -DLANDREAD_STUB
1154 FCOPTIM         =       #-fastsse #-Mipa=fast
1155 FCDEBUG         =       -g
1156 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
1157 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
1158 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1159 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1160                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
1161                         -DLIMIT_ARGS -DLANDREAD_STUB
1162 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1163 ESMF_LIB_FLAGS  =       
1164 ESMF_IO_LIB     =       ESMFIOLIB
1165 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1166 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1167                         -I../frame -I../share -I../phys -I../inc -I../chem
1168 PERL            =       perl
1169 REGISTRY        =       Registry
1170 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
1171                         -L../external/io_grib1 -lio_grib1 \
1172                         CONFIGURE_GRIB2_LIB \
1173                         -L../external/io_grib_share -lio_grib_share \
1174                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1175 LDFLAGS         =       CONFIGURE_LDFLAGS
1176 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1177 CPP             =       /lib/cpp -C -P -traditional
1178 POUND_DEF       =       -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1179 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
1180 AR              =       ar ru
1181 M4              =       m4 -B 14000
1182 RANLIB          =       ranlib
1183 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1184 CC_TOOLS        =       $(CC)
1186 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1188 module_dm.F :
1189         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1191 wrfio_nf :
1192         ( cd ../external/io_netcdf ; \
1193           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1195 wrfio_grib_share :
1196         ( cd ../external/io_grib_share ; \
1197           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1199 wrfio_grib1 :
1200         ( cd ../external/io_grib1 ; \
1201           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1203 wrfio_grib2 :
1204         ( cd ../external/io_grib2 ; \
1205           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)
1207 wrfio_int :
1208         ( cd ../external/io_int ; \
1209           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
1210           TRADFLAG="-traditional" all )
1212 esmf_time : 
1213         ( cd ../external/esmf_time_f90 ; \
1214           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1216 # compile these without high optimization to speed compile
1217 solve_interface.o : solve_interface.F
1218 shift_domain_em.o : shift_domain_em.F
1219 module_io_mm5.o : module_io_mm5.F
1220 module_si_io.o : module_si_io.F
1221 module_io_wrf.o : module_io_wrf.F
1222 module_domain.o : module_domain.F
1223 module_start.o : module_start.F
1224 module_initialize.o : module_initialize.F
1225 module_initialize_b_wave.o : module_initialize_b_wave.F
1226 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1227 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1228 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1229 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1230 module_initialize_real.o : module_initialize_real.F
1231 module_dm.o : module_dm.F
1232 start_domain.o : start_domain.F
1233 mediation_integrate.o : mediation_integrate.F
1234 module_configure.o : module_configure.F
1236 solve_interface.o                                              \
1237 shift_domain_em.o                                              \
1238 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1239 module_start.o module_initialize.o module_initialize_b_wave.o  \
1240 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1241 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1242 mediation_integrate.o \
1243 module_configure.o                                             \
1244 module_initialize_real.o module_dm.o start_domain.o :
1245         $(RM) $@
1246         $(SED_FTN) $*.F > $*.b 
1247         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1248         $(RM) $*.b
1249         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1251 ###########################################################
1252 #ARCH    (WALNUT) x86_64 Linux, PGI compiler (Single-threaded, no nesting) -O2
1253 #        Note that for 5.1.x comment out -Mpia=fast
1255 FC              =       pgf90
1256 LD              =       pgf90
1257 CC              =       gcc
1258 SCC             =       $(CC)
1259 SFC             =       $(FC)
1260 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1261 PROMOTION       =       -r$(RWORDSIZE) -i4
1262 CFLAGS          =       -DLANDREAD_STUB
1263 FCOPTIM         =       -O2 -fastsse #-Mipa=fast
1264 FCDEBUG         =       #-g -C 
1265 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
1266 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
1267 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1268 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1269                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
1270                         -DLIMIT_ARGS -DLANDREAD_STUB
1271 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1272 ESMF_LIB_FLAGS  =       
1273 ESMF_IO_LIB     =       ESMFIOLIB
1274 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1275 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1276                         -I../frame -I../share -I../phys -I../inc -I../chem
1277 PERL            =       perl
1278 REGISTRY        =       Registry
1279 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
1280                         -L../external/io_grib1 -lio_grib1 \
1281                         CONFIGURE_GRIB2_LIB \
1282                         -L../external/io_grib_share -lio_grib_share \
1283                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1284 LDFLAGS         =       CONFIGURE_LDFLAGS
1285 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1286 CPP             =       /lib/cpp -C -P -traditional
1287 POUND_DEF       =       -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1288 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
1289 AR              =       ar ru
1290 M4              =       m4 -B 14000
1291 RANLIB          =       ranlib
1292 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1293 CC_TOOLS        =       $(CC)
1295 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1297 module_dm.F :
1298         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1300 wrfio_nf :
1301         ( cd ../external/io_netcdf ; \
1302           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1304 wrfio_grib_share :
1305         ( cd ../external/io_grib_share ; \
1306           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1308 wrfio_grib1 :
1309         ( cd ../external/io_grib1 ; \
1310           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1312 wrfio_grib2 :
1313         ( cd ../external/io_grib2 ; \
1314           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)
1316 wrfio_int :
1317         ( cd ../external/io_int ; \
1318           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
1319           TRADFLAG="-traditional" all )
1321 esmf_time : 
1322         ( cd ../external/esmf_time_f90 ; \
1323           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1325 # compile these without high optimization to speed compile
1326 solve_interface.o : solve_interface.F
1327 shift_domain_em.o : shift_domain_em.F
1328 module_io_mm5.o : module_io_mm5.F
1329 module_si_io.o : module_si_io.F
1330 module_io_wrf.o : module_io_wrf.F
1331 module_domain.o : module_domain.F
1332 module_start.o : module_start.F
1333 module_initialize.o : module_initialize.F
1334 module_initialize_b_wave.o : module_initialize_b_wave.F
1335 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1336 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1337 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1338 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1339 module_initialize_real.o : module_initialize_real.F
1340 module_dm.o : module_dm.F
1341 start_domain.o : start_domain.F
1342 mediation_integrate.o : mediation_integrate.F
1343 module_configure.o : module_configure.F
1345 solve_interface.o                                              \
1346 shift_domain_em.o                                              \
1347 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1348 module_start.o module_initialize.o module_initialize_b_wave.o  \
1349 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1350 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1351 mediation_integrate.o \
1352 module_configure.o                                             \
1353 module_initialize_real.o module_dm.o start_domain.o :
1354         $(RM) $@
1355         $(SED_FTN) $*.F > $*.b 
1356         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1357         $(RM) $*.b
1358         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1361 ###########################################################
1362 #ARCH   (WALNUT) x86_64 Linux, PGI compiler  SM-Parallel (OpenMP, no nesting) -O2
1364 OMP             =       -mp=nonuma
1365 OMPCPP          =       -D_OPENMP
1366 FC              =       pgf90
1367 LD              =       pgf90
1368 CC              =       gcc
1369 SCC             =       $(CC)
1370 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1371 SFC             =       $(FC)
1372 PROMOTION       =       -r$(RWORDSIZE) -i4
1373 CFLAGS          =
1374 FCOPTIM         =       -O2 # -fast
1375 FCDEBUG         =       #-g
1376 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
1377 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
1378 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1379 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1380                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
1381                         -DLIMIT_ARGS
1382 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1383 ESMF_LIB_FLAGS  =       
1384 ESMF_IO_LIB     =       ESMFIOLIB
1385 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1386 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1387                         -I../frame -I../share -I../phys -I../chem -I../inc
1388 PERL            =       perl
1389 REGISTRY        =       Registry
1390 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
1391                         -L../external/io_grib1 -lio_grib1 \
1392                         CONFIGURE_GRIB2_LIB \
1393                         -L../external/io_grib_share -lio_grib_share \
1394                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1395 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
1396 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1397 CPP             =       /lib/cpp -C -P -traditional
1398 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1399 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
1400 AR              =       ar ru
1401 M4              =       m4 -B 14000
1402 RANLIB          =       ranlib
1403 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1404 CC_TOOLS        =       $(CC)
1406 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1408 module_dm.F :
1409         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1411 wrfio_nf : 
1412         ( cd ../external/io_netcdf ; \
1413           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1415 wrfio_grib_share :
1416         ( cd ../external/io_grib_share ; \
1417           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1419 wrfio_grib1 :
1420         ( cd ../external/io_grib1 ; \
1421           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
1423 wrfio_grib2 :
1424         ( cd ../external/io_grib2 ; \
1425           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 )
1427 wrfio_int : 
1428         ( cd ../external/io_int ; \
1429           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
1430           TRADFLAG="-traditional" all )
1432 esmf_time : 
1433         ( cd ../external/esmf_time_f90 ; \
1434           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1436 # compile these without high optimization to speed compile
1437 solve_interface.o : solve_interface.F
1438 shift_domain_em.o : shift_domain_em.F
1439 module_io_mm5.o : module_io_mm5.F
1440 module_si_io.o : module_si_io.F
1441 module_io_wrf.o : module_io_wrf.F
1442 module_domain.o : module_domain.F
1443 module_start.o : module_start.F
1444 module_initialize.o : module_initialize.F
1445 module_initialize_b_wave.o : module_initialize_b_wave.F
1446 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1447 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1448 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1449 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1450 module_initialize_real.o : module_initialize_real.F
1451 module_dm.o : module_dm.F
1452 start_domain.o : start_domain.F
1453 mediation_integrate.o : mediation_integrate.F
1454 module_configure.o : module_configure.F
1456 solve_interface.o                                              \
1457 shift_domain_em.o                                              \
1458 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1459 module_start.o module_initialize.o module_initialize_b_wave.o  \
1460 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1461 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1462 module_configure.o                                             \
1463 mediation_integrate.o \
1464 module_initialize_real.o module_dm.o start_domain.o :
1465         $(RM) $@
1466         $(SED_FTN) $*.F > $*.b 
1467         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1468         $(RM) $*.b
1469         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1470 #PGI    if [ ! -e $@ ] ; then \
1471 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1472 #PGI    fi
1473 #PGI    if [ ! -e $@ ] ; then \
1474 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1475 #PGI    fi
1476 #PGI    if [ ! -e $@ ] ; then \
1477 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1478 #PGI    fi
1480 ###########################################################
1481 #ARCH     (WALNUT) x86_64 Linux, PGI compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting) -O2
1483 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1484 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1486 DMPARALLEL      =       1
1487 MAX_PROC        =       1024
1488 FC              =       mpif90 -f90=pgf90
1489 LD              =       mpif90 -f90=pgf90
1490 CC              =       mpicc -cc=gcc
1491 SCC             =       gcc
1492 SFC             =       pgf90
1493 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1494 PROMOTION       =       -r$(RWORDSIZE) -i4
1495 CFLAGS          =       -DDM_PARALLEL \
1496                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
1497 #FCOPTIM                =       -fastsse 
1498 FCOPTIM         =       -O2 # -fast
1499 FCDEBUG         =       #-g
1500 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
1501 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
1502 #Options for Debian Sarge systems
1503 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
1504 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1505 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
1506                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
1507                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
1508 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1509 ESMF_LIB_FLAGS  =       
1510 ESMF_IO_LIB     =       ESMFIOLIB
1511 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1512 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1513                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
1514 PERL            =       perl
1515 REGISTRY        =       Registry
1516 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
1517                         -L../external/io_grib1 -lio_grib1 \
1518                         CONFIGURE_GRIB2_LIB \
1519                         -L../external/io_grib_share -lio_grib_share \
1520                         -L../external/io_int -lwrfio_int \
1521                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1522 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
1523 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1524 CPP             =       /lib/cpp -C -P -traditional
1525 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1526 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
1527 AR              =       ar ru
1528 M4              =       m4 -B 14000
1529 RANLIB          =       ranlib
1530 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1531 CC_TOOLS        =       cc
1533 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
1535 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1536         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
1537           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1539 module_dm.F : ../external/RSL_LITE/module_dm.F
1540         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1542 wrfio_nf : 
1543         ( cd ../external/io_netcdf ; \
1544           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1546 wrfio_grib_share :
1547         ( cd ../external/io_grib_share ; \
1548           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1550 wrfio_grib1 :
1551         ( cd ../external/io_grib1 ; \
1552           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1554 wrfio_grib2 :
1555         ( cd ../external/io_grib2 ; \
1556           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)
1558 wrfio_int : 
1559         ( cd ../external/io_int ; \
1560           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
1562 esmf_time : 
1563         ( cd ../external/esmf_time_f90 ; \
1564           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1566 ../external/RSL_LITE/librsl_lite.a :
1567         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1569 # compile these without high optimization to speed compile
1570 solve_interface.o : solve_interface.F
1571 shift_domain_em.o : shift_domain_em.F
1572 module_io_mm5.o : module_io_mm5.F
1573 module_si_io.o : module_si_io.F
1574 module_io_wrf.o : module_io_wrf.F
1575 module_domain.o : module_domain.F
1576 module_start.o : module_start.F
1577 module_initialize.o : module_initialize.F
1578 module_initialize_b_wave.o : module_initialize_b_wave.F
1579 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1580 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1581 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1582 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1583 module_initialize_real.o : module_initialize_real.F
1584 module_dm.o : module_dm.F
1585 start_domain.o : start_domain.F
1586 mediation_integrate.o : mediation_integrate.F
1587 module_configure.o : module_configure.F
1589 solve_interface.o                                              \
1590 shift_domain_em.o                                              \
1591 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1592 module_start.o module_initialize.o module_initialize_b_wave.o  \
1593 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1594 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1595 module_configure.o                                             \
1596 mediation_integrate.o \
1597 module_initialize_real.o module_dm.o start_domain.o :
1598         $(RM) $@
1599         $(SED_FTN) $*.F > $*.b 
1600         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1601         $(RM) $*.b
1602         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1603 #PGI    if [ ! -e $@ ] ; then \
1604 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1605 #PGI    fi
1606 #PGI    if [ ! -e $@ ] ; then \
1607 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1608 #PGI    fi
1609 #PGI    if [ ! -e $@ ] ; then \
1610 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
1611 #PGI    fi
1613 ###########################################################
1614 #ARCH    Darwin Intel, g95 compiler  (Single-threaded, no nesting, debug)
1616 FC              =       g95 -g
1617 LD              =       g95 -g
1618 CC              =       gcc -g
1619 SCC             =       $(CC)
1620 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1621 SFC             =       $(FC)
1622 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
1623 #PROMOTION      =       -r$(RWORDSIZE) -i4
1624 PROMOTION       =       -i4
1625 CFLAGS          =       -w -DF2CSTYLE -DMACOS
1626 FCOPTIM         =       -O0 # -fast
1627 FCDEBUG         =       -g -O0
1628 FCBASEOPTS      =       -Wno=101,139,155,158 -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
1629 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1630 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1631                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
1632                         -DLIMIT_ARGS -DG95 -DMACOS
1633 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1634 ESMF_LIB_FLAGS  =
1635 ESMF_IO_LIB     =       ESMFIOLIB
1636 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1637 INCLUDE_MODULES =       -fmod=../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1638                         -I../frame -I../share -I../phys -I../chem -I../inc
1639 PERL            =       perl
1640 REGISTRY        =       Registry
1641 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
1642                         -L../external/io_grib1 -lio_grib1 \
1643                         CONFIGURE_GRIB2_LIB \
1644                         -L../external/io_grib_share -lio_grib_share \
1645                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
1646 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
1647 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1648 CPP             =       cpp -C -P -traditional
1649 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1650 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
1651 AR              =       ar ru
1652 M4              =       m4 -B 14000
1653 RANLIB          =       ranlib
1654 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1655 CC_TOOLS        =       $(CC)
1657 #### Override default sed command and script for Fortran source files         ####
1658 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
1659 #### because the Fortran compiler complains about long source lines.          ####
1660 SED_FTN = sed -f ../arch/no_file_line.sed
1662 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1664 module_dm.F :
1665         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1667 wrfio_nf :
1668         ( cd ../external/io_netcdf ; \
1669           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
1671 wrfio_grib_share :
1672         ( cd ../external/io_grib_share ; \
1673           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
1675 wrfio_grib1 :
1676         ( cd ../external/io_grib1 ; \
1677           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
1679 wrfio_grib2 :
1680         ( cd ../external/io_grib2 ; \
1681           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)
1683 wrfio_int :
1684         ( cd ../external/io_int ; \
1685           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
1686           TRADFLAG="-traditional" all )
1688 esmf_time :
1689         ( cd ../external/esmf_time_f90 ; \
1690           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1692 # compile these without high optimization to speed compile
1693 solve_interface.o : solve_interface.F
1694 shift_domain_em.o : shift_domain_em.F
1695 module_io_mm5.o : module_io_mm5.F
1696 module_si_io.o : module_si_io.F
1697 module_io_wrf.o : module_io_wrf.F
1698 module_domain.o : module_domain.F
1699 module_start.o : module_start.F
1700 module_initialize.o : module_initialize.F
1701 module_initialize_b_wave.o : module_initialize_b_wave.F
1702 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1703 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1704 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1705 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1706 module_initialize_real.o : module_initialize_real.F
1707 module_dm.o : module_dm.F
1708 start_domain.o : start_domain.F
1709 mediation_integrate.o : mediation_integrate.F
1710 module_configure.o : module_configure.F
1712 solve_interface.o                                              \
1713 shift_domain_em.o                                              \
1714 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1715 module_start.o module_initialize.o module_initialize_b_wave.o  \
1716 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1717 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1718 mediation_integrate.o \
1719 module_configure.o                                             \
1720 module_initialize_real.o module_dm.o start_domain.o :
1721         $(RM) $@
1722         $(SED_FTN) $*.F > $*.b
1723         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1724         $(RM) $*.b
1725         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1727 ###########################################################
1728 #ARCH (FROST)      Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI) 
1730 # from sheeba
1731 BGL_SYS         =       /bgl/BlueLight/ppcfloor/bglsys
1732 MPI_INC         =       -I$(BGL_SYS)/include
1733 MPI_LIB         =       -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
1734 TRACE_LIB       =       -L/contrib/bgl/mpi_trace  -lmpitrace_c
1736 SFC              =      blrts_xlf90
1737 SCC             =       blrts_xlc
1738 DMPARALLEL      =       1
1739 FC              =       $(SFC)
1740 LD              =       $(FC)
1741 CC              =       $(SCC)
1743 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1744 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1745 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB -DDM_PARALLEL
1746 FCOPTIM         =       -O2 -qarch=440
1747 FCDEBUG         =       # -qnoopt -qfullpath -qarch=440
1749 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=64000  $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
1750 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1752 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int  -I../external/esmf_time_f90 \
1753                         -I../frame -I../share -I../phys -I../chem -I../inc 
1755 ARCHFLAGS       =       $(COREDEFS) -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1756                         CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1757                         -DLIMIT_ARGS  -DNATIVE_MASSV -DLANDREAD_STUB
1759 PERL            =       perl
1760 REGISTRY        =       Registry
1761 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1762                         -L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
1763                         -L../external/io_int -lwrfio_int \
1764                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
1765                         $(TRACE_LIB) $(MPI_LIB)
1767 LDFLAGS         =       -Wl,--allow-multiple-definition -qstatic
1768 ENVCOMPDEFS     =       
1769 WRF_CHEM        =       0 
1770 CPP             =       /opt/ibmcmp/xlf/9.1/exe/cpp
1771 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1772 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1773 AR              =       ar ru
1774 #### this is a hand installed version of m4 on frost.ucar.edu
1775 #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
1776 M4              =       /home/janicec/m4 -B 12000
1777 RANLIB          =       ranlib
1778 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1779 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
1780 CC_TOOLS        =       cc
1781 WRF_CONVERT = 0
1783 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
1785 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1786         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1788 module_dm.F : ../external/RSL_LITE/module_dm.F
1789         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1791 wrfio_nf : 
1792         ( cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1794 wrfio_pnf :
1795         ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1797 wrfio_int : 
1798         ( cd ../external/io_int ; \
1799           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1801 wrfio_grib1 :
1802         ( cd ../external/io_grib1 ; \
1803           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1805 esmf_time : 
1806         ( cd ../external/esmf_time_f90 ; \
1807           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1809 ../external/RSL_LITE/librsl_lite.a :
1810         ( 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 )
1812 solve_interface.o : solve_interface.F
1813         $(RM) $@
1814         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
1815         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
1817 # compile these without high optimization to speed compile
1818 wrf_bdyout.o : wrf_bdyout.F
1819 wrf_bdyin.o : wrf_bdyin.F
1820 wrf_restartout.o : wrf_restartout.F
1821 wrf_restartin.o : wrf_restartin.F
1822 wrf_inputin.o : wrf_inputin.F
1823 wrf_inputout.o : wrf_inputout.F
1824 wrf_histin.o : wrf_histin.F
1825 wrf_histout.o : wrf_histout.F
1826 shift_domain_em.o : shift_domain_em.F
1827 module_io_mm5.o : module_io_mm5.F
1828 module_si_io.o : module_si_io.F
1829 module_io_wrf.o : module_io_wrf.F
1830 module_domain.o : module_domain.F
1831 module_start.o : module_start.F
1832 module_initialize.o : module_initialize.F
1833 module_initialize_b_wave.o : module_initialize_b_wave.F
1834 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1835 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1836 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1837 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1838 module_initialize_real.o : module_initialize_real.F
1839 module_dm.o : module_dm.F
1840 module_comm_dm.o : module_comm_dm.F
1841 start_domain.o : start_domain.F
1842 mediation_integrate.o : mediation_integrate.F
1843 mediation_interp_domain.o : mediation_interp_domain.F
1844 mediation_force_domain.o : mediation_force_domain.F
1845 mediation_feedback_domain.o : mediation_feedback_domain.F
1846 convert_nmm.o : convert_nmm.F
1847 module_configure.o : module_configure.F
1848 solve_em.o : solve_em.F
1849 start_em.o : start_em.F
1851 wrf_bdyout.o wrf_bdyin.o \
1852 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1853 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1854 module_start.o module_initialize.o module_initialize_b_wave.o  \
1855 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1856 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1857 module_initialize_real.o module_dm.o module_comm_dm.o \
1858 mediation_integrate.o \
1859 mediation_interp_domain.o \
1860 module_configure.o                                             \
1861 solve_em.o                                              \
1862 start_em.o                                              \
1863 shift_domain_em.o                                              \
1864 convert_nmm.o :
1865         $(RM) $@
1866         $(SED_FTN) $*.F > $*.b 
1867         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1868         $(RM) $*.b
1869         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1871 # to prevent having to call our service representative
1872 mediation_feedback_domain.o \
1873 mediation_force_domain.o start_domain.o :
1874         $(RM) $@
1875         $(SED_FTN) $*.F > $*.b
1876         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1877         $(RM) $*.b
1878         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
1882 ##################################################################
1883 #ARCH  NULL