merge standard release WRF/WPS V3.0.1.1 into wrffire
[wrffire.git] / wrfv2_fire / arch / archive_configure.defaults
blob8d4dfb7d6d300b511dc91b371e91fec00244763a
2 #  WARNING
4 #  THIS IS THE OLD V2 CONFIGURE DEFAULTS FILE, KEPT AROUND FOR REFERENCE
5 #  BUT IS NOT USED OR MAINTAINED AT ALL IN V3.  MOST OF THE COMMON SETTINGS
6 #  HAVE BEEN MOVED TO THE NEW V3 CONFIGURATION MECHANISM AND 
7 #  FILE: configure_new.defaults
8 #  SEVERAL OTHER SETS OF OPTIONS HAVE BEEN PRESERVED BUT MOVED INTO THE
9 #  FILE: configure_old.defaults.  
11 ##########################################################
12 #ARCH   SGI 32 bit machine IRIX
14 FC              =       f90
15 SFC             =       $(FC)
16 LD              =       f90
17 CC              =       cc
18 SCC             =       $(CC)
19 RWORDSIZE       =       CONFIGURE_RWORDSIZE
20 FCDEBUG         =       # -g
21 FCBASEOPTS      =       -freeform -I. -w
22 FCFLAGS         =       $(FCBASEOPTS)
23 PROMOTION       =       -r$(RWORDSIZE) -i4
24 CFLAGS          =
25 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
26 ESMF_LIB_FLAGS  =       
27 ESMF_IO_LIB     =       ESMFIOLIB
28 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
29 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
30                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
31 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS $(DA_ARCHFLAGS)
32 LDFLAGS         =       CONFIGURE_LDFLAGS
33 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
34 CPP             =       /lib/cpp -C -P
35 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
36 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
37 PERL            =       CONFIGURE_PERL_PATH
38 REGISTRY        =       Registry
39 LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
40                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
41                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
42                         CONFIGURE_GRIB2_LIB \
43                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
44 AR              =       ar ru
45 M4              =       m4 -B14000
46 RANLIB          =       echo
47 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
48 CC_TOOLS        =       $(CC)
50 #### Override default sed command and script for Fortran source files         ####
51 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
52 #### because the SGI Fortran compiler complains about long source lines.      ####
53 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
55 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
57 module_dm.F :
58         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
60 wrfio_nf : 
61         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
62         make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
64 wrfio_int : 
65         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
66           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
68 wrfio_grib_share :
69         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
70           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
72 wrfio_grib1 :
73         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
74           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
76 wrfio_grib2 :
77         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
78           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
80 esmf_time : 
81         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
82           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
84 fftpack :
85         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
86           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
88 # compile these without high optimization to speed compile
89 solve_interface.o : solve_interface.F
90 shift_domain_em.o : shift_domain_em.F
91 module_configure.o : module_configure.F
92 module_io_mm5.o : module_io_mm5.F
93 module_si_io.o : module_si_io.F
94 module_io_wrf.o : module_io_wrf.F
95 module_domain.o : module_domain.F
96 module_start.o : module_start.F
97 module_initialize.o : module_initialize.F
98 module_initialize_b_wave.o : module_initialize_b_wave.F
99 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
100 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
101 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
102 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
103 module_initialize_real.o : module_initialize_real.F
104 module_dm.o : module_dm.F
105 module_comm_dm.o : module_comm_dm.F
106 start_domain.o : start_domain.F
108 solve_interface.o                                              \
109 shift_domain_em.o                                              \
110 module_configure.o                                             \
111 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
112 module_start.o module_initialize.o module_initialize_b_wave.o  \
113 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
114 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
115 module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
116         $(RM) $@
117         $(SED_FTN) $*.F > $*.b 
118         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
119         $(RM) $*.b
120         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
123 ###########################################################
124 #ARCH   SGI 32 bit machine, sycamore IRIX
126 FC              =       f90
127 SFC             =       $(FC)
128 CC              =       cc
129 SCC             =       $(CC)
130 RWORDSIZE       =       CONFIGURE_RWORDSIZE
131 FCDEBUG         =       # -g
132 FCBASEOPTS      =       -freeform -I. -w
133 FCFLAGS         =       -freeform -I. -w
134 PROMOTION       =       -r$(RWORDSIZE) -i4
135 CFLAGS          =
136 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
137 ESMF_LIB_FLAGS  =       
138 ESMF_IO_LIB     =       ESMFIOLIB
139 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
140 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem  \
141                         -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -I$(WRF_SRC_ROOT_DIR)/inc
142 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
143                         $(DA_ARCHFLAGS) \
144                         -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS 
145 LDFLAGS         =       CONFIGURE_LDFLAGS
146 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
147 CPP             =       /lib/cpp
148 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
149 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
150 PERL            =       CONFIGURE_PERL_PATH
151 REGISTRY        =       Registry
152 LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
153                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
154                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
155                         CONFIGURE_GRIB2_LIB \
156                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
157 AR              =       ar ru
158 M4              =       m4 -B14000
159 RANLIB          =       echo
160 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
161 CC_TOOLS        =       $(CC)
163 #### Override default sed command and script for Fortran source files         ####
164 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
165 #### because the SGI Fortran compiler complains about long source lines.      ####
166 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
168 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
170 module_dm.F :
171         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
173 wrfio_nf : 
174         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
176 wrfio_int : 
177         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
178           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
180 wrfio_grib_share :
181         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
182           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
184 wrfio_grib1 :
185         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
186           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
188 wrfio_grib2 :
189         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
190           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
192 esmf_time : 
193         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
194           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
196 fftpack :
197         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
198           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
200 # compile these without high optimization to speed compile
201 solve_interface.o : solve_interface.F
202 shift_domain_em.o : shift_domain_em.F
203 module_configure.o : module_configure.F
204 module_io_mm5.o : module_io_mm5.F
205 module_si_io.o : module_si_io.F
206 module_io_wrf.o : module_io_wrf.F
207 module_domain.o : module_domain.F
208 module_start.o : module_start.F
209 module_initialize.o : module_initialize.F
210 module_initialize_b_wave.o : module_initialize_b_wave.F
211 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
212 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
213 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
214 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
215 module_initialize_real.o : module_initialize_real.F
216 module_dm.o : module_dm.F
217 module_comm_dm.o : module_comm_dm.F
218 start_domain.o : start_domain.F
220 solve_interface.o                                              \
221 shift_domain_em.o                                              \
222 module_configure.o                                             \
223 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
224 module_start.o module_initialize.o module_initialize_b_wave.o  \
225 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
226 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
227 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
228         $(RM) $@
229         $(SED_FTN) $*.F > $*.b 
230         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
231         $(RM) $*.b
232         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
234 ###########################################################
235 #ARCH       SGI 64 bit machine IRIX64     (single-threaded, no nesting)
237 FC              =       f90
238 SFC             =       $(FC)
239 LD              =       f90
240 CC              =       cc
241 SCC             =       $(CC)
242 CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
243 FCOPTIM         =       -O3
244 RWORDSIZE       =       CONFIGURE_RWORDSIZE
245 FCDEBUG         =       # -g
246 FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
247 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
248 PROMOTION       =       -r$(RWORDSIZE) -i4
249 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
250 ESMF_LIB_FLAGS  =       
251 ESMF_IO_LIB     =       ESMFIOLIB
252 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
253 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
254                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
255 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
256                         $(DA_ARCHFLAGS) \
257                         CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
258                         -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
259 PERL            =       CONFIGURE_PERL_PATH
260 REGISTRY        =       Registry
261 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
262                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
263                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
264                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
265                         CONFIGURE_GRIB2_LIB \
266                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
267                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
268 LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
269 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
270 CPP             =       /lib/cpp -C -P
271 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
272 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
273 AR              =       ar ru
274 M4              =       m4 -B14000
275 RANLIB          =       echo
276 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
277 CC_TOOLS        =       $(CC)
279 #### Override default sed command and script for Fortran source files         ####
280 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
281 #### because the SGI Fortran compiler complains about long source lines.      ####
282 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
284 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
286 module_dm.F :
287         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
289 wrfio_nf : 
290         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
292 wrfio_int : 
293         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
294           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
296 wrfio_grib_share :
297         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
298           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
300 wrfio_grib1 :
301         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
302           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
304 wrfio_grib2 :
305         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
306           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
308 esmf_time : 
309         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
310           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
312 fftpack :
313         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
314           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
316 # compile these without high optimization to speed compile
317 solve_interface.o : solve_interface.F
318 shift_domain_em.o : shift_domain_em.F
319 module_io_mm5.o : module_io_mm5.F
320 module_si_io.o : module_si_io.F
321 module_io_wrf.o : module_io_wrf.F
322 module_domain.o : module_domain.F
323 module_start.o : module_start.F
324 module_initialize.o : module_initialize.F
325 module_initialize_b_wave.o : module_initialize_b_wave.F
326 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
327 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
328 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
329 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
330 module_initialize_real.o : module_initialize_real.F
331 module_dm.o : module_dm.F
332 module_comm_dm.o : module_comm_dm.F
333 start_domain.o : start_domain.F
335 solve_interface.o                                              \
336 shift_domain_em.o                                              \
337 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
338 module_start.o module_initialize.o module_initialize_b_wave.o  \
339 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
340 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
341 module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
342         $(RM) $@
343         $(SED_FTN) $*.F > $*.b 
344         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
345         $(RM) $*.b
346         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
348 module_configure.o : module_configure.F
349         $(RM) $@
350         $(SED_FTN) $*.F > $*.b
351         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
352         $(RM) $*.b
353         $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
355 ###########################################################
356 #ARCH   SGI O2K IRIX
358 FC              =       f90 -n32 -mips4 -w
359 SFC             =       $(FC)
360 LD              =       f90 -n32 -mips4 -w
361 CC              =       cc
362 SCC             =       $(CC)
363 RWORDSIZE       =       CONFIGURE_RWORDSIZE
364 PROMOTION       =       -r$(RWORDSIZE) -i4
365 CFLAGS          =       -n32 -mips4
366 FCDEBUG         =       # -g
367 FCBASEOPTS      =       -freeform -I. -w
368 FCFLAGS         =       -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
369 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
370                         $(DA_ARCHFLAGS) \
371                         -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
372 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
373 ESMF_LIB_FLAGS  =       
374 ESMF_IO_LIB     =       ESMFIOLIB
375 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
376 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share \
377                         -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
378 PERL            =       CONFIGURE_PERL_PATH
379 REGISTRY        =       Registry
380 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
381                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
382                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
383                         CONFIGURE_GRIB2_LIB \
384                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
385                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
386 AR              =       ar ru
387 M4              =       m4 -B14000
388 LDFLAGS         =       CONFIGURE_LDFLAGS
389 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
390 CPP             =       /lib/cpp -C -P
391 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
392 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
393 RANLIB          =       echo
394 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
395 CC_TOOLS        =       $(CC)
397 #### Override default sed command and script for Fortran source files         ####
398 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
399 #### because the SGI Fortran compiler complains about long source lines.      ####
400 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
402 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
404 module_dm.F :
405         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
407 wrfio_nf : 
408         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
410 wrfio_int : 
411         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
412           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
414 wrfio_grib_share :
415         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
416           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
418 wrfio_grib1 :
419         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
420           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
422 wrfio_grib2 :
423         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
424           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
426 esmf_time : 
427         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
428           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
430 fftpack :
431         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
432           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
434 # compile these without high optimization to speed compile
435 solve_interface.o : solve_interface.F
436 shift_domain_em.o : shift_domain_em.F
437 module_configure.o : module_configure.F
438 module_io_mm5.o : module_io_mm5.F
439 module_si_io.o : module_si_io.F
440 module_io_wrf.o : module_io_wrf.F
441 module_domain.o : module_domain.F
442 module_start.o : module_start.F
443 module_initialize.o : module_initialize.F
444 module_initialize_b_wave.o : module_initialize_b_wave.F
445 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
446 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
447 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
448 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
449 module_initialize_real.o : module_initialize_real.F
450 module_dm.o : module_dm.F
451 module_comm_dm.o : module_comm_dm.F
452 start_domain.o : start_domain.F
454 solve_interface.o                                              \
455 shift_domain_em.o                                              \
456 module_configure.o                                             \
457 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
458 module_start.o module_initialize.o module_initialize_b_wave.o  \
459 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
460 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
461 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
462         $(RM) $@
463         $(SED_FTN) $*.F > $*.b 
464         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
465         $(RM) $*.b
466         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
468 ###########################################################
469 #ARCH       SGI 64 bit machine IRIX64     (OpenMP, no nesting)
471 OMP             =       -mp
472 OMPCPP          =       -D_OPENMP
473 FC              =       f90
474 SFC             =       $(FC)
475 LD              =       f90
476 CC              =       cc
477 SCC             =       $(CC)
478 RWORDSIZE       =       CONFIGURE_RWORDSIZE
479 PROMOTION       =       -r$(RWORDSIZE) -i4
480 CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
481 FCOPTIM         =       -O3
482 FCDEBUG         =       # -g
483 FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
484 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
485 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
486 ESMF_LIB_FLAGS  =       
487 ESMF_IO_LIB     =       ESMFIOLIB
488 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
489 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
490                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
491 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
492                         $(DA_ARCHFLAGS) \
493                         CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
494                         -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
495 PERL            =       CONFIGURE_PERL_PATH
496 REGISTRY        =       Registry
497 LIB             =       CONFIGURE_NETCDF_LIB_PATH $(OMP) \
498                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
499                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
500                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
501                         CONFIGURE_GRIB2_LIB \
502                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
503                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
504 LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
505 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
506 CPP             =       /lib/cpp -C -P
507 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
508 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
509 AR              =       ar ru
510 M4              =       m4 -B14000
511 RANLIB          =       echo
512 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
513 CC_TOOLS        =       $(CC)
515 #### Override default sed command and script for Fortran source files         ####
516 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
517 #### because the SGI Fortran compiler complains about long source lines.      ####
518 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
520 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
522 module_dm.F :
523         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
525 wrfio_nf : 
526         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
528 wrfio_int : 
529         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
530           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
532 wrfio_grib_share :
533         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
534           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
536 wrfio_grib1 :
537         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
538           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
540 wrfio_grib2 :
541         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
542           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
544 esmf_time : 
545         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
546           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
548 fftpack :
549         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
550           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
552 # compile these without high optimization to speed compile
553 solve_interface.o : solve_interface.F
554 shift_domain_em.o : shift_domain_em.F
555 module_configure.o : module_configure.F
556 module_io_mm5.o : module_io_mm5.F
557 module_si_io.o : module_si_io.F
558 module_io_wrf.o : module_io_wrf.F
559 module_domain.o : module_domain.F
560 module_start.o : module_start.F
561 module_initialize.o : module_initialize.F
562 module_initialize_b_wave.o : module_initialize_b_wave.F
563 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
564 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
565 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
566 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
567 module_initialize_real.o : module_initialize_real.F
568 module_dm.o : module_dm.F
569 module_comm_dm.o : module_comm_dm.F
570 start_domain.o : start_domain.F
572 solve_interface.o                                              \
573 shift_domain_em.o                                              \
574 module_configure.o                                             \
575 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
576 module_start.o module_initialize.o module_initialize_b_wave.o  \
577 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
578 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
579 module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
580         $(RM) $@
581         $(SED_FTN) $*.F > $*.b 
582         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
583         $(RM) $*.b
584         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
586 ###########################################################
587 #ARCH   Sun  SunOS      (single-threaded, no nesting)
589 FC              =       f95
590 SFC             =       $(FC)
591 LD              =       f95
592 CC              =       cc
593 SCC             =       $(CC)
594 RWORDSIZE       =       CONFIGURE_RWORDSIZE
595 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
596 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
597 CFLAGS          =       -DNCARIBM_NOC99
598 FCOPTIM         =       -O2 # -O4 -xlibmopt
599 FCDEBUG         =       #-g
600 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) -w
601 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
602 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
603 ESMF_LIB_FLAGS  =       
604 ESMF_IO_LIB     =       ESMFIOLIB
605 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
606 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
607                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
608                         -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
609                         -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
610                         -M$(WRF_SRC_ROOT_DIR)/dyn_em 
611 ARCHFLAGS       =       $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
612                         $(DA_ARCHFLAGS) \
613                         CONFIGURE_NETCDF_FLAG \
614                         -DLIMIT_ARGS
615 PERL            =       CONFIGURE_PERL_PATH
616 REGISTRY        =       Registry
617 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
618                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
619                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
620                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
621                         CONFIGURE_GRIB2_LIB \
622                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
623                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
624 LDFLAGS         =       $(FCOPTIM)       CONFIGURE_LDFLAGS
625 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
626 #CPP            =       /opt/SUNWspro/bin/fpp
627 CPP             =       /usr/ccs/lib/cpp -C -P
628 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
629 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
630 AR              =       ar ru
631 M4              =       m4 -B14000
632 RANLIB          =       ranlib
633 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
634 CC_TOOLS        =       $(CC)
636 #### Override default sed command and script for Fortran source files         ####
637 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
638 #### because the Sun Fortran compiler complains about long source lines,      ####
639 #### usually due to cpp translating __FILE__ to a full pathname.              ####
640 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
642 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
644 module_dm.F :
645         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
647 wrfio_nf : 
648         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
650 wrfio_int : 
651         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
652           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
654 wrfio_grib_share :
655         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
656           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
658 wrfio_grib1 :
659         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
660           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
662 wrfio_grib2 :
663         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
664           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
666 esmf_time : 
667         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
668           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
670 fftpack :
671         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
672           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
674 solve_interface.o : solve_interface.F
675         $(RM) $@
676         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
677         $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
679 # compile these without high optimization to speed compile
680 shift_domain_em.o : shift_domain_em.F
681 module_io_mm5.o : module_io_mm5.F
682 module_si_io.o : module_si_io.F
683 module_io_wrf.o : module_io_wrf.F
684 module_domain.o : module_domain.F
685 module_start.o : module_start.F
686 module_initialize.o : module_initialize.F
687 module_initialize_b_wave.o : module_initialize_b_wave.F
688 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
689 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
690 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
691 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
692 module_initialize_real.o : module_initialize_real.F
693 mediation_interp_domain.o : mediation_interp_domain.F
694 mediation_force_domain.o : mediation_force_domain.F
695 module_dm.o : module_dm.F
696 module_comm_dm.o : module_comm_dm.F
697 start_domain.o : start_domain.F
698 wrf_bdyin.o : wrf_bdyin.F
699 wrf_bdyout.o : wrf_bdyout.F
700 wrf_histin.o : wrf_histin.F
701 wrf_histout.o : wrf_histout.F
702 wrf_inputin.o : wrf_inputin.F
703 wrf_inputout.o : wrf_inputout.F
704 wrf_restartin.o : wrf_restartin.F
705 wrf_restartout.o : wrf_restartout.F
706 module_configure.o : module_configure.F
708 module_configure.o \
709 shift_domain_em.o                                              \
710 wrf_bdyin.o wrf_bdyout.o  \
711 wrf_histin.o wrf_histout.o  \
712 wrf_inputin.o wrf_inputout.o  \
713 wrf_restartin.o wrf_restartout.o  \
714 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
715 module_start.o module_initialize.o module_initialize_b_wave.o  \
716 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
717 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
718 module_initialize_real.o mediation_interp_domain.o \
719 mediation_force_domain.o module_dm.o module_comm_dm.o start_domain.o :
720         $(RM) $@
721         $(SED_FTN) $*.F > $*.b 
722         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
723         $(RM) $*.b
724         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
726 ###########################################################
727 #ARCH   Sun  SunOS SM   (OpenMP, no nesting)
729 OMP             =       -mp=openmp -explicitpar -stackvar
730 OMPCPP          =       -D_OPENMP
731 FC              =       f95
732 SFC             =       $(FC)
733 LD              =       f95
734 CC              =       cc
735 SCC             =       $(CC)
736 RWORDSIZE       =       CONFIGURE_RWORDSIZE
737 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
738 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
739 CFLAGS          =       -DNCARIBM_NOC99
740 FCOPTIM         =       -O3 -xlibmopt
741 FCDEBUG         =       #-g
742 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
743 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
744 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
745 ESMF_LIB_FLAGS  =       
746 ESMF_IO_LIB     =       ESMFIOLIB
747 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
748 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
749                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
750                         -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
751                         -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
752                         -M$(WRF_SRC_ROOT_DIR)/dyn_em 
753 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
754                         $(DA_ARCHFLAGS) \
755                         CONFIGURE_NETCDF_FLAG \
756                         -DLIMIT_ARGS
757 PERL            =       CONFIGURE_PERL_PATH
758 REGISTRY        =       Registry
759 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
760                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
761                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
762                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
763                         CONFIGURE_GRIB2_LIB \
764                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
765                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
766 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
767 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
768 #CPP            =       /opt/SUNWspro/bin/fpp
769 CPP             =       /usr/ccs/lib/cpp -C -P
770 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
771 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
772 AR              =       ar ru
773 M4              =       m4 -B14000
774 RANLIB          =       ranlib
775 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
776 CC_TOOLS        =       $(CC)
778 #### Override default sed command and script for Fortran source files         ####
779 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
780 #### because the Sun Fortran compiler complains about long source lines,      ####
781 #### usually due to cpp translating __FILE__ to a full pathname.              ####
782 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
784 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
786 module_dm.F :
787         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
789 wrfio_nf : 
790         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
792 wrfio_int : 
793         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
794           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
796 wrfio_grib_share :
797         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
798           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
800 wrfio_grib1 :
801         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
802           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
804 wrfio_grib2 :
805         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
806           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
808 esmf_time : 
809         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
810           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
812 fftpack :
813         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
814           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
816 solve_interface.o : solve_interface.F
817         $(RM) $@
818         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
819         $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
821 # compile these without high optimization to speed compile
822 shift_domain_em.o : shift_domain_em.F
823 module_io_mm5.o : module_io_mm5.F
824 module_si_io.o : module_si_io.F
825 module_io_wrf.o : module_io_wrf.F
826 module_domain.o : module_domain.F
827 module_start.o : module_start.F
828 module_initialize.o : module_initialize.F
829 module_initialize_b_wave.o : module_initialize_b_wave.F
830 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
831 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
832 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
833 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
834 module_initialize_real.o : module_initialize_real.F
835 module_dm.o : module_dm.F
836 module_comm_dm.o : module_comm_dm.F
837 start_domain.o : start_domain.F
838 module_configure.o : module_configure.F
840 shift_domain_em.o                                              \
841 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
842 module_start.o module_initialize.o module_initialize_b_wave.o  \
843 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
844 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
845 module_configure.o                                             \
846 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
847         $(RM) $@
848         $(SED_FTN) $*.F > $*.b 
849         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
850         $(RM) $*.b
851         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
853 ###########################################################
854 #ARCH   AIX                      (single-threaded, no nesting)
856 FC              =       xlf90_r
857 SFC             =       $(FC)
858 LD              =       xlf90_r
859 CC              =       cc_r
860 SCC             =       $(CC)
861 RWORDSIZE       =       CONFIGURE_RWORDSIZE
862 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
863 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99
864 FCOPTIM         =       -O2 -qarch=auto
865 #FCOPTIM         =       -O3 -qhot
866 FCDEBUG         =       # -qnoopt -qfullpath
867 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
868 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
869 FCSUFFIX        =       -qsuffix=f=f90
870 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
871 ESMF_LIB_FLAGS  =       -lC
872 ESMF_IO_LIB     =       ESMFIOLIB
873 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
874 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
875                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
876 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
877                         $(DA_ARCHFLAGS) \
878                         CONFIGURE_NETCDF_FLAG \
879                         -DLIMIT_ARGS  -DNATIVE_MASSV
880 PERL            =       CONFIGURE_PERL_PATH
881 REGISTRY        =       Registry
882 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
883                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
884                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
885                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
886                         CONFIGURE_GRIB2_LIB \
887                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
888                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
890 LDFLAGS         =        CONFIGURE_LDFLAGS
891 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
892 CPP             =       /lib/cpp -C -P
893 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
894 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
895 AR              =       ar ru
896 M4              =       m4 -B 14000
897 RANLIB          =       ranlib
898 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
899 CC_TOOLS        =       cc
901 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
903 module_dm.F :
904         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
906 wrfio_nf : 
907         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
909 wrfio_int : 
910         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
911           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
913 wrfio_grib_share :
914         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
915           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
917 wrfio_grib1 :
918         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
919           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
921 wrfio_grib2 :
922         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
923           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
925 esmf_time : 
926         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
927           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
929 fftpack :
930         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
931           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
933 # compile these without high optimization to speed compile
934 wrf_bdyout.o : wrf_bdyout.F
935 wrf_bdyin.o : wrf_bdyin.F
936 wrf_restartout.o : wrf_restartout.F
937 wrf_restartin.o : wrf_restartin.F
938 wrf_inputin.o : wrf_inputin.F
939 wrf_inputout.o : wrf_inputout.F
940 wrf_histin.o : wrf_histin.F
941 wrf_histout.o : wrf_histout.F
942 shift_domain_em.o : shift_domain_em.F
943 module_io_mm5.o : module_io_mm5.F
944 module_si_io.o : module_si_io.F
945 module_io_wrf.o : module_io_wrf.F
946 module_domain.o : module_domain.F
947 module_start.o : module_start.F
948 module_initialize.o : module_initialize.F
949 module_initialize_b_wave.o : module_initialize_b_wave.F
950 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
951 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
952 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
953 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
954 module_initialize_real.o : module_initialize_real.F
955 module_dm.o : module_dm.F
956 module_comm_dm.o : module_comm_dm.F
957 start_domain.o : start_domain.F
958 mediation_integrate.o : mediation_integrate.F
959 mediation_interp_domain.o : mediation_interp_domain.F
960 mediation_force_domain.o : mediation_force_domain.F
961 mediation_feedback_domain.o : mediation_feedback_domain.F
962 convert_nmm.o : convert_nmm.F
963 module_configure.o : module_configure.F
964 solve_interface.o : solve_interface.F
965 solve_em.o : solve_em.F
966 solve_nmm.o : solve_nmm.F
967 module_integrate.o : module_integrate.F
969 wrf_bdyout.o wrf_bdyin.o \
970 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
971 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
972 module_start.o module_initialize.o module_initialize_b_wave.o  \
973 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
974 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
975 module_initialize_real.o module_dm.o module_comm_dm.o \
976 mediation_integrate.o \
977 mediation_interp_domain.o \
978 module_configure.o                                             \
979 solve_interface.o                                              \
980 shift_domain_em.o                                              \
981 solve_em.o                                                      \
982 solve_nmm.o                                                     \
983 convert_nmm.o :
984         $(RM) $@
985         $(SED_FTN) $*.F > $*.b 
986         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
987         $(RM) $*.b
988         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
990 # to prevent having to call our service representative
991 mediation_feedback_domain.o \
992 mediation_force_domain.o start_domain.o module_integrate.o :
993         $(RM) $@
994         $(SED_FTN) $*.F > $*.b
995         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
996         $(RM) $*.b
997         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
999 ###########################################################
1000 #ARCH   AIX                      (single-threaded, nesting, RSL_LITE w/o MPI)
1002 FC              =       xlf90_r
1003 SFC             =       $(FC)
1004 LD              =       xlf90_r
1005 CC              =       cc_r
1006 SCC             =       $(CC)
1007 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1008 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1009 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99 -DSTUBMPI
1010 FCOPTIM         =       -O2 -qarch=auto
1011 #FCOPTIM         =       -O3 -qhot
1012 FCDEBUG         =       # -qnoopt -qfullpath
1013 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w -DSTUBMPI #-qflttrap=zerodivide:invalid:enable -qsigtrap
1014 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1015 FCSUFFIX        =       -qsuffix=f=f90
1016 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1017 ESMF_LIB_FLAGS  =       -lC
1018 ESMF_IO_LIB     =       ESMFIOLIB
1019 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1020 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1021                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1022 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1023                         $(DA_ARCHFLAGS) \
1024                         CONFIGURE_NETCDF_FLAG \
1025                         -DLIMIT_ARGS -DNATIVE_MASSV
1026 PERL            =       CONFIGURE_PERL_PATH
1027 REGISTRY        =       Registry
1028 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
1029                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1030                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1031                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1032                         CONFIGURE_GRIB2_LIB \
1033                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1034                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
1036 LDFLAGS         =        CONFIGURE_LDFLAGS
1037 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1038 CPP             =       /lib/cpp -C -P
1039 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1040 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1041 AR              =       ar ru
1042 M4              =       m4 -B 14000
1043 RANLIB          =       ranlib
1044 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1045 CC_TOOLS        =       cc
1047 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1049 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1050         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1052 wrfio_nf : 
1053         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1055 wrfio_int : 
1056         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1057           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1059 wrfio_grib_share :
1060         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1061           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1063 wrfio_grib1 :
1064         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1065           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1067 wrfio_grib2 :
1068         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1069           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1071 esmf_time : 
1072         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1073           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1075 fftpack :
1076         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1077           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1079 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1080         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1082 # compile these without high optimization to speed compile
1083 wrf_bdyout.o : wrf_bdyout.F
1084 wrf_bdyin.o : wrf_bdyin.F
1085 wrf_restartout.o : wrf_restartout.F
1086 wrf_restartin.o : wrf_restartin.F
1087 wrf_inputin.o : wrf_inputin.F
1088 wrf_inputout.o : wrf_inputout.F
1089 wrf_histin.o : wrf_histin.F
1090 wrf_histout.o : wrf_histout.F
1091 shift_domain_em.o : shift_domain_em.F
1092 module_io_mm5.o : module_io_mm5.F
1093 module_si_io.o : module_si_io.F
1094 module_io_wrf.o : module_io_wrf.F
1095 module_domain.o : module_domain.F
1096 module_start.o : module_start.F
1097 module_initialize.o : module_initialize.F
1098 module_initialize_b_wave.o : module_initialize_b_wave.F
1099 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1100 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1101 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1102 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1103 module_initialize_real.o : module_initialize_real.F
1104 module_dm.o : module_dm.F
1105 module_comm_dm.o : module_comm_dm.F
1106 start_domain.o : start_domain.F
1107 mediation_integrate.o : mediation_integrate.F
1108 mediation_interp_domain.o : mediation_interp_domain.F
1109 mediation_force_domain.o : mediation_force_domain.F
1110 mediation_feedback_domain.o : mediation_feedback_domain.F
1111 convert_nmm.o : convert_nmm.F
1112 module_configure.o : module_configure.F
1113 solve_interface.o : solve_interface.F
1114 solve_em.o : solve_em.F
1115 solve_nmm.o : solve_nmm.F
1116 module_integrate.o : module_integrate.F
1118 wrf_bdyout.o wrf_bdyin.o \
1119 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1120 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1121 module_start.o module_initialize.o module_initialize_b_wave.o  \
1122 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1123 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1124 module_initialize_real.o module_dm.o module_comm_dm.o \
1125 mediation_integrate.o \
1126 mediation_interp_domain.o \
1127 module_configure.o                                             \
1128 solve_interface.o                                              \
1129 shift_domain_em.o                                              \
1130 solve_em.o                                                      \
1131 solve_nmm.o                                                     \
1132 convert_nmm.o :
1133         $(RM) $@
1134         $(SED_FTN) $*.F > $*.b 
1135         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1136         $(RM) $*.b
1137         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1139 # to prevent having to call our service representative
1140 mediation_feedback_domain.o \
1141 mediation_force_domain.o start_domain.o module_integrate.o :
1142         $(RM) $@
1143         $(SED_FTN) $*.F > $*.b
1144         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1145         $(RM) $*.b
1146         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1148 ###########################################################
1149 #ARCH   AIX SM                   (OpenMP, no nesting)
1151 OMP             =       -qsmp=noauto:noopt
1152 OMPCPP          =       -D_OPENMP
1153 FC              =       xlf90_r
1154 SFC             =       $(FC)
1155 LD              =       xlf90_r
1156 CC              =       cc_r
1157 SCC             =       $(CC)
1158 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1159 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1160 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99
1161 FCOPTIM         =       -O2 -qarch=auto
1162 #FCOPTIM         =       -O3 -qhot
1163 FCDEBUG         =       # -qnoopt -qfullpath
1164 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1165 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1166 FCSUFFIX        =       -qsuffix=f=f90
1167 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1168 ESMF_LIB_FLAGS  =       -lC
1169 ESMF_IO_LIB     =       ESMFIOLIB
1170 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1171 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1172                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1173 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1174                         $(DA_ARCHFLAGS) \
1175                         CONFIGURE_NETCDF_FLAG \
1176                         -DLIMIT_ARGS  -DNATIVE_MASSV
1177 PERL            =       CONFIGURE_PERL_PATH
1178 REGISTRY        =       Registry
1179 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1180                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1181                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1182                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1183                         CONFIGURE_GRIB2_LIB \
1184                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1185                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
1186 LDFLAGS         =       $(OMP) CONFIGURE_LDFLAGS
1187 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1188 CPP             =       /lib/cpp -C -P
1189 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1190 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1191 AR              =       ar ru
1192 M4              =       m4 -B 14000
1193 RANLIB          =       ranlib
1194 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1195 CC_TOOLS        =       $(CC)
1197 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
1199 module_dm.F :
1200         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1202 wrfio_nf : 
1203         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1205 wrfio_int : 
1206         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1207           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1209 wrfio_grib_share :
1210         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1211           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1213 wrfio_grib1 :
1214         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1215           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1217 wrfio_grib2 :
1218         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1219           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1221 esmf_time : 
1222         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1223           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1225 fftpack :
1226         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1227           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1229 module_sm.o     : module_sm.F
1230 module_tiles.o  : module_tiles.F
1231 solve_em.o      : solve_em.F
1232 solve_exp.o     : solve_exp.F
1233 convert_nmm.o   : convert_nmm.F
1235 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1236         $(RM) $@
1237         $(SED_FTN) $*.F > $*.b 
1238         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
1239         $(RM) $*.b
1240         $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1242 #       Compiled WITHOUT ANY SMP, needed Mar 2005
1243 module_domain.o : module_domain.F
1244         $(RM) $@
1245         $(SED_FTN) $*.F > $*.b
1246         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1247         $(RM) $*.b
1248         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1250 # compile these without high optimization to speed compile
1251 wrf_bdyout.o : wrf_bdyout.F
1252 wrf_bdyin.o : wrf_bdyin.F
1253 wrf_restartout.o : wrf_restartout.F
1254 wrf_restartin.o : wrf_restartin.F
1255 wrf_inputin.o : wrf_inputin.F
1256 wrf_inputout.o : wrf_inputout.F
1257 wrf_histin.o : wrf_histin.F
1258 wrf_histout.o : wrf_histout.F
1259 shift_domain_em.o : shift_domain_em.F
1260 module_io_mm5.o : module_io_mm5.F
1261 module_si_io.o : module_si_io.F
1262 module_io_wrf.o : module_io_wrf.F
1263 module_start.o : module_start.F
1264 module_initialize.o : module_initialize.F
1265 module_initialize_b_wave.o : module_initialize_b_wave.F
1266 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1267 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1268 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1269 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1270 module_initialize_real.o : module_initialize_real.F
1271 module_dm.o : module_dm.F
1272 module_comm_dm.o : module_comm_dm.F
1273 start_domain.o : start_domain.F
1274 mediation_integrate.o : mediation_integrate.F
1275 mediation_interp_domain.o : mediation_interp_domain.F
1276 mediation_force_domain.o : mediation_force_domain.F
1277 mediation_feedback_domain.o : mediation_feedback_domain.F
1278 convert_nmm.o : convert_nmm.F
1279 module_configure.o : module_configure.F
1280 solve_interface.o : solve_interface.F
1281 module_integrate.o : module_integrate.F
1283 wrf_bdyout.o wrf_bdyin.o \
1284 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1285 module_io_mm5.o module_si_io.o module_io_wrf.o \
1286 module_start.o module_initialize.o module_initialize_b_wave.o  \
1287 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1288 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1289 module_initialize_real.o module_dm.o module_comm_dm.o \
1290 mediation_integrate.o \
1291 mediation_interp_domain.o \
1292 module_configure.o                                             \
1293 solve_interface.o                                              \
1294 shift_domain_em.o                                              \
1295 convert_nmm.o :
1296         $(RM) $@
1297         $(SED_FTN) $*.F > $*.b
1298         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1299         $(RM) $*.b
1300         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1302 ###########################################################
1303 #ARCH   AIX SM                   (OpenMP, nesting, RSL_LITE w/o MPI)
1305 OMP             =       -qsmp=noauto:noopt
1306 OMPCPP          =       -D_OPENMP
1307 FC              =       xlf90_r
1308 SFC             =       $(FC)
1309 LD              =       xlf90_r
1310 CC              =       cc_r
1311 SCC             =       $(CC)
1312 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1313 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1314 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99 -DSTUBMPI
1315 FCOPTIM         =       -O2 -qarch=auto
1316 #FCOPTIM         =       -O3 -qhot
1317 FCDEBUG         =       # -qnoopt -qfullpath
1318 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -DSTUBMPI #-qflttrap=zerodivide:invalid:enable -qsigtrap
1319 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1320 FCSUFFIX        =       -qsuffix=f=f90
1321 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1322 ESMF_LIB_FLAGS  =       -lC
1323 ESMF_IO_LIB     =       ESMFIOLIB
1324 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1325 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1326                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1327 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1328                         $(DA_ARCHFLAGS) \
1329                         CONFIGURE_NETCDF_FLAG \
1330                         -DLIMIT_ARGS -DNATIVE_MASSV
1331 PERL            =       CONFIGURE_PERL_PATH
1332 REGISTRY        =       Registry
1333 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1334                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1335                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1336                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1337                         CONFIGURE_GRIB2_LIB \
1338                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1339                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
1340 LDFLAGS         =       $(OMP) CONFIGURE_LDFLAGS
1341 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1342 CPP             =       /lib/cpp -C -P
1343 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1344 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1345 AR              =       ar ru
1346 M4              =       m4 -B 14000
1347 RANLIB          =       ranlib
1348 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1349 CC_TOOLS        =       $(CC)
1351 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1353 module_dm.F :  $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1354         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1356 wrfio_nf : 
1357         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1359 wrfio_int : 
1360         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1361           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1363 wrfio_grib_share :
1364         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1365           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1367 wrfio_grib1 :
1368         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1369           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1371 wrfio_grib2 :
1372         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1373           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1375 esmf_time : 
1376         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1377           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1379 fftpack :
1380         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1381           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1383 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1384         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1386 module_sm.o     : module_sm.F
1387 module_tiles.o  : module_tiles.F
1388 solve_em.o      : solve_em.F
1389 solve_exp.o     : solve_exp.F
1390 convert_nmm.o   : convert_nmm.F
1392 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1393         $(RM) $@
1394         $(SED_FTN) $*.F > $*.b 
1395         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
1396         $(RM) $*.b
1397         $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1399 #       Compiled WITHOUT ANY SMP, needed Mar 2005
1400 module_domain.o : module_domain.F
1401         $(RM) $@
1402         $(SED_FTN) $*.F > $*.b
1403         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1404         $(RM) $*.b
1405         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1407 # compile these without high optimization to speed compile
1408 wrf_bdyout.o : wrf_bdyout.F
1409 wrf_bdyin.o : wrf_bdyin.F
1410 wrf_restartout.o : wrf_restartout.F
1411 wrf_restartin.o : wrf_restartin.F
1412 wrf_inputin.o : wrf_inputin.F
1413 wrf_inputout.o : wrf_inputout.F
1414 wrf_histin.o : wrf_histin.F
1415 wrf_histout.o : wrf_histout.F
1416 shift_domain_em.o : shift_domain_em.F
1417 module_io_mm5.o : module_io_mm5.F
1418 module_si_io.o : module_si_io.F
1419 module_io_wrf.o : module_io_wrf.F
1420 module_start.o : module_start.F
1421 module_initialize.o : module_initialize.F
1422 module_initialize_b_wave.o : module_initialize_b_wave.F
1423 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1424 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1425 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1426 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1427 module_initialize_real.o : module_initialize_real.F
1428 module_dm.o : module_dm.F
1429 module_comm_dm.o : module_comm_dm.F
1430 start_domain.o : start_domain.F
1431 mediation_integrate.o : mediation_integrate.F
1432 mediation_interp_domain.o : mediation_interp_domain.F
1433 mediation_force_domain.o : mediation_force_domain.F
1434 mediation_feedback_domain.o : mediation_feedback_domain.F
1435 convert_nmm.o : convert_nmm.F
1436 module_configure.o : module_configure.F
1437 solve_interface.o : solve_interface.F
1438 module_integrate.o : module_integrate.F
1440 wrf_bdyout.o wrf_bdyin.o \
1441 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1442 module_io_mm5.o module_si_io.o module_io_wrf.o \
1443 module_start.o module_initialize.o module_initialize_b_wave.o  \
1444 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1445 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1446 module_initialize_real.o module_dm.o module_comm_dm.o \
1447 mediation_integrate.o \
1448 mediation_interp_domain.o \
1449 module_configure.o                                             \
1450 solve_interface.o                                              \
1451 shift_domain_em.o                                              \
1452 convert_nmm.o :
1453         $(RM) $@
1454         $(SED_FTN) $*.F > $*.b
1455         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1456         $(RM) $*.b
1457         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1459 ###########################################################
1460 #ARCH   AIX DM-Parallel          (RSL_LITE, IBM-MPI, Allows nesting)
1462 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1463 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1465 DMPARALLEL      =       1
1466 SFC             =       xlf90_r
1467 SCC             =       cc_r
1468 FC              =       mpxlf90_r
1469 LD              =       mpxlf90_r
1470 CC              =       mpcc_r
1471 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1472 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1473 CFLAGS          =       -DNOUNDERSCORE  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL \
1474                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1475 FCOPTIM         =       -O2 -qarch=auto
1476 #FCOPTIM         =       -O3 -qhot
1477 FCDEBUG         =       # -qnoopt -qfullpath
1478 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1479 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1480 FCSUFFIX        =       -qsuffix=f=f90
1481 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1482 ESMF_LIB_FLAGS  =       -lC
1483 ESMF_IO_LIB     =       ESMFIOLIB
1484 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1485 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_pnetcdf \
1486                         -I$(WRF_SRC_ROOT_DIR)/external/io_int $(ESMF_IO_INC) \
1487                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc $(ESMF_MOD_INC)
1488 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1489                         $(DA_ARCHFLAGS) \
1490                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1491                         -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1492                         -DLIMIT_ARGS  -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST) $(ESMF_IO_DEFS)
1493 PERL            =       perl
1494 REGISTRY        =       Registry
1495 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1496                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1497                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv \
1498                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int  \
1499                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1500                         CONFIGURE_GRIB2_LIB \
1501                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1502                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o $(ESMF_IO_LIB)
1503 LDFLAGS         =        CONFIGURE_LDFLAGS
1504 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1505 CPP             =       /lib/cpp
1506 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1507 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1508 MAX_PROC        =       1024
1509 AR              =       ar ru
1510 M4              =       m4 -B 14000
1511 RANLIB          =       ranlib
1512 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1513 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
1514 CC_TOOLS        =       cc
1516 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET) fftpack
1518 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1519         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1521 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1522         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1524 wrfio_nf : 
1525         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1527 wrfio_pnf : 
1528         ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1530 wrfio_int : 
1531         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1532           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1534 wrfio_grib_share :
1535         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1536           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1538 wrfio_grib1 :
1539         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1540           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1542 wrfio_grib2 :
1543         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1544           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1546 esmf_time : 
1547         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1548           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1550 fftpack :
1551         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1552           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1554 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1555         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1557 # compile these without high optimization
1558 wrf_bdyout.o : wrf_bdyout.F
1559 wrf_bdyin.o : wrf_bdyin.F
1560 wrf_restartout.o : wrf_restartout.F
1561 wrf_restartin.o : wrf_restartin.F
1562 wrf_inputin.o : wrf_inputin.F
1563 wrf_inputout.o : wrf_inputout.F
1564 wrf_histin.o : wrf_histin.F
1565 wrf_histout.o : wrf_histout.F
1566 module_configure.o : module_configure.F
1567 module_io_mm5.o : module_io_mm5.F
1568 module_si_io.o : module_si_io.F
1569 module_io_wrf.o : module_io_wrf.F
1570 module_domain.o : module_domain.F
1571 module_start.o : module_start.F
1572 module_initialize.o : module_initialize.F
1573 module_initialize_b_wave.o : module_initialize_b_wave.F
1574 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1575 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1576 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1577 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1578 module_initialize_real.o : module_initialize_real.F
1579 module_dm.o : module_dm.F
1580 module_comm_dm.o : module_comm_dm.F
1581 start_domain.o : start_domain.F
1582 mediation_integrate.o : mediation_integrate.F
1583 mediation_interp_domain.o : mediation_interp_domain.F
1584 mediation_force_domain.o : mediation_force_domain.F
1585 mediation_feedback_domain.o : mediation_feedback_domain.F
1586 convert_nmm.o : convert_nmm.F
1587 solve_interface.o : solve_interface.F
1588 shift_domain_em.o : shift_domain_em.F
1589 solve_em.o : solve_em.F
1590 solve_nmm.o : solve_nmm.F
1592 wrf_bdyout.o wrf_bdyin.o \
1593 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1594 module_configure.o module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1595 module_start.o module_initialize.o module_initialize_b_wave.o  \
1596 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1597 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1598 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1599 mediation_force_domain.o \
1600 mediation_integrate.o \
1601 mediation_interp_domain.o \
1602 mediation_feedback_domain.o \
1603 solve_interface.o                                              \
1604 shift_domain_em.o                                              \
1605 solve_em.o                                              \
1606 solve_nmm.o                                                     \
1607 convert_nmm.o    :
1608         $(RM) $@
1609         $(SED_FTN) $*.F > $*.b 
1610         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1611         $(RM) $*.b
1612         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1614 ###########################################################
1615 #ARCH   AIX DM-Parallel          (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5)
1617 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1618 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1620 DMPARALLEL      =       1
1621 SFC             =       xlf90_r
1622 SCC             =       cc_r
1623 FC              =       mpxlf90_r
1624 LD              =       mpxlf90_r
1625 CC              =       mpcc_r
1626 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1627 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1628 CFLAGS          =       -DNOUNDERSCORE  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL  \
1629                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1630 FCOPTIM         =       -O2 -qarch=auto 
1631 #FCOPTIM         =       -O3 -qhot
1632 FCDEBUG         =       # -qnoopt -qfullpath
1633 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1634 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1635 FCSUFFIX        =       -qsuffix=f=f90
1636 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1637 ESMF_LIB_FLAGS  =       -lC
1638 ESMF_IO_LIB     =       ESMFIOLIB
1639 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1640 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf  -I$(WRF_SRC_ROOT_DIR)/external/io_phdf5 -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1641                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
1642 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1643                         $(DA_ARCHFLAGS) \
1644                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1645                         -DLIMIT_ARGS  -DNATIVE_MASSV
1646 PERL            =       perl
1647 REGISTRY        =       Registry
1648 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv \
1649                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1650                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int  \
1651                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1652                         CONFIGURE_GRIB2_LIB \
1653                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1654                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
1655 LDFLAGS         =        CONFIGURE_LDFLAGS
1656 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1657 CPP             =       /lib/cpp
1658 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1659 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1660 MAX_PROC        =       1024
1661 AR              =       ar ru
1662 M4              =       m4 -B 14000
1663 RANLIB          =       ranlib
1664 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1665 CC_TOOLS        =       cc
1667 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
1669 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1670         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1672 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1673         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1675 wrfio_nf : 
1676         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1678 wrfio_phdf5 : 
1679         ( cd $(WRF_SRC_ROOT_DIR)/external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc )
1681 wrfio_int : 
1682         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1683           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1685 wrfio_grib_share :
1686         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1687           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1689 wrfio_grib1 :
1690         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1691           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1693 wrfio_grib2 :
1694         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1695           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1697 esmf_time : 
1698         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1699           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1701 fftpack :
1702         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1703           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1705 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1706         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1708 # compile these without high optimization
1709 wrf_bdyout.o : wrf_bdyout.F
1710 wrf_bdyin.o : wrf_bdyin.F
1711 wrf_restartout.o : wrf_restartout.F
1712 wrf_restartin.o : wrf_restartin.F
1713 wrf_inputin.o : wrf_inputin.F
1714 wrf_inputout.o : wrf_inputout.F
1715 wrf_histin.o : wrf_histin.F
1716 wrf_histout.o : wrf_histout.F
1717 module_configure.o : module_configure.F
1718 module_io_mm5.o : module_io_mm5.F
1719 module_si_io.o : module_si_io.F
1720 module_io_wrf.o : module_io_wrf.F
1721 module_domain.o : module_domain.F
1722 module_start.o : module_start.F
1723 module_initialize.o : module_initialize.F
1724 module_initialize_b_wave.o : module_initialize_b_wave.F
1725 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1726 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1727 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1728 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1729 module_initialize_real.o : module_initialize_real.F
1730 module_dm.o : module_dm.F
1731 module_comm_dm.o : module_comm_dm.F
1732 start_domain.o : start_domain.F
1733 mediation_integrate.o : mediation_integrate.F
1734 mediation_interp_domain.o : mediation_interp_domain.F
1735 mediation_force_domain.o : mediation_force_domain.F
1736 mediation_feedback_domain.o : mediation_feedback_domain.F
1737 convert_nmm.o : convert_nmm.F
1738 solve_interface.o : solve_interface.F
1739 shift_domain_em.o : shift_domain_em.F
1740 solve_em.o : solve_em.F
1741 solve_nmm.o : solve_nmm.F
1743 wrf_bdyout.o wrf_bdyin.o \
1744 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1745 module_configure.o module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1746 module_start.o module_initialize.o module_initialize_b_wave.o  \
1747 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1748 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1749 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1750 mediation_force_domain.o \
1751 mediation_integrate.o \
1752 mediation_interp_domain.o \
1753 mediation_feedback_domain.o \
1754 solve_interface.o                                              \
1755 shift_domain_em.o                                              \
1756 solve_em.o                                              \
1757 solve_nmm.o                                                     \
1758 convert_nmm.o    :
1759         $(RM) $@
1760         $(SED_FTN) $*.F > $*.b 
1761         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1762         $(RM) $*.b
1763         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1765 ###########################################################
1766 #ARCH   AIX DM-Parallel          (RSL_LITE, IBM-MPI, MCEL)   May 2003, EXPERIMENTAL
1768 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1769 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1771 DMPARALLEL      =       1
1772 SFC             =       xlf90_r
1773 SCC             =       cc_r
1774 FC              =       mpxlf90_r
1775 LD              =       mpCC_r
1776 CC              =       mpcc_r
1777 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1778 MCELHOME        =       /home/bluesky/bettenc/disttest
1779 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1780 CFLAGS          =       -DNOUNDERSCORE  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DDM_PARALLEL  \
1781                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1782 FCOPTIM         =       -O2 -qarch=auto
1783 FCDEBUG         =       # -qnoopt -qfullpath
1784 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1785 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1786 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1787 ESMF_LIB_FLAGS  =       -lC
1788 ESMF_IO_LIB     =       ESMFIOLIB
1789 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1790 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1791                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1792 ARCHFLAGS       =       -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1793                         $(DA_ARCHFLAGS) \
1794                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DTRIEDNTRUE   -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \
1795                          -DNATIVE_MASSV
1796 PERL            =       perl
1797 REGISTRY        =       Registry
1798 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
1799                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1800                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1801                         CONFIGURE_GRIB2_LIB \
1802                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1803                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -lmass -lmassv -lxlsmp \
1804                         -L$(WRF_SRC_ROOT_DIR)/external/io_mcel -lwrfio_mcel  \
1805 -L$(MCELHOME)/MCELSystem/MCEL -lMCEL  \
1806 -L$(MCELHOME)/lib -lomniORB4  \
1807 -lomnithread -lomniDynamic4  -lnetcdf_c++ -lnetcdf  -lxlf90 -lxlopt  \
1808                         -lxlf -lxlomp_ser -lm -lc -lpthread \
1809                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int  \
1810                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
1811 LDFLAGS         =        CONFIGURE_LDFLAGS
1812 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1813 CPP             =       /lib/cpp
1814 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1815 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1816 MAX_PROC        =       1024
1817 AR              =       ar ru
1818 M4              =       m4 -B 14000
1819 RANLIB          =       ranlib
1820 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1821 CC_TOOLS        =       cc
1823 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time fftpack
1825 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1826         ( cat $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c > $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1828 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1829         ( cat module_dm_warning $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F > module_dm.F )
1831 wrfio_nf : 
1832         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1833           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1835 wrfio_int : 
1836         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1837           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1839 wrfio_grib_share :
1840         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1841           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
1843 wrfio_grib1 :
1844         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1845           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive )
1847 wrfio_grib2 :
1848         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1849           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1851 esmf_time : 
1852         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1853           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1855 fftpack :
1856         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1857           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1859 wrfio_mcel : 
1860         ( cd $(WRF_SRC_ROOT_DIR)/external/io_mcel ; \
1861           make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I$(WRF_SRC_ROOT_DIR)/inc -I../io_netcdf -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share \
1862                -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all )
1865 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1866         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1868 # compile these without high optimization
1869 module_configure.o : module_configure.F
1870 module_io_mm5.o : module_io_mm5.F
1871 module_si_io.o : module_si_io.F
1872 module_io_wrf.o : module_io_wrf.F
1873 module_domain.o : module_domain.F
1874 module_start.o : module_start.F
1875 module_initialize.o : module_initialize.F
1876 module_initialize_b_wave.o : module_initialize_b_wave.F
1877 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1878 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1879 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1880 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1881 module_initialize_real.o : module_initialize_real.F
1882 module_dm.o : module_dm.F
1883 module_comm_dm.o : module_comm_dm.F
1884 start_domain.o : start_domain.F
1885 mediation_integrate.o : mediation_integrate.F
1886 mediation_interp_domain.o : mediation_interp_domain.F
1887 mediation_force_domain.o : mediation_force_domain.F
1888 mediation_feedback_domain.o : mediation_feedback_domain.F
1889 convert_nmm.o : convert_nmm.F
1890 solve_interface.o : solve_interface.F
1891 shift_domain_em.o : shift_domain_em.F
1892 solve_em.o : solve_em.F
1894 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1895 module_start.o module_initialize.o module_initialize_b_wave.o  \
1896 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1897 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1898 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
1899 module_configure.o \
1900 mediation_force_domain.o \
1901 mediation_integrate.o \
1902 mediation_interp_domain.o \
1903 mediation_feedback_domain.o \
1904 solve_interface.o                                              \
1905 shift_domain_em.o                                              \
1906 solve_em.o                                              \
1907 convert_nmm.o :
1908         $(RM) $@
1909         $(SED_FTN) $*.F > $*.b 
1910         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f
1911         $(RM) $*.b
1912         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f
1914 ###########################################################
1915 #ARCH       Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI) 
1917 # from sheeba
1918 BGL_SYS         =       /bgl/BlueLight/ppcfloor/bglsys
1919 MPI_INC         =       -I$(BGL_SYS)/include
1920 MPI_LIB         =       -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
1921 TRACE_LIB       =       -L/contrib/bgl/mpi_trace  -lmpitrace_c
1923 SFC              =      blrts_xlf90
1924 SCC             =       blrts_xlc
1925 DMPARALLEL      =       1
1926 FC              =       $(SFC)
1927 LD              =       $(FC)
1928 CC              =       $(SCC)
1930 RWORDSIZE       =       CONFIGURE_RWORDSIZE
1931 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1932 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DLANDREAD_STUB -DDM_PARALLEL
1933 FCOPTIM         =       -O2 -qarch=440
1934 FCDEBUG         =       # -qnoopt -qfullpath -qarch=440
1936 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=64000  $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
1937 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1939 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_pnetcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1940                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc 
1942 ARCHFLAGS       =       $(COREDEFS) -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1943                         $(DA_ARCHFLAGS) \
1944                         CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1945                         -DLIMIT_ARGS  -DNATIVE_MASSV -DLANDREAD_STUB
1947 PERL            =       perl
1948 REGISTRY        =       Registry
1949 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1950                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1951                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
1952                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1953                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1954                         -L/home/michalak/fftpack5 -lfftpack \
1955                         $(TRACE_LIB) $(MPI_LIB)
1957 LDFLAGS         =       -Wl,--allow-multiple-definition -qstatic
1958 ENVCOMPDEFS     =       
1959 WRF_CHEM        =       0 
1960 CPP             =       /opt/ibmcmp/xlf/9.1/exe/cpp
1961 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1962 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1963 AR              =       ar ru
1964 #### this is a hand installed version of m4 on frost.ucar.edu
1965 #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
1966 M4              =       /home/janicec/m4 -B 12000
1967 RANLIB          =       ranlib
1968 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1969 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
1970 CC_TOOLS        =       cc
1971 WRF_CONVERT = 0
1973 externals : wrf_ioapi_includes $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c fftpack
1975 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1976         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1978 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1979         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1981 wrfio_nf : 
1982         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1984 wrfio_pnf :
1985         ( cd $(WRF_SRC_ROOT_DIR)/external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1987 wrfio_int : 
1988         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1989           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1991 wrfio_grib1 :
1992         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1993           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1995 esmf_time : 
1996         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1997           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1999 fftpack :
2000         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2001           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2003 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2004         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2006 solve_interface.o : solve_interface.F
2007         $(RM) $@
2008         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
2009         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
2011 # compile these without high optimization to speed compile
2012 wrf_bdyout.o : wrf_bdyout.F
2013 wrf_bdyin.o : wrf_bdyin.F
2014 wrf_restartout.o : wrf_restartout.F
2015 wrf_restartin.o : wrf_restartin.F
2016 wrf_inputin.o : wrf_inputin.F
2017 wrf_inputout.o : wrf_inputout.F
2018 wrf_histin.o : wrf_histin.F
2019 wrf_histout.o : wrf_histout.F
2020 shift_domain_em.o : shift_domain_em.F
2021 module_io_mm5.o : module_io_mm5.F
2022 module_si_io.o : module_si_io.F
2023 module_io_wrf.o : module_io_wrf.F
2024 module_domain.o : module_domain.F
2025 module_start.o : module_start.F
2026 module_initialize.o : module_initialize.F
2027 module_initialize_b_wave.o : module_initialize_b_wave.F
2028 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2029 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2030 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2031 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2032 module_initialize_real.o : module_initialize_real.F
2033 module_dm.o : module_dm.F
2034 module_comm_dm.o : module_comm_dm.F
2035 start_domain.o : start_domain.F
2036 mediation_integrate.o : mediation_integrate.F
2037 mediation_interp_domain.o : mediation_interp_domain.F
2038 mediation_force_domain.o : mediation_force_domain.F
2039 mediation_feedback_domain.o : mediation_feedback_domain.F
2040 convert_nmm.o : convert_nmm.F
2041 module_configure.o : module_configure.F
2042 solve_em.o : solve_em.F
2043 start_em.o : start_em.F
2045 wrf_bdyout.o wrf_bdyin.o \
2046 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2047 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2048 module_start.o module_initialize.o module_initialize_b_wave.o  \
2049 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2050 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2051 module_initialize_real.o module_dm.o module_comm_dm.o \
2052 mediation_integrate.o \
2053 mediation_interp_domain.o \
2054 module_configure.o                                             \
2055 solve_em.o                                              \
2056 start_em.o                                              \
2057 shift_domain_em.o                                              \
2058 convert_nmm.o :
2059         $(RM) $@
2060         $(SED_FTN) $*.F > $*.b 
2061         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2062         $(RM) $*.b
2063         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
2065 # to prevent having to call our service representative
2066 mediation_feedback_domain.o \
2067 mediation_force_domain.o start_domain.o :
2068         $(RM) $@
2069         $(SED_FTN) $*.F > $*.b
2070         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2071         $(RM) $*.b
2072         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
2074 ###########################################################
2075 #ARCH       Compaq OSF1 alpha          (single-threaded, no nesting)
2077 OMP             =       
2078 OMPCPP          =       
2079 FC              =       f90
2080 SFC             =       $(FC)
2081 LD              =       f90
2082 CC              =       cc
2083 SCC             =       $(CC)
2084 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2085 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2086 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2087                         $(DA_ARCHFLAGS) \
2088                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2089                         -DLIMIT_ARGS -DFLOATSAFE
2090 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2091 CFLAGS          =       $(ARCHFLAGS)
2092 FCOPTIM         =       -fast -O4
2093 FCDEBUG         =       # -g
2094 FCDEBUG_ESMF    =       # -O0
2095 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2096 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2097 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2098 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2099 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2100 ESMF_LIB_FLAGS  =       
2101 ESMF_IO_LIB     =       ESMFIOLIB
2102 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2103 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2104                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2105 PERL            =       CONFIGURE_PERL_PATH
2106 REGISTRY        =       Registry
2107 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2108                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2109                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time  \
2110                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2111                         CONFIGURE_GRIB2_LIB \
2112                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2113 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2114 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2115 CPP             =       /usr/bin/cpp -C -P
2116 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2117 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2118 AR              =       ar ru
2119 M4              =       m4 -B 14000
2120 RANLIB          =       ranlib
2121 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2122 CC_TOOLS        =       cc
2124 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2126 module_dm.F :
2127         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2129 wrfio_nf : 
2130         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2131           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2133 wrfio_int : 
2134         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2135           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2137 wrfio_grib_share :
2138         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2139           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2141 wrfio_grib1 :
2142         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2143           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2145 wrfio_grib2 :
2146         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2147           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2149 esmf_time : 
2150         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2151           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2153 fftpack :
2154         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2155           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2157 nest_init_utils.o : nest_init_utils.F
2158 module_optional_si_input.o : module_optional_si_input.F
2160 nest_init_utils.o module_optional_si_input.o :
2161         $(RM) $@
2162         $(SED_FTN) $*.F > $*.b 
2163         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2164         $(RM) $*.b
2165         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2167 # compile these without high optimization to speed compile
2168 module_io_mm5.o : module_io_mm5.F
2169 module_si_io.o : module_si_io.F
2170 module_io_wrf.o : module_io_wrf.F
2171 module_domain.o : module_domain.F
2172 module_start.o : module_start.F
2173 module_initialize.o : module_initialize.F
2174 module_initialize_b_wave.o : module_initialize_b_wave.F
2175 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2176 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2177 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2178 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2179 module_initialize_real.o : module_initialize_real.F
2180 start_domain.o : start_domain.F
2181 module_configure.o : module_configure.F
2182 mediation_interp_domain.o : mediation_interp_domain.F
2183 mediation_force_domain.o : mediation_force_domain.F
2184 mediation_feedback_domain.o : mediation_feedback_domain.F
2186 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2187 module_start.o module_initialize.o module_initialize_b_wave.o  \
2188 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2189 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2190 module_configure.o                                             \
2191 mediation_interp_domain.o  \
2192 mediation_force_domain.o  \
2193 mediation_feedback_domain.o  \
2194 module_initialize_real.o start_domain.o :
2195         $(RM) $@
2196         $(SED_FTN) $*.F > $*.b 
2197         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2198         $(RM) $*.b
2199         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2201 mediation_integrate.o : mediation_integrate.F
2202 module_dm.o : module_dm.F
2203 module_comm_dm.o : module_comm_dm.F
2204 mediation_wrfmain.o : mediation_wrfmain.F
2205 solve_em.o : solve_em.F
2207 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o : 
2208         $(RM) $@
2209         $(SED_FTN) $*.F > $*.b
2210         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2211         $(RM) $*.b
2212         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2214 ###########################################################
2215 #ARCH       Compaq OSF1 alpha SM       (OpenMP, no nesting)
2217 OMP             =       -omp
2218 OMPCPP          =       -D_OPENMP
2219 FC              =       f90
2220 SFC             =       $(FC)
2221 LD              =       f90
2222 CC              =       cc
2223 SCC             =       $(CC)
2224 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2225 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2226 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2227                         $(DA_ARCHFLAGS) \
2228                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2229                         -DLIMIT_ARGS -DFLOATSAFE
2230 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2231 CFLAGS          =       $(ARCHFLAGS)
2232 FCOPTIM         =       -fast -O4
2233 FCDEBUG         =       # -g
2234 FCDEBUG_ESMF    =       # -O0
2235 FCREAL8OMP      =       -align records -align dcommons -granularity quadword
2236 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
2237 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
2238 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2239 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2240 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2241 ESMF_LIB_FLAGS  =       
2242 ESMF_IO_LIB     =       ESMFIOLIB
2243 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2244 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2245                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2246 PERL            =       CONFIGURE_PERL_PATH
2247 REGISTRY        =       Registry
2248 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2249                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2250                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2251                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2252                         CONFIGURE_GRIB2_LIB \
2253                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2254 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2255 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2256 CPP             =       /usr/bin/cpp -C -P
2257 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2258 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2259 AR              =       ar ru
2260 M4              =       m4 -B 14000
2261 RANLIB          =       ranlib
2262 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2263 CC_TOOLS        =       cc
2265 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2267 module_dm.F :
2268         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2270 wrfio_nf : 
2271         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2272           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
2274 wrfio_int : 
2275         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2276           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2278 wrfio_grib_share :
2279         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2280           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2282 wrfio_grib1 :
2283         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2284           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
2286 wrfio_grib2 :
2287         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2288           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
2290 esmf_time : 
2291         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2292           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2294 fftpack :
2295         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2296           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2298 nest_init_utils.o : nest_init_utils.F
2299 module_optional_si_input.o : module_optional_si_input.F
2301 nest_init_utils.o module_optional_si_input.o :
2302         $(RM) $@
2303         $(SED_FTN) $*.F > $*.b 
2304         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2305         $(RM) $*.b
2306         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2308 # compile these without high optimization to speed compile
2309 module_io_mm5.o : module_io_mm5.F
2310 module_si_io.o : module_si_io.F
2311 module_io_wrf.o : module_io_wrf.F
2312 module_domain.o : module_domain.F
2313 module_start.o : module_start.F
2314 module_initialize.o : module_initialize.F
2315 module_initialize_b_wave.o : module_initialize_b_wave.F
2316 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2317 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2318 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2319 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2320 module_initialize_real.o : module_initialize_real.F
2321 start_domain.o : start_domain.F
2322 module_configure.o : module_configure.F
2323 mediation_interp_domain.o : mediation_interp_domain.F
2324 mediation_force_domain.o : mediation_force_domain.F
2325 mediation_feedback_domain.o : mediation_feedback_domain.F
2327 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2328 module_start.o module_initialize.o module_initialize_b_wave.o  \
2329 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2330 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2331 module_configure.o                                             \
2332 mediation_interp_domain.o  \
2333 mediation_force_domain.o  \
2334 mediation_feedback_domain.o  \
2335 module_initialize_real.o start_domain.o :
2336         $(RM) $@
2337         $(SED_FTN) $*.F > $*.b 
2338         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2339         $(RM) $*.b
2340         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2342 mediation_integrate.o : mediation_integrate.F
2343 module_dm.o : module_dm.F
2344 module_comm_dm.o : module_comm_dm.F
2345 mediation_wrfmain.o : mediation_wrfmain.F
2346 solve_em.o : solve_em.F
2348 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o : 
2349         $(RM) $@
2350         $(SED_FTN) $*.F > $*.b
2351         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2352         $(RM) $*.b
2353         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2355 ###########################################################
2356 #ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows ARW and NMM nesting)
2358 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2359 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2361 DMPARALLEL      =       1
2362 OMP             =
2363 OMPCPP          =
2364 FC              =       mpif90
2365 SFC             =       f90
2366 LD              =       mpif90
2367 CC              =       mpicc
2368 SCC             =       cc
2369 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2370 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2371 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2372                         $(DA_ARCHFLAGS) \
2373                         -DDM_PARALLEL -DRSL_LITE \
2374                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2375                         -DLIMIT_ARGS -DFLOATSAFE \
2376                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
2377 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2378 CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2379 FCOPTIM         =       -fast -O4
2380 FCDEBUG         =       #-g
2381 FCDEBUG_ESMF    =       # -O0
2382 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2383 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2384 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2385 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2386 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2387 ESMF_LIB_FLAGS  =       
2388 ESMF_IO_LIB     =       ESMFIOLIB
2389 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2390 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2391                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2392 PERL            =       CONFIGURE_PERL_PATH
2393 REGISTRY        =       Registry
2394 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2395                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2396                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite  \
2397                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2398                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2399                         CONFIGURE_GRIB2_LIB \
2400                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2401 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2402 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2403 CPP             =       /usr/bin/cpp -C -P
2404 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2405 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2406 MAX_PROC        =       1024
2407 AR              =       ar ru
2408 M4              =       m4 -B 14000
2409 RANLIB          =       ranlib
2410 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2411 CC_TOOLS        =       cc
2413 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2415 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2416         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2417           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2419 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2420         ( /bin/cp module_dm_warning module_dm.F ; \
2421           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2423 wrfio_nf : 
2424         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2425           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2427 wrfio_int : 
2428         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2429           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2431 wrfio_grib_share :
2432         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2433           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2435 wrfio_grib1 :
2436         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2437           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2439 wrfio_grib2 :
2440         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2441           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2443 esmf_time : 
2444         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2445           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2447 fftpack :
2448         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2449           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2451 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2452         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2453           make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
2455 nest_init_utils.o : nest_init_utils.F
2456 module_optional_si_input.o : module_optional_si_input.F
2457 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
2459 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
2460         $(RM) $@
2461         $(SED_FTN) $*.F > $*.b 
2462         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2463         $(RM) $*.b
2464         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2466 # compile these without high optimization to speed compile
2467 module_io_mm5.o : module_io_mm5.F
2468 module_si_io.o : module_si_io.F
2469 module_io_wrf.o : module_io_wrf.F
2470 module_domain.o : module_domain.F
2471 module_start.o : module_start.F
2472 module_initialize.o : module_initialize.F
2473 module_initialize_b_wave.o : module_initialize_b_wave.F
2474 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2475 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2476 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2477 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2478 module_initialize_real.o : module_initialize_real.F
2479 start_domain.o : start_domain.F
2480 start_domain_nmm.o : start_domain_nmm.F
2481 module_configure.o : module_configure.F
2482 mediation_interp_domain.o : mediation_interp_domain.F
2483 mediation_force_domain.o : mediation_force_domain.F
2484 mediation_feedback_domain.o : mediation_feedback_domain.F
2486 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2487 module_start.o module_initialize.o module_initialize_b_wave.o  \
2488 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2489 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2490 module_configure.o                                             \
2491 mediation_interp_domain.o  \
2492 mediation_force_domain.o  \
2493 mediation_feedback_domain.o  \
2494 module_initialize_real.o start_domain.o start_domain_nmm.o :
2495         $(RM) $@
2496         $(SED_FTN) $*.F > $*.b 
2497         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2498         $(RM) $*.b
2499         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2501 mediation_integrate.o : mediation_integrate.F
2502 module_dm.o : module_dm.F
2503 module_comm_dm.o : module_comm_dm.F
2504 mediation_wrfmain.o : mediation_wrfmain.F
2505 solve_em.o : solve_em.F
2507 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o : 
2508         $(RM) $@
2509         $(SED_FTN) $*.F > $*.b
2510         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2511         $(RM) $*.b
2512         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2514 ###########################################################
2515 #ARCH       Compaq OSF1 alpha DM/SM    (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
2517 DMPARALLEL      =       1
2518 OMP             =
2519 OMPCPP          =
2520 FC              =       echo # mpif90
2521 SFC             =       echo # mpif90
2522 LD              =       echo # mpif90
2523 CC              =       echo # mpicc
2524 SCC             =       echo # cc
2525 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2526 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2527 ARCHFLAGS       =       $(COREDEFS) -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
2528                         $(DA_ARCHFLAGS) \
2529                         -DDM_PARALLEL="'<b>DM_PARALLEL</b>'" -DRSL_LITE="'<b>RSL_LITE</b>'" \
2530                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2531                         -DLIMIT_ARGS -DFLOATSAFE \
2532                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
2533 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2534 CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2535 FCOPTIM         =       -fast -O4
2536 FCDEBUG         =       # -g
2537 FCDEBUG_ESMF    =       # -O0
2538 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2539 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2540 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2541 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2542 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2543 ESMF_LIB_FLAGS  =       
2544 ESMF_IO_LIB     =       ESMFIOLIB
2545 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2546 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2547                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2548 PERL            =       CONFIGURE_PERL_PATH
2549 REGISTRY        =       Registry
2550 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2551                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2552                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
2553                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2554                         CONFIGURE_GRIB2_LIB \
2555                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2556                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
2557 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2558 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2559 CPP             =       /usr/bin/cpp -C -P
2560 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2561 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2562 MAX_PROC        =       1024
2563 AR              =       ar ru
2564 M4              =       m4 -B 14000
2565 RANLIB          =       ranlib
2566 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2567 CC_TOOLS        =       cc
2569 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2571 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2572         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2573           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2575 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2576         ( /bin/cp module_dm_warning module_dm.F ; \
2577           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2579 wrfio_nf : 
2580         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2581           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2583 wrfio_int : 
2584         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2585           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2587 wrfio_grib_share :
2588         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2589           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2591 wrfio_grib1 :
2592         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2593           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2595 wrfio_grib2 :
2596         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2597           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2599 esmf_time : 
2600         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2601           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2603 fftpack :
2604         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2605           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2607 $(WRF_SRC_ROOT_DIR)/external/RSL/RSL/librsl_lite.a :
2608         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2609           make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) all )
2611 # compile these without high optimization to speed compile
2612 module_io_mm5.o : module_io_mm5.F
2613 module_si_io.o : module_si_io.F
2614 module_io_wrf.o : module_io_wrf.F
2615 module_domain.o : module_domain.F
2616 module_start.o : module_start.F
2617 module_initialize.o : module_initialize.F
2618 module_initialize_b_wave.o : module_initialize_b_wave.F
2619 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2620 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2621 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2622 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2623 module_initialize_real.o : module_initialize_real.F
2624 start_domain.o : start_domain.F
2625 module_configure.o : module_configure.F
2627 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2628 module_start.o module_initialize.o module_initialize_b_wave.o  \
2629 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2630 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2631 module_configure.o                                             \
2632 module_initialize_real.o start_domain.o :
2633         $(RM) $@
2634         $(SED_FTN) $*.F > $*.b 
2635         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2636         $(RM) $*.b
2637         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2639 mediation_integrate.o : mediation_integrate.F
2640 module_dm.o : module_dm.F
2641 module_comm_dm.o : module_comm_dm.F
2642 mediation_wrfmain.o : mediation_wrfmain.F
2643 solve_em.o : solve_em.F
2645 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o : 
2646         $(RM) $@
2647         $(SED_FTN) $*.F > $*.b
2648         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2649         $(RM) $*.b
2650         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2652 ###########################################################
2653 #ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows ARW and NMM nesting, UNOPT shift_domain)
2655 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2656 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2658 DMPARALLEL      =       1
2659 OMP             =
2660 OMPCPP          =
2661 FC              =       mpif90
2662 SFC             =       f90
2663 LD              =       mpif90
2664 CC              =       mpicc
2665 SCC             =       cc
2666 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2667 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2668 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2669                         $(DA_ARCHFLAGS) \
2670                         -DDM_PARALLEL -DRSL_LITE \
2671                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2672                         -DLIMIT_ARGS -DFLOATSAFE \
2673                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
2674 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2675 CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
2676 FCOPTIM         =       -fast -O4
2677 FCDEBUG         =       #-g
2678 FCDEBUG_ESMF    =       # -O0
2679 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2680 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2681 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2682 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2683 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2684 ESMF_LIB_FLAGS  =       
2685 ESMF_IO_LIB     =       ESMFIOLIB
2686 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2687 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2688                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2689 PERL            =       CONFIGURE_PERL_PATH
2690 REGISTRY        =       Registry
2691 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2692                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2693                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite  \
2694                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
2695                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2696                         CONFIGURE_GRIB2_LIB \
2697                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
2698 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2699 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2700 CPP             =       /usr/bin/cpp -C -P
2701 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2702 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2703 MAX_PROC        =       1024
2704 AR              =       ar ru
2705 M4              =       m4 -B 14000
2706 RANLIB          =       ranlib
2707 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2708 CC_TOOLS        =       cc
2710 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
2712 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2713         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2714           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2716 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2717         ( /bin/cp module_dm_warning module_dm.F ; \
2718           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2720 wrfio_nf : 
2721         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2722           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2724 wrfio_int : 
2725         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2726           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2728 wrfio_grib_share :
2729         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2730           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2732 wrfio_grib1 :
2733         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2734           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2736 wrfio_grib2 :
2737         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2738           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
2740 esmf_time : 
2741         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2742           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2744 fftpack :
2745         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2746           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2748 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2749         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2750           make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
2752 nest_init_utils.o : nest_init_utils.F
2753 module_optional_si_input.o : module_optional_si_input.F
2754 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
2756 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
2757         $(RM) $@
2758         $(SED_FTN) $*.F > $*.b 
2759         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2760         $(RM) $*.b
2761         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2763 # compile these without high optimization to speed compile
2764 module_io_mm5.o : module_io_mm5.F
2765 module_si_io.o : module_si_io.F
2766 module_io_wrf.o : module_io_wrf.F
2767 module_domain.o : module_domain.F
2768 module_start.o : module_start.F
2769 module_initialize.o : module_initialize.F
2770 module_initialize_b_wave.o : module_initialize_b_wave.F
2771 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2772 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2773 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2774 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2775 module_initialize_real.o : module_initialize_real.F
2776 start_domain.o : start_domain.F
2777 start_domain_nmm.o : start_domain_nmm.F
2778 module_configure.o : module_configure.F
2779 mediation_interp_domain.o : mediation_interp_domain.F
2780 mediation_force_domain.o : mediation_force_domain.F
2781 mediation_feedback_domain.o : mediation_feedback_domain.F
2782 shift_domain_em.o : shift_domain_em.F
2784 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2785 module_start.o module_initialize.o module_initialize_b_wave.o  \
2786 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2787 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2788 module_configure.o                                             \
2789 mediation_interp_domain.o  \
2790 mediation_force_domain.o  \
2791 mediation_feedback_domain.o  \
2792 shift_domain_em.o \
2793 module_initialize_real.o start_domain.o start_domain_nmm.o :
2794         $(RM) $@
2795         $(SED_FTN) $*.F > $*.b 
2796         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2797         $(RM) $*.b
2798         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2800 mediation_integrate.o : mediation_integrate.F
2801 module_dm.o : module_dm.F
2802 module_comm_dm.o : module_comm_dm.F
2803 mediation_wrfmain.o : mediation_wrfmain.F
2804 solve_em.o : solve_em.F
2806 mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o : 
2807         $(RM) $@
2808         $(SED_FTN) $*.F > $*.b
2809         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2810         $(RM) $*.b
2811         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2813 ###########################################################
2814 #ARCH       Alpha Linux alpha DM  (single-threaded, no nesting)
2816 FC              =       fort
2817 SFC             =       $(FC)
2818 LD              =       fort
2819 CC              =       cc
2820 SCC             =       $(CC)
2821 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2822 PROMOTION       =       -r$(RWORDSIZE) -i4
2823 CFLAGS          =       -DF2CSTYLE 
2824 FCOPTIM         =       -fast -O4
2825 FCDEBUG         =       # -g
2826 FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
2827 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
2828                         -arch host $(FCDEBUG)
2829 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2830 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2831                         $(DA_ARCHFLAGS) \
2832                         CONFIGURE_NETCDF_FLAG 
2833 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2834 ESMF_LIB_FLAGS  =       
2835 ESMF_IO_LIB     =       ESMFIOLIB
2836 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2837 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2838                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2839 PERL            =       CONFIGURE_PERL_PATH
2840 REGISTRY        =       Registry
2841 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2842                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2843                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2844                         CONFIGURE_GRIB2_LIB \
2845                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2846                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o  -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
2847 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
2848 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2849 CPP             =       /lib/cpp -C -P
2850 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2851 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional  $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2852 AR              =       ar ru
2853 M4              =       m4 -B 14000
2854 RANLIB          =       ranlib
2855 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2856 CC_TOOLS        =       cc
2858 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2860 module_dm.F :
2861         ( /bin/cp module_dm_warning module_dm.F ; \
2862           cat  module_dm_stubs.F >> module_dm.F )
2864 wrfio_nf : 
2865         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2866           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
2868 wrfio_int : 
2869         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2870           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2871           TRADFLAG="-traditional" all )
2873 wrfio_grib_share :
2874         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2875           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2876           TRADFLAG="-traditional" archive)
2878 wrfio_grib1 : 
2879         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2880           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2881           TRADFLAG="-traditional" archive )
2883 wrfio_grib2 : 
2884         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2885           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2886           TRADFLAG="-traditional" archive )
2888 esmf_time : 
2889         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2890           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2892 fftpack :
2893         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2894           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2896 # compile these without high optimization to speed compile
2897 module_io_mm5.o : module_io_mm5.F
2898 module_si_io.o : module_si_io.F
2899 module_io_wrf.o : module_io_wrf.F
2900 module_domain.o : module_domain.F
2901 module_start.o : module_start.F
2902 module_initialize.o : module_initialize.F
2903 module_initialize_b_wave.o : module_initialize_b_wave.F
2904 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2905 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2906 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2907 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2908 module_initialize_real.o : module_initialize_real.F
2909 module_dm.o : module_dm.F
2910 module_comm_dm.o : module_comm_dm.F
2911 start_domain.o : start_domain.F
2912 module_configure.o : module_configure.F
2914 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2915 module_start.o module_initialize.o module_initialize_b_wave.o  \
2916 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2917 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2918 module_configure.o                                             \
2919 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
2920         $(RM) $@
2921         $(SED_FTN) $*.F > $*.b 
2922         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2923         $(RM) $*.b
2924         $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
2926 ###########################################################
2927 #ARCH       Alpha Linux alpha SM  (DOES NOT WORK ON JET! No nesting)
2929 FC              =       fort
2930 SFC             =       $(FC)
2931 LD              =       fort
2932 CC              =       cc
2933 SCC             =       $(CC)
2934 RWORDSIZE       =       CONFIGURE_RWORDSIZE
2935 PROMOTION       =       -r$(RWORDSIZE) -i4
2936 CFLAGS          =       -DF2CSTYLE 
2937 FCOPTIM         =       -fast -O4
2938 FCDEBUG         =       # -g
2939 FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
2940 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
2941                         -arch host $(FCDEBUG)
2942 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2943 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2944                         $(DA_ARCHFLAGS) \
2945                         CONFIGURE_NETCDF_FLAG 
2946 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2947 ESMF_LIB_FLAGS  =       
2948 ESMF_IO_LIB     =       ESMFIOLIB
2949 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2950 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2951                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2952 PERL            =       CONFIGURE_PERL_PATH
2953 REGISTRY        =       Registry
2954 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2955                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2956                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2957                         CONFIGURE_GRIB2_LIB \
2958                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2959                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o  -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
2960 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
2961 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2962 CPP             =       /lib/cpp -C -P
2963 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2964 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2965 AR              =       ar ru
2966 M4              =       m4 -B 14000
2967 RANLIB          =       ranlib
2968 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2969 CC_TOOLS        =       cc
2971 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2973 module_dm.F :
2974         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
2975           /bin/cp module_dm_warning module_dm.F )
2977 wrfio_nf : 
2978         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2979           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
2981 wrfio_int : 
2982         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2983           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2984           TRADFLAG="-traditional" all )
2986 wrfio_grib_share :
2987         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2988           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2989           TRADFLAG="-traditional" archive)
2991 wrfio_grib1 : 
2992         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2993           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2994           TRADFLAG="-traditional" archive )
2995 wrfio_grib2 : 
2996         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2997           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
2998           TRADFLAG="-traditional" archive )
3000 esmf_time : 
3001         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3002           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3004 fftpack :
3005         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3006           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3008 # compile these without high optimization to speed compile
3009 module_io_mm5.o : module_io_mm5.F
3010 module_si_io.o : module_si_io.F
3011 module_io_wrf.o : module_io_wrf.F
3012 module_domain.o : module_domain.F
3013 module_start.o : module_start.F
3014 module_initialize.o : module_initialize.F
3015 module_initialize_b_wave.o : module_initialize_b_wave.F
3016 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3017 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3018 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3019 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3020 module_initialize_real.o : module_initialize_real.F
3021 module_dm.o : module_dm.F
3022 module_comm_dm.o : module_comm_dm.F
3023 start_domain.o : start_domain.F
3024 module_configure.o : module_configure.F
3026 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3027 module_start.o module_initialize.o module_initialize_b_wave.o  \
3028 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3029 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3030 module_configure.o                                             \
3031 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3032         $(RM) $@
3033         $(SED_FTN) $*.F > $*.b 
3034         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3035         $(RM) $*.b
3036         $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
3038 ###########################################################
3039 #ARCH       VPP UNIX_System_V F300 5000
3041 FC              =       frt
3042 SFC             =       $(FC)
3043 LD              =       frt
3044 CC              =       vcc
3045 SCC             =       $(CC)
3046 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3047 PROMOTION       =       -r$(RWORDSIZE) -i4
3048 CFLAGS          =
3049 FCFLAGS         =       -Free -X9 -Am
3050 FCFLAGS         =       -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
3051 FCDEBUG         =       # -g
3052 FCBASEOPTS      =       $(FCFLAGS)
3053 ARCHFLAGS       = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3054                         $(DA_ARCHFLAGS) \
3055                         -DLIMIT_ARGS
3056 PERL            =       CONFIGURE_PERL_PATH
3057 REGISTRY        =       Registry
3058 LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
3059                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3060                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3061                         CONFIGURE_GRIB2_LIB \
3062                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
3063 LDFLAGS         =      -Wl,-P -J CONFIGURE_LDFLAGS
3064 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3065 LDFLAGS         =      -J CONFIGURE_LDFLAGS
3066 CPP             =       /lib/cpp -C -P
3067 POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3068 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3069 AR              =       ar ru
3070 M4              =       m4 -B 14000
3071 RANLIB          =       ranlib
3072 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3073 CC_TOOLS        =       $(CC)
3075 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  module_dm.F esmf_time fftpack
3077 module_dm.F :
3078         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3080 wrfio_nf : 
3081         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3082           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
3084 wrfio_grib_share :
3085         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3086           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
3088 wrfio_grib1 : 
3089         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3090           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
3092 wrfio_grib2 : 
3093         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3094           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
3096 ###########################################################
3097 #ARCH   Cray
3099 FC              =       f90
3100 SFC             =       $(FC)
3101 CC              =       cc
3102 SCC             =       $(CC)
3103 NATIVE_RWORDSIZE =      8
3104 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3105 # does this PROMOTION flag work on Cray?  
3106 PROMOTION       =       -r$(RWORDSIZE) -i4
3107 CFLAGS          =
3108 FCFLAGS         =       -f free -N 255 -I.
3109 FCDEBUG         =       # -g
3110 FCBASEOPTS      =       $(FCFLAGS)
3111 ARCHFLAGS       =       $(COREDEFS) -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
3112                         $(DA_ARCHFLAGS) \
3113                         -DLIMIT_ARGS
3114 LDFLAGS         = CONFIGURE_LDFLAGS
3115 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3116 CPP             =       /opt/ctl/bin/cpp
3117 POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3118 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3119 PERL            =       CONFIGURE_PERL_PATH
3120 REGISTRY        =       Registry
3121 #LIB             =       CONFIGURE_NETCDF_LIB_PATH 
3122 LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time  \
3123                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3124                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3125                         CONFIGURE_GRIB2_LIB \
3126                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
3127 AR              =       ar ru
3128 M4              =       m4 -B 14000
3129 RANLIB          =       ranlib
3130 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3131 CC_TOOLS        =       $(CC)
3133 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  esmf_time fftpack
3134         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3136 wrfio_nf : 
3137         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3138           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
3140 wrfio_grib_share :
3141         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3142           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
3144 wrfio_grib1 : 
3145         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3146           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
3148 wrfio_grib2 : 
3149         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3150           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
3152 solve_interface.o : solve_interface.F
3153         $(RM) $@
3154         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
3155         $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
3157 ###########################################################
3158 #ARCH    PC Linux i486 i586 i686, PGI compiler  (Single-threaded, no nesting)
3160 FC              =       pgf90
3161 LD              =       pgf90
3162 CC              =       gcc
3163 SCC             =       $(CC)
3164 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3165 SFC             =       $(FC)
3166 PROMOTION       =       -r$(RWORDSIZE) -i4
3167 CFLAGS          =
3168 FCOPTIM         =       -O2 # -fast
3169 FCDEBUG         =       #-g
3170 FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3171 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
3172 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
3173 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3174                         $(DA_ARCHFLAGS) \
3175                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3176                         -DLIMIT_ARGS
3177 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3178 ESMF_LIB_FLAGS  =       
3179 ESMF_IO_LIB     =       ESMFIOLIB
3180 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3181 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3182                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3183 PERL            =       perl
3184 REGISTRY        =       Registry
3185 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
3186                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3187                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3188                         CONFIGURE_GRIB2_LIB \
3189                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3190                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
3191 LDFLAGS         =       $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
3192 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3193 CPP             =       /lib/cpp -C -P -traditional
3194 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3195 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3196 AR              =       ar ru
3197 M4              =       m4 -B 14000
3198 RANLIB          =       ranlib
3199 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3200 CC_TOOLS        =       $(CC)
3202 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3204 module_dm.F :
3205         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3207 wrfio_nf : 
3208         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3209           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3211 wrfio_grib_share :
3212         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3213           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3215 wrfio_grib1 :
3216         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3217           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
3219 wrfio_grib2 :
3220         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3221           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
3223 wrfio_int : 
3224         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3225           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3226           TRADFLAG="-traditional" all )
3228 esmf_time : 
3229         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3230           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3232 fftpack :
3233         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3234           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3236 # compile these without high optimization to speed compile
3237 solve_interface.o : solve_interface.F
3238 shift_domain_em.o : shift_domain_em.F
3239 module_io_mm5.o : module_io_mm5.F
3240 module_si_io.o : module_si_io.F
3241 module_io_wrf.o : module_io_wrf.F
3242 module_domain.o : module_domain.F
3243 module_start.o : module_start.F
3244 module_initialize.o : module_initialize.F
3245 module_initialize_b_wave.o : module_initialize_b_wave.F
3246 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3247 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3248 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3249 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3250 module_initialize_real.o : module_initialize_real.F
3251 module_dm.o : module_dm.F
3252 module_comm_dm.o : module_comm_dm.F
3253 start_domain.o : start_domain.F
3254 mediation_integrate.o : mediation_integrate.F
3255 module_configure.o : module_configure.F
3257 solve_interface.o                                              \
3258 shift_domain_em.o                                              \
3259 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3260 module_start.o module_initialize.o module_initialize_b_wave.o  \
3261 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3262 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3263 mediation_integrate.o \
3264 module_configure.o                                             \
3265 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3266         $(RM) $@
3267         $(SED_FTN) $*.F > $*.b 
3268         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3269         $(RM) $*.b
3270         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3271 #PGI    if [ ! -e $@ ] ; then \
3272 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3273 #PGI    fi
3274 #PGI    if [ ! -e $@ ] ; then \
3275 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3276 #PGI    fi
3277 #PGI    if [ ! -e $@ ] ; then \
3278 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3279 #PGI    fi
3281 ###########################################################
3282 #ARCH   PC Linux i486 i586 i686, PGI compiler  SM-Parallel (OpenMP, no nesting)
3284 OMP             =       -mp
3285 OMPCPP          =       -D_OPENMP
3286 FC              =       pgf90
3287 LD              =       pgf90
3288 CC              =       gcc
3289 SCC             =       $(CC)
3290 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3291 SFC             =       $(FC)
3292 PROMOTION       =       -r$(RWORDSIZE) -i4
3293 CFLAGS          =
3294 FCOPTIM         =       -O2 # -fast
3295 FCDEBUG         =       #-g
3296 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3297 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
3298 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3299 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3300                         $(DA_ARCHFLAGS) \
3301                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3302                         -DLIMIT_ARGS
3303 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3304 ESMF_LIB_FLAGS  =       
3305 ESMF_IO_LIB     =       ESMFIOLIB
3306 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3307 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3308                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3309 PERL            =       perl
3310 REGISTRY        =       Registry
3311 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
3312                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3313                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3314                         CONFIGURE_GRIB2_LIB \
3315                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3316                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
3317 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
3318 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3319 CPP             =       /lib/cpp -C -P -traditional
3320 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3321 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3322 AR              =       ar ru
3323 M4              =       m4 -B 14000
3324 RANLIB          =       ranlib
3325 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3326 CC_TOOLS        =       $(CC)
3328 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3330 module_dm.F :
3331         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3333 wrfio_nf : 
3334         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3335           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3337 wrfio_grib_share :
3338         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3339           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3341 wrfio_grib1 :
3342         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3343           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
3345 wrfio_grib2 :
3346         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3347           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
3349 wrfio_int : 
3350         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3351           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3352           TRADFLAG="-traditional" all )
3354 esmf_time : 
3355         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3356           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3358 fftpack :
3359         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3360           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3362 # compile these without high optimization to speed compile
3363 solve_interface.o : solve_interface.F
3364 shift_domain_em.o : shift_domain_em.F
3365 module_io_mm5.o : module_io_mm5.F
3366 module_si_io.o : module_si_io.F
3367 module_io_wrf.o : module_io_wrf.F
3368 module_domain.o : module_domain.F
3369 module_start.o : module_start.F
3370 module_initialize.o : module_initialize.F
3371 module_initialize_b_wave.o : module_initialize_b_wave.F
3372 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3373 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3374 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3375 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3376 module_initialize_real.o : module_initialize_real.F
3377 module_dm.o : module_dm.F
3378 module_comm_dm.o : module_comm_dm.F
3379 start_domain.o : start_domain.F
3380 mediation_integrate.o : mediation_integrate.F
3381 module_configure.o : module_configure.F
3383 solve_interface.o                                              \
3384 shift_domain_em.o                                              \
3385 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3386 module_start.o module_initialize.o module_initialize_b_wave.o  \
3387 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3388 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3389 module_configure.o                                             \
3390 mediation_integrate.o \
3391 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3392         $(RM) $@
3393         $(SED_FTN) $*.F > $*.b 
3394         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3395         $(RM) $*.b
3396         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3397 #PGI    if [ ! -e $@ ] ; then \
3398 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3399 #PGI    fi
3400 #PGI    if [ ! -e $@ ] ; then \
3401 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3402 #PGI    fi
3403 #PGI    if [ ! -e $@ ] ; then \
3404 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3405 #PGI    fi
3407 ###########################################################
3408 #ARCH     PC Linux i486 i586 i686, PGI compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting)
3410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3411 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3413 DMPARALLEL      =       1
3414 MAX_PROC        =       1024
3415 FC              =       mpif90 -f90=pgf90
3416 LD              =       mpif90 -f90=pgf90
3417 CC              =       mpicc -cc=gcc
3418 SCC             =       gcc
3419 SFC             =       pgf90
3420 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3421 PROMOTION       =       -r$(RWORDSIZE) -i4
3422 CFLAGS          =       -DDM_PARALLEL \
3423                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
3424 #FCOPTIM                =       -fastsse 
3425 FCOPTIM         =       -O2 # -fast
3426 FCDEBUG         =       #-g
3427 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3428 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
3429 #Options for Debian Sarge systems
3430 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
3431 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
3432 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
3433                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
3434                         $(DA_ARCHFLAGS) \
3435                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
3436 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3437 ESMF_LIB_FLAGS  =       
3438 ESMF_IO_LIB     =       ESMFIOLIB
3439 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3440 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3441                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3442 PERL            =       perl
3443 REGISTRY        =       Registry
3444 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
3445                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3446                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3447                         CONFIGURE_GRIB2_LIB \
3448                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3449                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
3450                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
3451 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
3452 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3453 CPP             =       /lib/cpp -C -P -traditional
3454 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3455 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3456 AR              =       ar ru
3457 M4              =       m4 -B 14000
3458 RANLIB          =       ranlib
3459 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3460 CC_TOOLS        =       cc
3462 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
3464 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
3465         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
3466           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
3468 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
3469         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
3471 wrfio_nf : 
3472         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3473           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3475 wrfio_grib_share :
3476         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3477           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3479 wrfio_grib1 :
3480         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3481           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3483 wrfio_grib2 :
3484         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3485           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
3487 wrfio_int : 
3488         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3489           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
3491 esmf_time : 
3492         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3493           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3495 fftpack :
3496         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3497           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3499 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
3500         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
3502 # compile these without high optimization to speed compile
3503 solve_interface.o : solve_interface.F
3504 shift_domain_em.o : shift_domain_em.F
3505 module_io_mm5.o : module_io_mm5.F
3506 module_si_io.o : module_si_io.F
3507 module_io_wrf.o : module_io_wrf.F
3508 module_domain.o : module_domain.F
3509 module_start.o : module_start.F
3510 module_initialize.o : module_initialize.F
3511 module_initialize_b_wave.o : module_initialize_b_wave.F
3512 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3513 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3514 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3515 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3516 module_initialize_real.o : module_initialize_real.F
3517 module_dm.o : module_dm.F
3518 module_comm_dm.o : module_comm_dm.F
3519 start_domain.o : start_domain.F
3520 mediation_integrate.o : mediation_integrate.F
3521 module_configure.o : module_configure.F
3523 solve_interface.o                                              \
3524 shift_domain_em.o                                              \
3525 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3526 module_start.o module_initialize.o module_initialize_b_wave.o  \
3527 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3528 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3529 module_configure.o                                             \
3530 mediation_integrate.o \
3531 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3532         $(RM) $@
3533         $(SED_FTN) $*.F > $*.b 
3534         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3535         $(RM) $*.b
3536         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3537 #PGI    if [ ! -e $@ ] ; then \
3538 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3539 #PGI    fi
3540 #PGI    if [ ! -e $@ ] ; then \
3541 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3542 #PGI    fi
3543 #PGI    if [ ! -e $@ ] ; then \
3544 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
3545 #PGI    fi
3547 ###########################################################
3548 #ARCH    PC Linux x86_64 (IA64 and Opteron), gfortran compiler 4.3.0 or higher  (single threaded)
3551 OMP               =
3552 OMPCPP            =
3553 FC                = gfortran
3554 LD                = $(FC)
3555 CC                = gcc
3556 SCC               = gcc
3557 CC_TOOLS          = $(SCC)
3558 SFC               = gfortran
3559 RWORDSIZE         = $(NATIVE_RWORDSIZE)
3560 FCOPTIM           = -O3
3561 CFLAGS            = -w -O3 -c -DLANDREAD_STUB
3562 FCDEBUG           = # -O0 -g
3563 FCBASEOPTS        = -fconvert=big-endian -frecord-marker=4 -I. $(FCDEBUG) -ffree-form
3564 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3565 ARCHFLAGS         = $(COREDEFS) \
3566                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3567                     CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3568                     -DLIMIT_ARGS -DLANDREAD_STUB
3569 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3570 ESMF_LIB_FLAGS    =
3571 ESMF_IO_LIB       =       ESMFIOLIB
3572 ESMF_IO_LIB_EXT   =       ESMFIOEXTLIB
3573 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3574                     -I../external -I../frame -I../share -I../phys -I../inc
3575 PERL              = perl
3576 REGISTRY          = Registry
3577 LIB               = CONFIGURE_NETCDF_LIB_PATH $(OMP) \
3578                     -L../external/fftpack/fftpack5 -lfftpack \
3579                     -L../external/io_grib1 -lio_grib1 \
3580                     CONFIGURE_GRIB2_LIB \
3581                     -L../external/io_grib_share -lio_grib_share \
3582                     -L../external/io_int -lwrfio_int \
3583                     ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
3584 LDFLAGS           =  $(OMP)
3585 ENVCOMPDEFS       =  CONFIGURE_COMPILEFLAGS
3586 CPP               =  /lib/cpp -C -P -traditional
3587 POUND_DEF         =  -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3588 CPPFLAGS          =  -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3589 AR                =  ar ru
3590 M4                =  m4 -G
3591 RANLIB            =  ranlib
3592 NETCDFPATH        =  CONFIGURE_NETCDF_PATH
3594 externals :  wrfio_nf wrfio_int module_dm.F wrfio_grib_share wrfio_grib1  esmf_time fftpack
3596 module_dm.F :
3597         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3599 wrfio_nf :
3600         ( cd ../external/io_netcdf ; \
3601           make NETCDFPATH=/home/michalak/netcdf CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
3602           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
3603         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
3604         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
3605         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
3607 wrfio_int :
3608         ( cd ../external/io_int ; \
3609           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3610                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
3611                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
3612           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
3614 wrfio_grib_share :
3615         ( cd ../external/io_grib_share ; \
3616           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
3617           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
3619 wrfio_grib1 :
3620         ( cd ../external/io_grib1 ; \
3621           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3622           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3624 wrfio_grib2 :
3625         ( cd ../external/io_grib2 ; \
3626           make CC="$(CC) " CPP="$(CPP) " RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3627                   FREE="-FR" FIXED="-FI" \
3628           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3630 esmf_time :
3631         ( cd ../external/esmf_time_f90 ; \
3632           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3634 fftpack :
3635         ( cd ../external/fftpack/fftpack5 ; \
3636           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3638 # Compile these without high optimization and no interprocedural
3639 # optimizations to speed compile. Commenting them out may result
3640 # in longer compilation time, but might produce substantialy faster
3641 # binaries.
3642 mediation_integrate.o : mediation_integrate.F
3643 mediation_interp_domain.o : mediation_interp_domain.F
3644 mediation_feedback_domain.o : mediation_feedback_domain.F
3645 wrf_auxinput1out.o : wrf_auxinput1out.F
3646 wrf_histout.o : wrf_histout.F
3647 wrf_restartout.o : wrf_restartout.F
3648 wrf_inputin.o : wrf_inputin.F
3649 wrf_auxinput1in.o : wrf_auxinput1in.F
3650 wrf_histin.o : wrf_histin.F
3651 wrf_restartin.o : wrf_restartin.F
3652 module_initialize_real.o: module_initialize_real.F
3653 solve_interface.o : solve_interface.F
3654 shift_domain_em.o : shift_domain_em.F
3655 module_io_wrf.o : module_io_wrf.F
3656 module_domain.o : module_domain.F
3657 start_domain.o : start_domain.F
3658 mediation_force_domain.o : mediation_force_domain.F
3659 module_configure.o : module_configure.F
3661 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
3662 module_configure.o                                              \
3663 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
3664 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
3665 module_domain.o module_io_wrf.o start_domain.o solve_interface.o \
3666 shift_domain_em.o                                              \
3667 mediation_force_domain.o:
3668         $(RM) $@
3669         $(SED_FTN) $*.F > $*.b
3670         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3671         $(RM) $*.b
3672         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
3674 # Force even lower optimization level for these files to decrease
3675 # compilation time and lower memory demands
3676 module_dm.o : module_dm.F
3677 solve_em.o : solve_em.F
3678 start_em.o : start_em.F
3680 solve_em.o \
3681 start_em.o \
3682 module_dm.o :
3683         $(RM) $@
3684         $(SED_FTN) $*.F > $*.b
3685         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3686         $(RM) $*.b
3687         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
3689 ###########################################################
3690 #ARCH    PC Linux x86_64 (IA64 and Opteron), gfortran compiler 4.3.0 or higher  (MPICH, RSL_LITE)
3692 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3693 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3695 DMPARALLEL        = 1
3696 OMP               =
3697 OMPCPP            =
3698 MAX_PROC          = 1024
3699 MPI_HOME          = $(MPICH)
3700 FC                = $(MPI_HOME)/bin/mpif90 -f90=gfortran
3701 LD                = $(FC)
3702 CC                = $(MPI_HOME)/bin/mpicc -cc=gcc
3703 SCC               = gcc
3704 CC_TOOLS          = $(SCC)
3705 SFC               = gfortran
3706 RWORDSIZE         = $(NATIVE_RWORDSIZE)
3707 FCOPTIM           = -O3
3708 CFLAGS            = -w -O3 -c -DDM_PARALLEL  -I../external/RSL_LITE -DLANDREAD_STUB
3709 FCDEBUG           = # -O0 -g
3710 FCBASEOPTS        = -fconvert=big-endian -frecord-marker=4 -I. $(FCDEBUG) -ffree-form
3711 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3712 ARCHFLAGS         = $(COREDEFS) -DDM_PARALLEL \
3713                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3714                     CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3715                     -DLIMIT_ARGS -DLANDREAD_STUB
3716 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3717 ESMF_LIB_FLAGS    =
3718 ESMF_IO_LIB       =       ESMFIOLIB
3719 ESMF_IO_LIB_EXT   =       ESMFIOEXTLIB
3720 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
3721                     -I../external -I../frame -I../share -I../phys -I../inc
3722 PERL              = perl
3723 REGISTRY          = Registry
3724 LIB               = CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite $(OMP) \
3725                     -L../external/fftpack/fftpack5 -lfftpack \
3726                     -L../external/io_grib1 -lio_grib1 \
3727                     CONFIGURE_GRIB2_LIB \
3728                     -L../external/io_grib_share -lio_grib_share \
3729                     -L../external/io_int -lwrfio_int \
3730                     ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
3731 LDFLAGS           =  $(OMP)
3732 ENVCOMPDEFS       =  CONFIGURE_COMPILEFLAGS
3733 CPP               =  /lib/cpp -C -P -traditional
3734 POUND_DEF         =  -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3735 CPPFLAGS          =  -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
3736 AR                =  ar ru
3737 M4                =  m4 -G
3738 RANLIB            =  ranlib
3739 NETCDFPATH        =  CONFIGURE_NETCDF_PATH
3741 externals :  wrfio_nf ../external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1  esmf_time fftpack
3743 gen_comms.c : ../external/RSL_LITE/gen_comms.c
3744         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3745           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
3747 module_dm.F : ../external/RSL_LITE/module_dm.F
3748         ( /bin/cp module_dm_warning module_dm.F ; \
3749           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
3751 ../external/RSL_LITE/librsl_lite.a :
3752         ( cd ../external/RSL_LITE ; make CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
3753          FC='$(FC) $(FCFLAGS) -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
3755 wrfio_nf :
3756         ( cd ../external/io_netcdf ; \
3757           make NETCDFPATH=/home/michalak/netcdf CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
3758           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
3759         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
3760         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
3761         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
3763 wrfio_int :
3764         ( cd ../external/io_int ; \
3765           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3766                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
3767                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
3768           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
3770 wrfio_grib_share :
3771         ( cd ../external/io_grib_share ; \
3772           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
3773           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
3775 wrfio_grib1 :
3776         ( cd ../external/io_grib1 ; \
3777           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3778           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3780 wrfio_grib2 :
3781         ( cd ../external/io_grib2 ; \
3782           make CC="$(CC) " CPP="$(CPP) " RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
3783                   FREE="-FR" FIXED="-FI" \
3784           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
3786 esmf_time :
3787         ( cd ../external/esmf_time_f90 ; \
3788           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3790 fftpack :
3791         ( cd ../external/fftpack/fftpack5 ; \
3792           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3794 # Compile these without high optimization and no interprocedural
3795 # optimizations to speed compile. Commenting them out may result
3796 # in longer compilation time, but might produce substantialy faster
3797 # binaries.
3798 mediation_integrate.o : mediation_integrate.F
3799 mediation_interp_domain.o : mediation_interp_domain.F
3800 mediation_feedback_domain.o : mediation_feedback_domain.F
3801 wrf_auxinput1out.o : wrf_auxinput1out.F
3802 wrf_histout.o : wrf_histout.F
3803 wrf_restartout.o : wrf_restartout.F
3804 wrf_inputin.o : wrf_inputin.F
3805 wrf_auxinput1in.o : wrf_auxinput1in.F
3806 wrf_histin.o : wrf_histin.F
3807 wrf_restartin.o : wrf_restartin.F
3808 module_initialize_real.o: module_initialize_real.F
3809 solve_interface.o : solve_interface.F
3810 shift_domain_em.o : shift_domain_em.F
3811 module_io_wrf.o : module_io_wrf.F
3812 module_domain.o : module_domain.F
3813 start_domain.o : start_domain.F
3814 mediation_force_domain.o : mediation_force_domain.F
3815 module_configure.o : module_configure.F
3817 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
3818 module_configure.o                                              \
3819 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
3820 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
3821 module_domain.o module_io_wrf.o start_domain.o solve_interface.o \
3822 shift_domain_em.o                                              \
3823 mediation_force_domain.o:
3824         $(RM) $@
3825         $(SED_FTN) $*.F > $*.b
3826         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3827         $(RM) $*.b
3828         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
3830 # Force even lower optimization level for these files to decrease
3831 # compilation time and lower memory demands
3832 module_dm.o : module_dm.F
3833 solve_em.o : solve_em.F
3834 start_em.o : start_em.F
3836 solve_em.o \
3837 start_em.o \
3838 module_dm.o :
3839         $(RM) $@
3840         $(SED_FTN) $*.F > $*.b
3841         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
3842         $(RM) $*.b
3843         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
3845 ############################################################
3847 # These sub-directory builds are identical across all architectures
3848 wrfio_esmf :
3849         ( cd ../external/io_esmf ; \
3850         make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) $(ESMF_MOD_INC)" RANLIB="$(RANLIB)" CPP="$(CPP) $(POUND_DEF) " )
3854 #       Macros, these should be generic for all machines
3856 LN      =       ln -sf
3857 MAKE    =       make -i -r
3858 RM      =       rm -f
3860 #       There is probably no reason to modify these rules
3862 wrf_ioapi_includes :
3863         ( cd ../external/ioapi_share ; \
3864         $(MAKE) NATIVE_RWORDSIZE="$(NATIVE_RWORDSIZE)" RWORDSIZE="$(RWORDSIZE)" )
3866 .F.i:
3867         $(RM) $@
3868         $(CPP) -I../inc $(CPPFLAGS) $*.F > $@
3869         mv $*.i $(DEVTOP)/pick/$*.f90
3870         cp $*.F $(DEVTOP)/pick
3872 .F.o:
3873         $(RM) $@
3874         $(SED_FTN) $*.F > $*.b 
3875         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3876         $(RM) $*.b
3877         $(FC) -o $@ -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90
3878 #PGI    if [ ! -e $@ ] ; then \
3879 #PGI    sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3880 #PGI    fi
3881 #PGI    if [ ! -e $@ ] ; then \
3882 #PGI    sleep 10 ; $(FC) -c $(FCFLAGS) $(MODULE_DIRS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3883 #PGI    fi
3885 .F.f90:
3886         $(RM) $@
3887         $(SED_FTN) $*.F > $*.b 
3888         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $@
3889         $(RM) $*.b
3891 .f90.o:
3892         $(RM) $@
3893         $(FC) -o $@ -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90
3894 #PGI    if [ ! -e $@ ] ; then \
3895 #PGI    sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3896 #PGI    fi
3897 #PGI    if [ ! -e $@ ] ; then \
3898 #PGI    sleep 10 ; $(FC) -c $(FCFLAGS) $(PROMOTION) $(FCSUFFIX) $*.f90 ; \
3899 #PGI    fi
3901 .c.o:
3902         $(RM) $@
3903         $(CC) -o $@ -c $(CFLAGS) $*.c
3905 ###########################################################
3906 #ARCH    PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher  (Single-threaded, no nesting)
3907 #        Note that for 5.1.x comment out -Mpia=fast
3909 FC              =       pgf90
3910 LD              =       pgf90
3911 CC              =       gcc
3912 SCC             =       $(CC)
3913 SFC             =       $(FC)
3914 RWORDSIZE       =       CONFIGURE_RWORDSIZE
3915 PROMOTION       =       -r$(RWORDSIZE) -i4
3916 CFLAGS          =       -DLANDREAD_STUB
3917 FCOPTIM         =       -fastsse #-Mipa=fast
3918 FCDEBUG         =       #-g
3919 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3920 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
3921 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
3922 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3923                         $(DA_ARCHFLAGS) \
3924                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3925                         -DLIMIT_ARGS -DLANDREAD_STUB
3926 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3927 ESMF_LIB_FLAGS  =       
3928 ESMF_IO_LIB     =       ESMFIOLIB
3929 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3930 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3931                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
3932 PERL            =       perl
3933 REGISTRY        =       Registry
3934 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
3935                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3936                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3937                         CONFIGURE_GRIB2_LIB \
3938                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3939                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
3940 LDFLAGS         =       CONFIGURE_LDFLAGS
3941 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3942 CPP             =       /lib/cpp -C -P -traditional
3943 POUND_DEF       =       -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3944 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3945 AR              =       ar ru
3946 M4              =       m4 -B 14000
3947 RANLIB          =       ranlib
3948 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3949 CC_TOOLS        =       $(CC)
3951 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3953 module_dm.F :
3954         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3956 wrfio_nf :
3957         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3958           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3960 wrfio_grib_share :
3961         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3962           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3964 wrfio_grib1 :
3965         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3966           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3968 wrfio_grib2 :
3969         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3970           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
3972 wrfio_int :
3973         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3974           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3975           TRADFLAG="-traditional" all )
3977 esmf_time : 
3978         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3979           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3981 fftpack :
3982         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3983           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3985 # compile these without high optimization to speed compile
3986 solve_interface.o : solve_interface.F
3987 shift_domain_em.o : shift_domain_em.F
3988 module_io_mm5.o : module_io_mm5.F
3989 module_si_io.o : module_si_io.F
3990 module_io_wrf.o : module_io_wrf.F
3991 module_domain.o : module_domain.F
3992 module_start.o : module_start.F
3993 module_initialize.o : module_initialize.F
3994 module_initialize_b_wave.o : module_initialize_b_wave.F
3995 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3996 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3997 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3998 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3999 module_initialize_real.o : module_initialize_real.F
4000 module_dm.o : module_dm.F
4001 module_comm_dm.o : module_comm_dm.F
4002 start_domain.o : start_domain.F
4003 mediation_integrate.o : mediation_integrate.F
4004 module_configure.o : module_configure.F
4006 solve_interface.o                                              \
4007 shift_domain_em.o                                              \
4008 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4009 module_start.o module_initialize.o module_initialize_b_wave.o  \
4010 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4011 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4012 mediation_integrate.o \
4013 module_configure.o                                             \
4014 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4015         $(RM) $@
4016         $(SED_FTN) $*.F > $*.b 
4017         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4018         $(RM) $*.b
4019         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4021 ###########################################################
4022 #ARCH    PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel   (RSL_LITE, MPICH, Allows nesting)
4023 #        Note that for 5.1.x comment out -Mpia=fast
4025 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4026 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4028 DMPARALLEL      =       1
4029 MAX_PROC        =       1024
4030 FC              =       mpif90
4031 LD              =       mpif90
4032 CC              =       mpicc
4033 SCC             =       gcc
4034 SFC             =       pgf90
4035 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4036 PROMOTION       =       -r$(RWORDSIZE) -i4
4037 CFLAGS          =       -DDM_PARALLEL \
4038                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
4039                         -DLANDREAD_STUB
4040 FCOPTIM         =       -fastsse #-Mipa=fast
4041 FCDEBUG         =       #-g
4042 FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
4043 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
4044 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
4045                         $(DA_ARCHFLAGS) \
4046                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
4047                         -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST)
4048 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4049 ESMF_LIB_FLAGS  =       
4050 ESMF_IO_LIB     =       ESMFIOLIB
4051 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4052 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4053                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4054 PERL            =       perl
4055 REGISTRY        =       Registry
4056 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4057                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4058                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4059                         CONFIGURE_GRIB2_LIB \
4060                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4061                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4062                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
4063 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
4064 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4065 CPP             =       /lib/cpp -C -P -traditional
4066 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4067 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
4068 AR              =       ar ru
4069 M4              =       m4 -B 14000
4070 RANLIB          =       ranlib
4071 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4072 CC_TOOLS        =       cc
4074 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4076 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4077         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4078           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4080 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4081         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4083 wrfio_nf :
4084         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4085           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4087 wrfio_grib_share :
4088         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4089           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4091 wrfio_grib1 :
4092         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4093           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4095 wrfio_grib2 :
4096         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4097           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
4099 wrfio_int :
4100         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4101           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
4103 esmf_time : 
4104         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4105           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4107 fftpack :
4108         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4109           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4111 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4112         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
4114 # compile these without high optimization to speed compile
4115 solve_interface.o : solve_interface.F
4116 shift_domain_em.o : shift_domain_em.F
4117 module_io_mm5.o : module_io_mm5.F
4118 module_si_io.o : module_si_io.F
4119 module_io_wrf.o : module_io_wrf.F
4120 module_domain.o : module_domain.F
4121 module_start.o : module_start.F
4122 module_initialize.o : module_initialize.F
4123 module_initialize_b_wave.o : module_initialize_b_wave.F
4124 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4125 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4126 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4127 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4128 module_initialize_real.o : module_initialize_real.F
4129 module_dm.o : module_dm.F
4130 module_comm_dm.o : module_comm_dm.F
4131 start_domain.o : start_domain.F
4132 mediation_integrate.o : mediation_integrate.F
4133 module_configure.o : module_configure.F
4135 solve_interface.o                                              \
4136 shift_domain_em.o                                              \
4137 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4138 module_start.o module_initialize.o module_initialize_b_wave.o  \
4139 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4140 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4141 mediation_integrate.o \
4142 module_configure.o                                             \
4143 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4144         $(RM) $@
4145         $(SED_FTN) $*.F > $*.b 
4146         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4147         $(RM) $*.b
4148         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4150 ###########################################################
4151 #ARCH    Intel Itanium2 ia64 madison Linux  (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting )
4152 # Notes for running on PNNL cluster:
4154 # 1. source /home/oehmen/.mycshrc
4155 # 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh
4157 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4158 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4160 DMPARALLEL = 1
4161 MAX_PROC   = 2000
4162 FC         = mpif90
4163 LD         = mpif90
4164 CC         = mpicc
4165 SCC        = gcc
4166 SFC        = efc
4167 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4168 PROMOTION       =       -r$(RWORDSIZE) -i4
4169 CFLAGS     = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
4170              -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include
4171 FCOPTIM = -O2 -ftz
4172 FCDEBUG = #-g
4173 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm 
4174 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm 
4175 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 
4176 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL \
4177             -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
4178             $(DA_ARCHFLAGS) \
4179             -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS 
4180 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4181 ESMF_LIB_FLAGS  =       
4182 ESMF_IO_LIB     =       ESMFIOLIB
4183 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4184 INCLUDE_MODULES = $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4185                   -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc  -I$(WRF_SRC_ROOT_DIR)/chem \
4186                   -I/usr/lib/mpi/mpi_intel/include
4187 PERL = perl
4188 REGISTRY = Registry
4189 LIB = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4190                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4191                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4192                         CONFIGURE_GRIB2_LIB \
4193                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4194       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4195       -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
4196 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
4197 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4198 CPP        = /lib/cpp -traditional -C -P -traditional
4199 POUND_DEF  = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
4200              -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4201 CPPFLAGS   = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \
4202              -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -EP `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(POUND_DEF)
4203 AR = ar ru
4204 M4 = m4 -B 14000
4205 RANLIB = ranlib
4206 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4207 CC_TOOLS        =       ecc
4209 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4211 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4212         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4213           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4215 wrfio_nf :
4216         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4217           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4219 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4220         ( /bin/cp module_dm_warning module_dm.F ; \
4221           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4223 wrfio_grib_share :
4224         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4225           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4227 wrfio_grib1 :
4228         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4229           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4231 wrfio_grib2 :
4232         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4233           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4235 wrfio_int : 
4236         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4237           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
4239 esmf_time : 
4240         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4241           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4243 fftpack :
4244         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4245           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4247 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4248         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='mpicc -w -I.' \
4249           FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4251 # compile these without high optimization to speed compile
4252 solve_interface.o : solve_interface.F
4253 shift_domain_em.o : shift_domain_em.F
4254 module_io_mm5.o : module_io_mm5.F
4255 module_si_io.o : module_si_io.F
4256 module_io_wrf.o : module_io_wrf.F
4257 module_domain.o : module_domain.F
4258 module_start.o : module_start.F
4259 module_initialize.o : module_initialize.F
4260 module_initialize_b_wave.o : module_initialize_b_wave.F
4261 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4262 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4263 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4264 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4265 module_initialize_real.o : module_initialize_real.F
4266 module_dm.o : module_dm.F
4267 module_comm_dm.o : module_comm_dm.F
4268 start_domain.o : start_domain.F
4269 module_configure.o : module_configure.F
4271 solve_interface.o \
4272 shift_domain_em.o                                              \
4273 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4274 module_start.o module_initialize.o module_initialize_b_wave.o \
4275 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4276 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4277 module_configure.o                                             \
4278 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4279         $(RM) $@
4280         $(SED_FTN) $*.F > $*.b 
4281         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4282         $(RM) $*.b
4283         $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
4285 ###########################################################
4286 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows ARW and NMM nesting)
4288 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
4289 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
4291 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4292 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4294 DMPARALLEL = 1
4295 INCLUDE = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
4296 MAX_PROC = 256
4297 FC = efc -I.. -I/usr/local/vmi/mpich/include
4298 LD = efc
4299 CC = ecc -I. -I/usr/local/vmi/mpich/include
4300 SCC             =       $(CC)
4301 SFC = efc
4302 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4303 PROMOTION       =       -r$(RWORDSIZE) -i4
4304 CFLAGS = -DDM_PARALLEL -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
4305 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64
4306 FCOPTIM = -O3 -ftz
4307 FCDEBUG = #-g
4308 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
4309 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
4310 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL \
4311 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
4312 $(DA_ARCHFLAGS) \
4313 -DGRIB1 CONFIGURE_GRIB2_FLAG 
4314 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4315 ESMF_LIB_FLAGS  =       
4316 ESMF_IO_LIB     =       ESMFIOLIB
4317 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4318 INCLUDE_MODULES = $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4319 -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
4320 PERL = perl
4321 REGISTRY = Registry
4322 LIB = -Vaxlib -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4323                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4324                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4325                         CONFIGURE_GRIB2_LIB \
4326                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4327 -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4328 $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
4329 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
4330 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4331 CPP = /lib/cpp -C -P -traditional
4332 POUND_DEF = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4333 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
4334 AR = ar ru
4335 M4 = m4 -B 14000
4336 RANLIB = ranlib
4337 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4338 CC_TOOLS        =       ecc
4340 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4342 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4343         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4344           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4346 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4347         ( /bin/cp module_dm_warning module_dm.F ; \
4348           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4350 wrfio_nf : 
4351         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4352           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS) -w" )
4354 wrfio_int : 
4355         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4356           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
4358 wrfio_grib_share :
4359         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4360           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
4362 wrfio_grib1 :
4363         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4364           make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
4366 wrfio_grib2 :
4367         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4368           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
4370 esmf_time : 
4371         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4372           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4374 fftpack :
4375         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4376           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4378 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4379         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \
4380         FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I$(WRF_SRC_ROOT_DIR)/.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4382 # compile these without high optimization to speed compile
4383 solve_interface.o : solve_interface.F
4384 shift_domain_em.o : shift_domain_em.F
4385 module_io_mm5.o : module_io_mm5.F
4386 module_si_io.o : module_si_io.F
4387 module_io_wrf.o : module_io_wrf.F
4388 module_domain.o : module_domain.F
4389 module_start.o : module_start.F
4390 module_initialize.o : module_initialize.F
4391 module_initialize_b_wave.o : module_initialize_b_wave.F
4392 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4393 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4394 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4395 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4396 module_initialize_real.o : module_initialize_real.F
4397 module_dm.o : module_dm.F
4398 module_comm_dm.o : module_comm_dm.F
4399 start_domain.o : start_domain.F
4400 module_configure.o : module_configure.F
4402 solve_interface.o \
4403 shift_domain_em.o                                              \
4404 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4405 module_start.o module_initialize.o module_initialize_b_wave.o \
4406 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
4407 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
4408 module_configure.o                                             \
4409 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
4410         $(RM) $@
4411         $(SED_FTN) $*.F > $*.b 
4412         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
4413         $(RM) $*.b
4414         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4416 ###########################################################
4417 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting)
4419 OMP             =
4420 OMPCPP          =
4421 FC              =       ifort
4422 CC              =       gcc
4423 SCC             =       $(CC)
4424 SFC             =       $(FC)
4425 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4426 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4427 PROMOTION       =       -real_size $(RSIZEBITS)
4428 FCDEBUG         =       # -g
4429 FCBASEOPTS      =       -w -FR -cm -I. -Vaxlib -convert big_endian -mp
4430 FCOPTIM         =       -O2
4431 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4432 CFLAGS          =       -w
4433 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4434 ESMF_LIB_FLAGS  =       
4435 ESMF_IO_LIB     =       ESMFIOLIB
4436 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4437 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4438                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4439 ARCHFLAGS       =       $(COREDEFS)  -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
4440                         $(DA_ARCHFLAGS) \
4441                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
4442 LD              =       $(FC)
4443 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
4444 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4445 CPP             =       /lib/cpp -traditional
4446 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
4447                         -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4448 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4449 PERL            =       CONFIGURE_PERL_PATH
4450 REGISTRY        =       Registry
4451 LIB             =       CONFIGURE_NETCDF_LIB_PATH $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
4452                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4453                         -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4454                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4455                         CONFIGURE_GRIB2_LIB \
4456                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
4457 AR              =       ar ru
4458 M4              =       m4 -B14000
4459 RANLIB          =       ranlib
4460 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4461 CC_TOOLS        =       $(CC)
4463 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
4465 module_dm.F :
4466         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4468 wrfio_nf : 
4469         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4470           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
4472 wrfio_grib_share : 
4473         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4474           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4475           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4477 wrfio_grib1 : 
4478         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4479           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4481 wrfio_grib2 : 
4482         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4483           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4485 wrfio_int : 
4486         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4487           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
4489 esmf_time : 
4490         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4491           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4493 fftpack :
4494         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4495           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4497 # compile these without high optimization to speed compile
4498 solve_interface.o : solve_interface.F
4499 shift_domain_em.o : shift_domain_em.F
4500 module_io_mm5.o : module_io_mm5.F
4501 module_si_io.o : module_si_io.F
4502 module_io_wrf.o : module_io_wrf.F
4503 module_domain.o : module_domain.F
4504 module_start.o : module_start.F
4505 module_initialize.o : module_initialize.F
4506 module_initialize_b_wave.o : module_initialize_b_wave.F
4507 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4508 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4509 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4510 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4511 module_initialize_real.o : module_initialize_real.F
4512 start_domain.o : start_domain.F
4513 wrf_bdyin.o : wrf_bdyin.F
4514 wrf_bdyout.o : wrf_bdyout.F
4515 wrf_histin.o : wrf_histin.F
4516 wrf_histout.o : wrf_histout.F
4517 wrf_inputin.o : wrf_inputin.F
4518 wrf_inputout.o : wrf_inputout.F
4519 wrf_restartin.o : wrf_restartin.F
4520 wrf_restartout.o : wrf_restartout.F
4522 wrf_bdyin.o wrf_bdyout.o  \
4523 wrf_histin.o wrf_histout.o  \
4524 wrf_inputin.o wrf_inputout.o  \
4525 wrf_restartin.o wrf_restartout.o  \
4526 solve_interface.o                                              \
4527 shift_domain_em.o                                              \
4528 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4529 module_start.o module_initialize.o module_initialize_b_wave.o  \
4530 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4531 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4532 module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
4533         $(RM) $@
4534         $(SED_FTN) $*.F > $*.b 
4535         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4536         $(RM) $*.b
4537         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
4539 module_dm.o : module_dm.F
4540 module_comm_dm.o : module_comm_dm.F
4541 module_configure.o : module_configure.F
4543 module_configure.o \
4544 module_dm.o module_comm_dm.o :
4545         $(RM) $@
4546         $(SED_FTN) $*.F > $*.b 
4547         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4548         $(RM) $*.b
4549         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) -g -O0 $*.f90
4551 ###########################################################
4552 #ARCH   AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP)
4554 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
4555 #       has been identified to produce wrong results occationally.
4557 OMP             =       -openmp -fpp -auto
4558 OMPCPP          =       -D_OPENMP
4559 FC              =       ifort
4560 LD              =       ifort
4561 CC              =       gcc
4562 SCC             =       $(CC)
4563 SFC             =       $(FC)
4564 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4565 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4566 PROMOTION       =       -real_size $(RSIZEBITS)
4567 CFLAGS          =
4568 FCOPTIM         =       -O3 # -xW
4569 FCDEBUG         =       #-g
4570 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
4571 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4572 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4573                         $(DA_ARCHFLAGS) \
4574                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
4575                         -DLIMIT_ARGS 
4576 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4577 ESMF_LIB_FLAGS  =       
4578 ESMF_IO_LIB     =       ESMFIOLIB
4579 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4580 INCLUDE_MODULES =       -I $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4581                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4582 PERL            =       perl
4583 REGISTRY        =       Registry
4584 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
4585                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4586                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4587                         CONFIGURE_GRIB2_LIB \
4588                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4589                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
4590 LDFLAGS         =       $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
4591 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4592 CPP             =       /lib/cpp -traditional
4593 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
4594 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4595 AR              =       ar ru
4596 M4              =       m4 -B 14000
4597 RANLIB          =       ranlib
4598 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4599 CC_TOOLS        =       $(CC)
4601 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
4603 module_dm.F :
4604         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4606 wrfio_nf : 
4607         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4608           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4610 wrfio_grib_share : 
4611         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4612           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4613           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4615 wrfio_grib1 : 
4616         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4617           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4619 wrfio_grib2 : 
4620         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4621           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4623 wrfio_int : 
4624         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4625           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
4626           TRADFLAG="-traditional" all )
4628 esmf_time : 
4629         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4630           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4632 fftpack :
4633         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4634           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4636 # compile these without high optimization to speed compile
4637 solve_interface.o : solve_interface.F
4638 solve_em.o : solve_em.F
4639 shift_domain_em.o : shift_domain_em.F
4640 module_io_mm5.o : module_io_mm5.F
4641 module_si_io.o : module_si_io.F
4642 module_io_wrf.o : module_io_wrf.F
4643 module_domain.o : module_domain.F
4644 module_start.o : module_start.F
4645 module_initialize.o : module_initialize.F
4646 module_initialize_b_wave.o : module_initialize_b_wave.F
4647 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4648 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4649 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4650 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4651 module_initialize_real.o : module_initialize_real.F
4652 start_domain.o : start_domain.F
4653 mediation_integrate.o : mediation_integrate.F
4655 solve_interface.o                                              \
4656 solve_em.o                                              \
4657 shift_domain_em.o                                              \
4658 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4659 module_start.o module_initialize.o module_initialize_b_wave.o  \
4660 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4661 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4662 mediation_integrate.o \
4663 module_initialize_real.o start_domain.o :
4664         $(RM) $@
4665         $(SED_FTN) $*.F > $*.b 
4666         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4667         $(RM) $*.b
4668         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(OMP) $(MODULE_DIRS) $*.f90
4670 module_dm.o : module_dm.F
4671 module_comm_dm.o : module_comm_dm.F
4672 module_configure.o : module_configure.F
4674 module_configure.o \
4675 module_dm.o module_comm_dm.o :
4676         $(RM) $@
4677         $(SED_FTN) $*.F > $*.b 
4678         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4679         $(RM) $*.b
4680         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
4682 ###########################################################
4683 #ARCH    AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler  DM-Parallel (RSL_LITE, MPICH)
4685 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
4686 #       has been identified to produce wrong results occationally.
4687 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4688 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4691 DMPARALLEL      =       1
4692 MAX_PROC        =       1024
4693 FC              =       mpif90 -f90=ifort
4694 LD              =       mpif90 -f90=ifort
4695 CC              =       mpicc -cc=gcc
4696 SCC             =       gcc
4697 SFC             =       ifort
4698 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4699 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4700 PROMOTION       =       -real_size $(RSIZEBITS)
4701 FCOPTIM         =       -O3 # -xW
4702 FCDEBUG         =       #-g
4703 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
4704 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
4705 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
4706                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
4707                         $(DA_ARCHFLAGS) \
4708                         -DMPI  \
4709                         -DLIMIT_ARGS 
4710 CFLAGS          =       -w -DDM_PARALLEL $(ARCHFLAGS) \
4711                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
4712 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4713 ESMF_LIB_FLAGS  =       
4714 ESMF_IO_LIB     =       ESMFIOLIB
4715 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4716 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
4717                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
4718 PERL            =       perl
4719 REGISTRY        =       Registry
4720 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
4721                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4722                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4723                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4724                         CONFIGURE_GRIB2_LIB \
4725                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4726                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
4727 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
4728 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4729 CPP             =       /lib/cpp -traditional
4730 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
4731 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
4732 AR              =       ar ru
4733 M4              =       m4 -B 14000
4734 RANLIB          =       ranlib
4735 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4736 CC_TOOLS        =       gcc
4738 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
4740 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
4741         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
4742           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
4744 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
4745         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
4747 wrfio_nf : 
4748         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4749           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4751 wrfio_grib_share : 
4752         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4753           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
4754           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4756 wrfio_grib1 : 
4757         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4758           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
4760 wrfio_grib2 : 
4761         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4762           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
4764 wrfio_int : 
4765         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4766           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
4768 esmf_time : 
4769         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
4770           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
4772 fftpack :
4773         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4774           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4776 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
4777         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
4778           make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4780 # compile these without high optimization to speed compile
4781 solve_interface.o : solve_interface.F
4782 shift_domain_em.o : shift_domain_em.F
4783 module_io_mm5.o : module_io_mm5.F
4784 module_si_io.o : module_si_io.F
4785 module_io_wrf.o : module_io_wrf.F
4786 module_domain.o : module_domain.F
4787 module_start.o : module_start.F
4788 module_initialize.o : module_initialize.F
4789 module_initialize_b_wave.o : module_initialize_b_wave.F
4790 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4791 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4792 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4793 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4794 module_initialize_real.o : module_initialize_real.F
4795 start_domain.o : start_domain.F
4796 solve_em.o : solve_em.F
4797 start_em.o : start_em.F
4798 mediation_integrate.o : mediation_integrate.F
4800 solve_interface.o                                              \
4801 shift_domain_em.o                                              \
4802 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4803 module_start.o module_initialize.o module_initialize_b_wave.o  \
4804 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4805 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4806 mediation_integrate.o \
4807 module_initialize_real.o start_domain.o solve_em.o start_em.o :
4808         $(RM) $@
4809         $(SED_FTN) $*.F > $*.b 
4810         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4811         $(RM) $*.b
4812         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
4814 module_dm.o : module_dm.F
4815 module_comm_dm.o : module_comm_dm.F
4816 module_configure.o : module_configure.F
4818 module_configure.o \
4819 module_dm.o module_comm_dm.o :
4820         $(RM) $@
4821         $(SED_FTN) $*.F > $*.b 
4822         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4823         $(RM) $*.b
4824         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
4826 ###########################################################
4828 #ARCH NEC SUPER-UX SX-6 (serial)
4830 #***** some sx f90 compiler options***********
4831 # -V : version # of f90 command to stderr
4832 #-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
4833 #-Ep: activate cpp preprocessor to perfomr conditional compiling
4834    #****However, cpp also activated by using .F or .F90 suffixes...
4835 # -Wf: specifies option string of the f90/sx detailed options
4836 #-g: debug info generated in object file for dbx symbolic debugging
4837 # -ew : all numbers size=8bytes
4838 #-eW: 4 bytes
4839 # -float0: default and only -float(number) option for sx6
4840 # -USX: unname the prev. defined reserved symbol SX of the preprocessor
4841    # -U overrides -D, so '-USX  -D$(RUNTIMESYSTEM)'  might be redundant
4842 # -p: object file in execution format corresp. to 'prof' command be generated
4843 # -f4: input source program is described in F90 standard free format
4844 # -w: only syntax diagnostic messages at the fatal level are output
4845 # -C: specifies compile mode
4846 #   ssafe: only safe optimization in scalar mode (minimize side effects of 
4847 #          opt. no loop unrolling, etc
4848 # -init : init stack and heap areas
4849 # -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
4851 RUNTIME_SYSTEM  =       sx
4852 MPP_TARGET      =       $(RUNTIME_SYSTEM)
4853 FC              =       f90
4854 SFC             =       $(FC)
4855 CC              =       cc
4856 SCC             =       $(CC)
4857 LD              =       $(FC)
4858 NATIVE_RWORDSIZE =      8
4859 RWORDSIZE       =       CONFIGURE_RWORDSIZE
4860 ARCHFLAGS       = $(COREDEFS)   -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 -DLIMIT_ARGS -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) $(DA_ARCHFLAGS)
4861 PROMOTION       =       
4862 CFLAGS          =       $(ARCHFLAGS)
4864 FCFLAGS         =       -w -Ep -C ssafe \
4865                         -sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I$(WRF_SRC_ROOT_DIR)/inc -f4 
4866                 #       -Wf"-init stack=zero heap=zero" 
4867                 #         -Wf"-L transform fmtlist summary stdout" -g
4868 FCDEBUG         =       # -g
4869 FCBASEOPTS      =       $(FCFLAGS) -w
4871 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4872 ESMF_LIB_FLAGS  =       
4873 ESMF_IO_LIB     =       ESMFIOLIB
4874 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4875 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  \
4876                         -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
4877 PERL            =       perl
4878 REGISTRY        =       Registry
4879 LIB             =       -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
4880                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
4881                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
4882                         CONFIGURE_GRIB2_LIB \
4883                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
4884                         -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
4885                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o
4887 #-lmpi for 4byte storage, -lmpiw for 8 byte storage 
4888 #LDOPTIONS      =       -lmpiw -ew 
4889 CPP             =       /lib/cpp 
4890 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4891 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS)
4893 MAX_PROC = 8
4894 MAKE = make -i -r
4895 AWK = awk
4896 SED = sed
4897 CAT = cat
4898 CUT = cut
4899 EXPAND = expand
4900 AR = ar ru
4901 M4 = m4 -B14000
4902 RANLIB = ar ru     
4903 NETCDFPATH = /usr/local/netcdf/current
4904 CC_TOOLS        =       $(CC)
4905 ARCH_OBJS = milliclock.o
4906 ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
4907 FLIC_MACROS = LMvpp.m4 -B 14000
4908 VECTOR = 1
4911 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int  esmf_time  module_dm.F fftpack
4913 module_dm.F:
4914         ( /sbin/cp module_dm_warning module_dm.F ; \
4915           cat module_dm_stubs.F  >> module_dm.F )
4917 wrfio_nf :
4918         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
4919           make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)"  )
4922 wrfio_int :
4923         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
4924           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all )
4926 wrfio_grib_share :
4927         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
4928           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4930 wrfio_grib1 :
4931         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
4932           make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4934 wrfio_grib2 :
4935         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
4936           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive)
4938 esmf_time :
4939         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ;\
4940         make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " )
4942 fftpack :
4943         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
4944           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
4946 # compile these without high optimization to speed compile
4947 solve_interface.o : solve_interface.F
4948 shift_domain_em.o : shift_domain_em.F
4949 module_io_mm5.o : module_io_mm5.F
4950 module_si_io.o : module_si_io.F
4951 module_io_wrf.o : module_io_wrf.F
4952 module_domain.o : module_domain.F
4953 module_start.o : module_start.F
4954 module_initialize.o : module_initialize.F
4955 module_initialize_b_wave.o : module_initialize_b_wave.F
4956 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4957 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4958 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4959 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4960 module_initialize_real.o : module_initialize_real.F
4961 module_dm.o : module_dm.F
4962 module_comm_dm.o : module_comm_dm.F
4963 start_domain.o : start_domain.F
4964 module_configure.o : module_configure.F
4965    
4966 solve_interface.o                                              \
4967 shift_domain_em.o                                              \
4968 module_configure.o                                             \
4969 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4970 module_start.o module_initialize.o module_initialize_b_wave.o  \
4971 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4972 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4973 module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
4974         $(RM) $@
4975         $(SED_FTN) $*.F > $*.b
4976         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
4977         $(RM) $*.b
4978         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
4980 ############################################################
4981 #ARCH    SGI Altix, Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, OpenMP, RSL_LITE, allows nesting)
4983 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4984 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4986 #        By default, some files are compiled without optimizations to speed up compilation. Removing
4987 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
4988 #        Out Of Memory messages, but might produce binaries which are substantially faster.
4990 #        If you got Out Of Memory message, there are several options:
4991 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
4992 #               2. Remove any debugging flags (-g, -check, -traceback).
4993 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
4994 #                  -no-ip compiler flag.
4996 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
4997 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
4999 #        Hybrid OpenMP+MPI configurations might be helpfull to improve  scaling for multicore architecures
5000 #        and  reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5001 #        performance improvements).
5003 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5004 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5005 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5007 #        If you have Intel MPI installed and wish to use instead, make the
5008 #        following changes to settings below:
5009 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5010 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5012 DMPARALLEL        = 1
5013 OMP               = -openmp -fpp -auto
5014 OMPCPP            = -D_OPENMP
5015 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5016 MAX_PROC          = 1024
5017 MPI_HOME          = /usr
5018 FC                = ifort
5019 LD                = $(FC)
5020 CC                = icc
5021 SCC               = icc
5022 CC_TOOLS          = $(SCC)
5023 SFC               = ifort
5024 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
5025 FCOPTIM           = -O3
5026 FCDEBUG           = # -g -traceback
5027 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5028                     -fno-alias -tpp2 \
5029                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5030 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5031 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5032                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5033                     $(DA_ARCHFLAGS) \
5034                     -DLIMIT_ARGS
5035 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5036 ESMF_LIB_FLAGS    =
5037 ESMF_IO_LIB       = ESMFIOLIB
5038 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5039 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5040                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5041 PERL              = perl
5042 REGISTRY          = Registry
5043 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5044                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5045                     CONFIGURE_NETCDF_LIB_PATH \
5046                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5047                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5048                     CONFIGURE_GRIB2_LIB \
5049                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5050                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5051                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5052                     -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5053 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5054 CPP               = /lib/cpp -C -P -traditional
5055 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5056 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5057                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5058                     $(POUND_DEF) $(COREDEFS)
5059 AR                = ar ru
5060 M4                = m4
5061 RANLIB            = ranlib
5062 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5064 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5066 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5067         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5068           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5070 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5071         ( /bin/cp module_dm_warning module_dm.F ; \
5072           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5074 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5075         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5076          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5078 wrfio_nf :
5079         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5080           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5081           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5082         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5083         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5084         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5086 wrfio_int :
5087         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5088           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5089                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5090                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5091           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5093 wrfio_grib_share :
5094         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5095           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5096           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5098 wrfio_grib1 :
5099         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5100           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5101           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5103 wrfio_grib2 :
5104         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5105           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5106                   FREE="-FR" FIXED="-FI" \
5107           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5109 esmf_time :
5110         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5111           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5113 fftpack :
5114         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5115           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5117 # Compile these without high optimization and no interprocedural
5118 # optimizations to speed compile. Commenting them out may result
5119 # in longer compilation time, but might produce substantialy faster
5120 # binaries.
5121 mediation_integrate.o : mediation_integrate.F
5122 mediation_interp_domain.o : mediation_interp_domain.F
5123 mediation_feedback_domain.o : mediation_feedback_domain.F
5124 wrf_auxinput1out.o : wrf_auxinput1out.F
5125 wrf_histout.o : wrf_histout.F
5126 wrf_restartout.o : wrf_restartout.F
5127 wrf_inputin.o : wrf_inputin.F
5128 wrf_auxinput1in.o : wrf_auxinput1in.F
5129 wrf_histin.o : wrf_histin.F
5130 wrf_restartin.o : wrf_restartin.F
5131 module_initialize_real.o: module_initialize_real.F
5132 solve_interface.o : solve_interface.F
5133 shift_domain_em.o : shift_domain_em.F
5134 module_io_wrf.o : module_io_wrf.F
5135 module_dm.o : module_dm.F
5136 module_domain.o : module_domain.F
5137 start_domain.o : start_domain.F
5138 mediation_force_domain.o : mediation_force_domain.F
5139 module_configure.o : module_configure.F
5141 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5142 module_configure.o                                              \
5143 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5144 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5145 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5146 shift_domain_em.o                                              \
5147 mediation_force_domain.o:
5148         $(RM) $@
5149         $(SED_FTN) $*.F > $*.b
5150         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5151         $(RM) $*.b
5152         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5154 ############################################################
5155 #ARCH    SGI Altix, Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, RSL_LITE, allows nesting)
5157 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5158 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5160 #        By default, some files are compiled without optimizations to speed up compilation. Removing
5161 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5162 #        Out Of Memory messages, but might produce binaries which are substantially faster.
5164 #        If you got Out Of Memory message, there are several options:
5165 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5166 #               2. Remove any debugging flags (-g, -check, -traceback).
5167 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5168 #                  -no-ip compiler flag.
5170 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5171 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5173 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5174 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5175 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5177 #        If you have Intel MPI installed and wish to use instead, make the
5178 #        following changes to settings below:
5179 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5180 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5182 DMPARALLEL        = 1
5183 OMP               =
5184 OMPCPP            =
5185 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5186 MAX_PROC          = 1024
5187 MPI_HOME          = /usr
5188 FC                = ifort
5189 LD                = $(FC)
5190 CC                = icc
5191 SCC               = icc
5192 CC_TOOLS          = $(SCC)
5193 SFC               = ifort
5194 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
5195 FCOPTIM           = -O3
5196 FCDEBUG           = # -g -traceback
5197 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5198                     -fno-alias -tpp2 \
5199                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5200 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5201 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5202                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5203                     $(DA_ARCHFLAGS) \
5204                     -DLIMIT_ARGS
5205 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5206 ESMF_LIB_FLAGS    =
5207 ESMF_IO_LIB       = ESMFIOLIB
5208 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5209 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5210                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5211 PERL              = perl
5212 REGISTRY          = Registry
5213 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5214                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5215                     CONFIGURE_NETCDF_LIB_PATH \
5216                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5217                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5218                     CONFIGURE_GRIB2_LIB \
5219                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5220                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5221                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5222                     -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5223 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5224 CPP               = /lib/cpp -C -P -traditional
5225 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5226 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5227                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5228                     $(POUND_DEF) $(COREDEFS)
5229 AR                = ar ru
5230 M4                = m4
5231 RANLIB            = ranlib
5232 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5234 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5236 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5237         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5238           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5240 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5241         ( /bin/cp module_dm_warning module_dm.F ; \
5242           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5244 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5245         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5246          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5248 wrfio_nf :
5249         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5250           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5251           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5252         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5253         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5254         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5256 wrfio_int :
5257         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5258           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5259                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5260                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5261           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5263 wrfio_grib_share :
5264         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5265           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5266           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5268 wrfio_grib1 :
5269         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5270           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5271           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5273 wrfio_grib2 :
5274         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5275           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5276                   FREE="-FR" FIXED="-FI" \
5277           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5279 esmf_time :
5280         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5281           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5283 fftpack :
5284         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5285           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5287 # Compile these without high optimization and no interprocedural
5288 # optimizations to speed compile. Commenting them out may result
5289 # in longer compilation time, but might produce substantialy faster
5290 # binaries.
5291 mediation_integrate.o : mediation_integrate.F
5292 mediation_interp_domain.o : mediation_interp_domain.F
5293 mediation_feedback_domain.o : mediation_feedback_domain.F
5294 wrf_auxinput1out.o : wrf_auxinput1out.F
5295 wrf_histout.o : wrf_histout.F
5296 wrf_restartout.o : wrf_restartout.F
5297 wrf_inputin.o : wrf_inputin.F
5298 wrf_auxinput1in.o : wrf_auxinput1in.F
5299 wrf_histin.o : wrf_histin.F
5300 wrf_restartin.o : wrf_restartin.F
5301 module_initialize_real.o: module_initialize_real.F
5302 solve_interface.o : solve_interface.F
5303 shift_domain_em.o : shift_domain_em.F
5304 module_io_wrf.o : module_io_wrf.F
5305 module_dm.o : module_dm.F
5306 module_domain.o : module_domain.F
5307 start_domain.o : start_domain.F
5308 mediation_force_domain.o : mediation_force_domain.F
5309 module_configure.o : module_configure.F
5311 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5312 module_configure.o                                              \
5313 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5314 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5315 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5316 shift_domain_em.o                                              \
5317 mediation_force_domain.o:
5318         $(RM) $@
5319         $(SED_FTN) $*.F > $*.b
5320         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5321         $(RM) $*.b
5322         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5324 ############################################################
5325 #ARCH    SGI Altix/Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
5327 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5328 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5330 #        By default, some files are compiled without optimizations to speed up compilation. Removing
5331 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5332 #        Out Of Memory messages, but might produce binaries which are substantially faster.
5334 #        If you got Out Of Memory message, there are several options:
5335 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5336 #               2. Remove any debugging flags (-g, -check, -traceback).
5337 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5338 #                  -no-ip compiler flag.
5340 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5341 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5343 #        Hybrid OpenMP+MPI configurations might be helpfull to improve  scaling for multicore architecures
5344 #        and  reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5345 #        performance improvements).
5347 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5348 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5349 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5351 #        If you have Intel MPI installed and wish to use instead, make the
5352 #        following changes to settings below:
5353 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5354 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5356 DMPARALLEL        =
5357 OMP               = -openmp -fpp -auto
5358 OMPCPP            = -D_OPENMP
5359 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5360 MAX_PROC          = 1024
5361 MPI_HOME          =
5362 FC                = ifort
5363 LD                = $(FC)
5364 CC                = icc
5365 SCC               = icc
5366 CC_TOOLS          = $(SCC)
5367 SFC               = ifort
5368 CFLAGS            = -w -O3 -ip  -c    -openmp
5369 FCOPTIM           = -O3
5370 FCDEBUG           = # -g -traceback
5371 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5372                     -fno-alias -tpp2 \
5373                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5374 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5375 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
5376                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5377                     $(DA_ARCHFLAGS) \
5378                     -DLIMIT_ARGS
5379 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5380 ESMF_LIB_FLAGS    =
5381 ESMF_IO_LIB       = ESMFIOLIB
5382 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5383 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5384                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5385 PERL              = perl
5386 REGISTRY          = Registry
5387 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5388                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5389                     CONFIGURE_NETCDF_LIB_PATH \
5390                      \
5391                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5392                     CONFIGURE_GRIB2_LIB \
5393                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5394                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5395                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5396                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5397 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5398 CPP               = /lib/cpp -C -P -traditional
5399 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5400 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5401                     -I$(INCLUDE)  -C -P  \
5402                     $(POUND_DEF) $(COREDEFS)
5403 AR                = ar ru
5404 M4                = m4
5405 RANLIB            = ranlib
5406 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5408 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5410 module_dm.F :
5411         ( /bin/cp module_dm_warning module_dm.F ; \
5412           cat module_dm_stubs.F >> module_dm.F )
5414 wrfio_nf :
5415         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5416           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5417           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5418         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5419         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5420         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5422 wrfio_int :
5423         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5424           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5425                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5426                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5427           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5429 wrfio_grib_share :
5430         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5431           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5432           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5434 wrfio_grib1 :
5435         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5436           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5437           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5439 wrfio_grib2 :
5440         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5441           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5442                   FREE="-FR" FIXED="-FI" \
5443           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5445 esmf_time :
5446         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5447           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5449 fftpack :
5450         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5451           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5453 # Compile these without high optimization and no interprocedural
5454 # optimizations to speed compile. Commenting them out may result
5455 # in longer compilation time, but might produce substantialy faster
5456 # binaries.
5457 mediation_integrate.o : mediation_integrate.F
5458 mediation_interp_domain.o : mediation_interp_domain.F
5459 mediation_feedback_domain.o : mediation_feedback_domain.F
5460 wrf_auxinput1out.o : wrf_auxinput1out.F
5461 wrf_histout.o : wrf_histout.F
5462 wrf_restartout.o : wrf_restartout.F
5463 wrf_inputin.o : wrf_inputin.F
5464 wrf_auxinput1in.o : wrf_auxinput1in.F
5465 wrf_histin.o : wrf_histin.F
5466 wrf_restartin.o : wrf_restartin.F
5467 module_initialize_real.o: module_initialize_real.F
5468 solve_interface.o : solve_interface.F
5469 shift_domain_em.o : shift_domain_em.F
5470 module_io_wrf.o : module_io_wrf.F
5471 module_dm.o : module_dm.F
5472 module_domain.o : module_domain.F
5473 start_domain.o : start_domain.F
5474 mediation_force_domain.o : mediation_force_domain.F
5475 module_configure.o : module_configure.F
5477 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5478 module_configure.o                                              \
5479 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5480 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5481 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5482 shift_domain_em.o                                              \
5483 mediation_force_domain.o:
5484         $(RM) $@
5485         $(SED_FTN) $*.F > $*.b
5486         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5487         $(RM) $*.b
5488         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5490 ############################################################
5491 #ARCH    SGI Altix/Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
5493 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5494 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5496 #        By default, some files are compiled without optimizations to speed up compilation. Removing
5497 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5498 #        Out Of Memory messages, but might produce binaries which are substantially faster.
5500 #        If you got Out Of Memory message, there are several options:
5501 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5502 #               2. Remove any debugging flags (-g, -check, -traceback).
5503 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5504 #                  -no-ip compiler flag.
5506 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5507 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5509 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5510 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5511 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5513 #        If you have Intel MPI installed and wish to use instead, make the
5514 #        following changes to settings below:
5515 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5516 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5518 DMPARALLEL        =
5519 OMP               =
5520 OMPCPP            =
5521 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5522 MAX_PROC          = 1024
5523 MPI_HOME          =
5524 FC                = ifort
5525 LD                = $(FC)
5526 CC                = icc
5527 SCC               = icc
5528 CC_TOOLS          = $(SCC)
5529 SFC               = ifort
5530 CFLAGS            = -w -O3 -ip  -c
5531 FCOPTIM           = -O3
5532 FCDEBUG           = # -g -traceback
5533 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5534                     -fno-alias -tpp2 \
5535                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5536 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5537 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
5538                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5539                     $(DA_ARCHFLAGS) \
5540                     -DLIMIT_ARGS
5541 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5542 ESMF_LIB_FLAGS    =
5543 ESMF_IO_LIB       = ESMFIOLIB
5544 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5545 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5546                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5547 PERL              = perl
5548 REGISTRY          = Registry
5549 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5550                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5551                     CONFIGURE_NETCDF_LIB_PATH \
5552                      \
5553                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5554                     CONFIGURE_GRIB2_LIB \
5555                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5556                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5557                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5558                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5559 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5560 CPP               = /lib/cpp -C -P -traditional
5561 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5562 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5563                     -I$(INCLUDE)  -C -P  \
5564                     $(POUND_DEF) $(COREDEFS)
5565 AR                = ar ru
5566 M4                = m4
5567 RANLIB            = ranlib
5568 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5570 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5572 module_dm.F :
5573         ( /bin/cp module_dm_warning module_dm.F ; \
5574           cat module_dm_stubs.F >> module_dm.F )
5576 wrfio_nf :
5577         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5578           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5579           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5580         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5581         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5582         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5584 wrfio_int :
5585         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5586           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5587                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5588                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5589           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5591 wrfio_grib_share :
5592         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5593           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5594           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5596 wrfio_grib1 :
5597         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5598           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5599           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5601 wrfio_grib2 :
5602         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5603           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5604                   FREE="-FR" FIXED="-FI" \
5605           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5607 esmf_time :
5608         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5609           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5611 fftpack :
5612         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5613           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5615 # Compile these without high optimization and no interprocedural
5616 # optimizations to speed compile. Commenting them out may result
5617 # in longer compilation time, but might produce substantialy faster
5618 # binaries.
5619 mediation_integrate.o : mediation_integrate.F
5620 mediation_interp_domain.o : mediation_interp_domain.F
5621 mediation_feedback_domain.o : mediation_feedback_domain.F
5622 wrf_auxinput1out.o : wrf_auxinput1out.F
5623 wrf_histout.o : wrf_histout.F
5624 wrf_restartout.o : wrf_restartout.F
5625 wrf_inputin.o : wrf_inputin.F
5626 wrf_auxinput1in.o : wrf_auxinput1in.F
5627 wrf_histin.o : wrf_histin.F
5628 wrf_restartin.o : wrf_restartin.F
5629 module_initialize_real.o: module_initialize_real.F
5630 solve_interface.o : solve_interface.F
5631 shift_domain_em.o : shift_domain_em.F
5632 module_io_wrf.o : module_io_wrf.F
5633 module_dm.o : module_dm.F
5634 module_domain.o : module_domain.F
5635 start_domain.o : start_domain.F
5636 mediation_force_domain.o : mediation_force_domain.F
5637 module_configure.o : module_configure.F
5639 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5640 module_configure.o                                              \
5641 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5642 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5643 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5644 shift_domain_em.o                                              \
5645 mediation_force_domain.o:
5646         $(RM) $@
5647         $(SED_FTN) $*.F > $*.b
5648         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5649         $(RM) $*.b
5650         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5652 ############################################################
5653 #ARCH    SGI Altix, Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, OpenMP, RSL_LITE, allows nesting)
5655 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5656 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5658 #        By default, some files are compiled without optimizations to speed up compilation. Removing
5659 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5660 #        Out Of Memory messages, but might produce binaries which are substantially faster.
5662 #        If you got Out Of Memory message, there are several options:
5663 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5664 #               2. Remove any debugging flags (-g, -check, -traceback).
5665 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5666 #                  -no-ip compiler flag.
5668 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5669 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5671 #        Hybrid OpenMP+MPI configurations might be helpfull to improve  scaling for multicore architecures
5672 #        and  reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
5673 #        performance improvements).
5675 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5676 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5677 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5679 #        If you have Intel MPI installed and wish to use instead, make the
5680 #        following changes to settings below:
5681 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5682 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5684 DMPARALLEL        = 1
5685 OMP               = -openmp -fpp -auto
5686 OMPCPP            = -D_OPENMP
5687 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5688 MAX_PROC          = 1024
5689 MPI_HOME          = /usr
5690 FC                = ifort
5691 LD                = $(FC)
5692 CC                = icc
5693 SCC               = icc
5694 CC_TOOLS          = $(SCC)
5695 SFC               = ifort
5696 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
5697 FCOPTIM           = -O3
5698 FCDEBUG           = # -g -traceback
5699 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5700                     -fno-alias -mtune=itanium2-p9000 \
5701                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5702 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5703 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5704                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5705                     $(DA_ARCHFLAGS) \
5706                     -DLIMIT_ARGS
5707 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5708 ESMF_LIB_FLAGS    =
5709 ESMF_IO_LIB       = ESMFIOLIB
5710 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5711 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5712                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5713 PERL              = perl
5714 REGISTRY          = Registry
5715 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5716                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5717                     CONFIGURE_NETCDF_LIB_PATH \
5718                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5719                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5720                     CONFIGURE_GRIB2_LIB \
5721                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5722                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5723                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5724                     -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5725 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5726 CPP               = /lib/cpp -C -P -traditional
5727 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5728 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5729                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5730                     $(POUND_DEF) $(COREDEFS)
5731 AR                = ar ru
5732 M4                = m4
5733 RANLIB            = ranlib
5734 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5736 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5738 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5739         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5740           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5742 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5743         ( /bin/cp module_dm_warning module_dm.F ; \
5744           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5746 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5747         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5748          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5750 wrfio_nf :
5751         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5752           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5753           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5754         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5755         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5756         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5758 wrfio_int :
5759         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5760           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5761                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5762                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5763           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5765 wrfio_grib_share :
5766         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5767           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5768           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5770 wrfio_grib1 :
5771         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5772           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5773           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5775 wrfio_grib2 :
5776         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5777           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5778                   FREE="-FR" FIXED="-FI" \
5779           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5781 esmf_time :
5782         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5783           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5785 fftpack :
5786         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5787           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5789 # Compile these without high optimization and no interprocedural
5790 # optimizations to speed compile. Commenting them out may result
5791 # in longer compilation time, but might produce substantialy faster
5792 # binaries.
5793 mediation_integrate.o : mediation_integrate.F
5794 mediation_interp_domain.o : mediation_interp_domain.F
5795 mediation_feedback_domain.o : mediation_feedback_domain.F
5796 wrf_auxinput1out.o : wrf_auxinput1out.F
5797 wrf_histout.o : wrf_histout.F
5798 wrf_restartout.o : wrf_restartout.F
5799 wrf_inputin.o : wrf_inputin.F
5800 wrf_auxinput1in.o : wrf_auxinput1in.F
5801 wrf_histin.o : wrf_histin.F
5802 wrf_restartin.o : wrf_restartin.F
5803 module_initialize_real.o: module_initialize_real.F
5804 solve_interface.o : solve_interface.F
5805 shift_domain_em.o : shift_domain_em.F
5806 module_io_wrf.o : module_io_wrf.F
5807 module_dm.o : module_dm.F
5808 module_domain.o : module_domain.F
5809 start_domain.o : start_domain.F
5810 mediation_force_domain.o : mediation_force_domain.F
5811 module_configure.o : module_configure.F
5813 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5814 module_configure.o                                              \
5815 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5816 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5817 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5818 shift_domain_em.o                                              \
5819 mediation_force_domain.o:
5820         $(RM) $@
5821         $(SED_FTN) $*.F > $*.b
5822         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5823         $(RM) $*.b
5824         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
5826 # OpenMP workaround for solve_em.F
5827 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
5828 # You can check if you really need this workaround by building without the following rule
5829 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
5830 solve_em.o : solve_em.F
5831         $(RM) $@
5832         $(SED_FTN) $*.F > $*.b
5833         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
5834         $(RM) $*.b
5835         $(FC)  -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
5837 ############################################################
5838 #ARCH    SGI Altix, Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (SGI MPI, RSL_LITE, allows nesting)
5840 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5841 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5843 #        By default, some files are compiled without optimizations to speed up compilation. Removing
5844 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
5845 #        Out Of Memory messages, but might produce binaries which are substantially faster.
5847 #        If you got Out Of Memory message, there are several options:
5848 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
5849 #               2. Remove any debugging flags (-g, -check, -traceback).
5850 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
5851 #                  -no-ip compiler flag.
5853 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
5854 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
5856 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
5857 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
5858 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
5860 #        If you have Intel MPI installed and wish to use instead, make the
5861 #        following changes to settings below:
5862 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
5863 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
5865 DMPARALLEL        = 1
5866 OMP               =
5867 OMPCPP            =
5868 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
5869 MAX_PROC          = 1024
5870 MPI_HOME          = /usr
5871 FC                = ifort
5872 LD                = $(FC)
5873 CC                = icc
5874 SCC               = icc
5875 CC_TOOLS          = $(SCC)
5876 SFC               = ifort
5877 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
5878 FCOPTIM           = -O3
5879 FCDEBUG           = # -g -traceback
5880 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
5881                     -fno-alias -mtune=itanium2-p9000 \
5882                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
5883 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5884 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
5885                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
5886                     $(DA_ARCHFLAGS) \
5887                     -DLIMIT_ARGS
5888 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5889 ESMF_LIB_FLAGS    =
5890 ESMF_IO_LIB       = ESMFIOLIB
5891 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
5892 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
5893                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
5894 PERL              = perl
5895 REGISTRY          = Registry
5896 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
5897                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
5898                     CONFIGURE_NETCDF_LIB_PATH \
5899                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
5900                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
5901                     CONFIGURE_GRIB2_LIB \
5902                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
5903                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
5904                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
5905                     -L/usr/lib -lmpi -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
5906 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
5907 CPP               = /lib/cpp -C -P -traditional
5908 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5909 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
5910                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
5911                     $(POUND_DEF) $(COREDEFS)
5912 AR                = ar ru
5913 M4                = m4
5914 RANLIB            = ranlib
5915 NETCDFPATH            = CONFIGURE_NETCDF_PATH
5917 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
5919 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
5920         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
5921           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
5923 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
5924         ( /bin/cp module_dm_warning module_dm.F ; \
5925           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
5927 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
5928         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
5929          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
5931 wrfio_nf :
5932         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
5933           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
5934           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
5935         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
5936         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
5937         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
5939 wrfio_int :
5940         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
5941           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5942                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
5943                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
5944           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
5946 wrfio_grib_share :
5947         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
5948           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
5949           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
5951 wrfio_grib1 :
5952         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
5953           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5954           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5956 wrfio_grib2 :
5957         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
5958           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
5959                   FREE="-FR" FIXED="-FI" \
5960           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
5962 esmf_time :
5963         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
5964           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
5966 fftpack :
5967         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
5968           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
5970 # Compile these without high optimization and no interprocedural
5971 # optimizations to speed compile. Commenting them out may result
5972 # in longer compilation time, but might produce substantialy faster
5973 # binaries.
5974 mediation_integrate.o : mediation_integrate.F
5975 mediation_interp_domain.o : mediation_interp_domain.F
5976 mediation_feedback_domain.o : mediation_feedback_domain.F
5977 wrf_auxinput1out.o : wrf_auxinput1out.F
5978 wrf_histout.o : wrf_histout.F
5979 wrf_restartout.o : wrf_restartout.F
5980 wrf_inputin.o : wrf_inputin.F
5981 wrf_auxinput1in.o : wrf_auxinput1in.F
5982 wrf_histin.o : wrf_histin.F
5983 wrf_restartin.o : wrf_restartin.F
5984 module_initialize_real.o: module_initialize_real.F
5985 solve_interface.o : solve_interface.F
5986 shift_domain_em.o : shift_domain_em.F
5987 module_io_wrf.o : module_io_wrf.F
5988 module_dm.o : module_dm.F
5989 module_domain.o : module_domain.F
5990 start_domain.o : start_domain.F
5991 mediation_force_domain.o : mediation_force_domain.F
5992 module_configure.o : module_configure.F
5994 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
5995 module_configure.o                                              \
5996 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
5997 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
5998 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
5999 shift_domain_em.o                                              \
6000 mediation_force_domain.o:
6001         $(RM) $@
6002         $(SED_FTN) $*.F > $*.b
6003         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6004         $(RM) $*.b
6005         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6007 ############################################################
6008 #ARCH    SGI Altix/Generic Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
6010 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6011 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6013 #        By default, some files are compiled without optimizations to speed up compilation. Removing
6014 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
6015 #        Out Of Memory messages, but might produce binaries which are substantially faster.
6017 #        If you got Out Of Memory message, there are several options:
6018 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
6019 #               2. Remove any debugging flags (-g, -check, -traceback).
6020 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
6021 #                  -no-ip compiler flag.
6023 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
6024 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
6026 #        Hybrid OpenMP+MPI configurations might be helpfull to improve  scaling for multicore architecures
6027 #        and  reasonably large workloads (i.e. for CONUT12km hybrid configurations are not likely to give any
6028 #        performance improvements).
6030 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
6031 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
6032 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
6034 #        If you have Intel MPI installed and wish to use instead, make the
6035 #        following changes to settings below:
6036 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
6037 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
6039 DMPARALLEL        =
6040 OMP               = -openmp -fpp -auto
6041 OMPCPP            = -D_OPENMP
6042 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
6043 MAX_PROC          = 1024
6044 MPI_HOME          =
6045 FC                = ifort
6046 LD                = $(FC)
6047 CC                = icc
6048 SCC               = icc
6049 CC_TOOLS          = $(SCC)
6050 SFC               = ifort
6051 CFLAGS            = -w -O3 -ip  -c    -openmp
6052 FCOPTIM           = -O3
6053 FCDEBUG           = # -g -traceback
6054 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
6055                     -fno-alias -mtune=itanium2-p9000 \
6056                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
6057 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6058 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
6059                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
6060                     $(DA_ARCHFLAGS) \
6061                     -DLIMIT_ARGS
6062 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6063 ESMF_LIB_FLAGS    =
6064 ESMF_IO_LIB       = ESMFIOLIB
6065 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
6066 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6067                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
6068 PERL              = perl
6069 REGISTRY          = Registry
6070 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
6071                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6072                     CONFIGURE_NETCDF_LIB_PATH \
6073                      \
6074                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6075                     CONFIGURE_GRIB2_LIB \
6076                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6077                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6078                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6079                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6080 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
6081 CPP               = /lib/cpp -C -P -traditional
6082 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6083 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
6084                     -I$(INCLUDE)  -C -P  \
6085                     $(POUND_DEF) $(COREDEFS)
6086 AR                = ar ru
6087 M4                = m4
6088 RANLIB            = ranlib
6089 NETCDFPATH            = CONFIGURE_NETCDF_PATH
6091 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
6093 module_dm.F :
6094         ( /bin/cp module_dm_warning module_dm.F ; \
6095           cat module_dm_stubs.F >> module_dm.F )
6097 wrfio_nf :
6098         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6099           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
6100           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
6101         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
6102         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
6103         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
6105 wrfio_int :
6106         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6107           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6108                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
6109                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
6110           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
6112 wrfio_grib_share :
6113         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6114           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6115           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
6117 wrfio_grib1 :
6118         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6119           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6120           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6122 wrfio_grib2 :
6123         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6124           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6125                   FREE="-FR" FIXED="-FI" \
6126           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6128 esmf_time :
6129         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6130           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6132 fftpack :
6133         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6134           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6136 # Compile these without high optimization and no interprocedural
6137 # optimizations to speed compile. Commenting them out may result
6138 # in longer compilation time, but might produce substantialy faster
6139 # binaries.
6140 mediation_integrate.o : mediation_integrate.F
6141 mediation_interp_domain.o : mediation_interp_domain.F
6142 mediation_feedback_domain.o : mediation_feedback_domain.F
6143 wrf_auxinput1out.o : wrf_auxinput1out.F
6144 wrf_histout.o : wrf_histout.F
6145 wrf_restartout.o : wrf_restartout.F
6146 wrf_inputin.o : wrf_inputin.F
6147 wrf_auxinput1in.o : wrf_auxinput1in.F
6148 wrf_histin.o : wrf_histin.F
6149 wrf_restartin.o : wrf_restartin.F
6150 module_initialize_real.o: module_initialize_real.F
6151 solve_interface.o : solve_interface.F
6152 shift_domain_em.o : shift_domain_em.F
6153 module_io_wrf.o : module_io_wrf.F
6154 module_dm.o : module_dm.F
6155 module_domain.o : module_domain.F
6156 start_domain.o : start_domain.F
6157 mediation_force_domain.o : mediation_force_domain.F
6158 module_configure.o : module_configure.F
6160 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
6161 module_configure.o                                              \
6162 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
6163 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
6164 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
6165 shift_domain_em.o                                              \
6166 mediation_force_domain.o:
6167         $(RM) $@
6168         $(SED_FTN) $*.F > $*.b
6169         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6170         $(RM) $*.b
6171         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6173 # OpenMP workaround for solve_em.F
6174 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
6175 # You can check if you really need this workaround by building without the following rule
6176 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
6177 solve_em.o : solve_em.F
6178         $(RM) $@
6179         $(SED_FTN) $*.F > $*.b
6180         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6181         $(RM) $*.b
6182         $(FC)  -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
6184 ############################################################
6185 #ARCH    SGI Altix/Generic Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
6187 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6188 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6190 #        By default, some files are compiled without optimizations to speed up compilation. Removing
6191 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
6192 #        Out Of Memory messages, but might produce binaries which are substantially faster.
6194 #        If you got Out Of Memory message, there are several options:
6195 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
6196 #               2. Remove any debugging flags (-g, -check, -traceback).
6197 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
6198 #                  -no-ip compiler flag.
6200 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
6201 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
6203 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
6204 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
6205 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
6207 #        If you have Intel MPI installed and wish to use instead, make the
6208 #        following changes to settings below:
6209 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
6210 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
6212 DMPARALLEL        =
6213 OMP               =
6214 OMPCPP            =
6215 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
6216 MAX_PROC          = 1024
6217 MPI_HOME          =
6218 FC                = ifort
6219 LD                = $(FC)
6220 CC                = icc
6221 SCC               = icc
6222 CC_TOOLS          = $(SCC)
6223 SFC               = ifort
6224 CFLAGS            = -w -O3 -ip  -c
6225 FCOPTIM           = -O3
6226 FCDEBUG           = # -g -traceback
6227 FCBASEOPTS        = -ftz -align all -FR -convert big_endian \
6228                     -fno-alias -mtune=itanium2-p9000 \
6229                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
6230 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6231 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
6232                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
6233                     $(DA_ARCHFLAGS) \
6234                     -DLIMIT_ARGS
6235 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6236 ESMF_LIB_FLAGS    =
6237 ESMF_IO_LIB       = ESMFIOLIB
6238 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
6239 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6240                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
6241 PERL              = perl
6242 REGISTRY          = Registry
6243 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
6244                     -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6245                     CONFIGURE_NETCDF_LIB_PATH \
6246                      \
6247                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6248                     CONFIGURE_GRIB2_LIB \
6249                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6250                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6251                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6252                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
6253 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
6254 CPP               = /lib/cpp -C -P -traditional
6255 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6256 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
6257                     -I$(INCLUDE)  -C -P  \
6258                     $(POUND_DEF) $(COREDEFS)
6259 AR                = ar ru
6260 M4                = m4
6261 RANLIB            = ranlib
6262 NETCDFPATH            = CONFIGURE_NETCDF_PATH
6264 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
6266 module_dm.F :
6267         ( /bin/cp module_dm_warning module_dm.F ; \
6268           cat module_dm_stubs.F >> module_dm.F )
6270 wrfio_nf :
6271         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6272           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
6273           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
6274         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
6275         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
6276         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
6278 wrfio_int :
6279         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6280           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6281                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
6282                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
6283           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
6285 wrfio_grib_share :
6286         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6287           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6288           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
6290 wrfio_grib1 :
6291         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6292           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6293           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6295 wrfio_grib2 :
6296         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6297           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
6298                   FREE="-FR" FIXED="-FI" \
6299           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
6301 esmf_time :
6302         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6303           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6304 fftpack :
6305         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6306           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6308 # Compile these without high optimization and no interprocedural
6309 # optimizations to speed compile. Commenting them out may result
6310 # in longer compilation time, but might produce substantialy faster
6311 # binaries.
6312 mediation_integrate.o : mediation_integrate.F
6313 mediation_interp_domain.o : mediation_interp_domain.F
6314 mediation_feedback_domain.o : mediation_feedback_domain.F
6315 wrf_auxinput1out.o : wrf_auxinput1out.F
6316 wrf_histout.o : wrf_histout.F
6317 wrf_restartout.o : wrf_restartout.F
6318 wrf_inputin.o : wrf_inputin.F
6319 wrf_auxinput1in.o : wrf_auxinput1in.F
6320 wrf_histin.o : wrf_histin.F
6321 wrf_restartin.o : wrf_restartin.F
6322 module_initialize_real.o: module_initialize_real.F
6323 solve_interface.o : solve_interface.F
6324 shift_domain_em.o : shift_domain_em.F
6325 module_io_wrf.o : module_io_wrf.F
6326 module_dm.o : module_dm.F
6327 module_domain.o : module_domain.F
6328 start_domain.o : start_domain.F
6329 mediation_force_domain.o : mediation_force_domain.F
6330 module_configure.o : module_configure.F
6332 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
6333 module_configure.o                                              \
6334 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
6335 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
6336 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
6337 shift_domain_em.o                                              \
6338 mediation_force_domain.o:
6339         $(RM) $@
6340         $(SED_FTN) $*.F > $*.b
6341         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
6342         $(RM) $*.b
6343         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
6346 ###########################################################
6347 #ARCH   UNICOS/mp  machine crayx1 (RSL_LITE, MPI, MSP mode)
6349 #  Cray X1 (RSL_LITE, MPI, MSP mode)
6350 #  For CSD mode set numtiles=4 in &domains section
6351 #  in namelist.input for best MSP efficiency.
6353 DMPARALLEL      =       1
6354 MAX_PROC         =       1024
6355 FC              =       ftn
6356 SFC             =       $(FC)
6357 LD              =       ftn
6358 CC              =       cc
6359 SCC             =       $(CC)
6361 #### Override default sed command and script for Fortran source files ####
6362 #### This sed script converts !$OMP directives to !csd$ directives ####
6363 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/cray_csd.sed
6365 ## Use these for X1 cross compiler to build Registry
6366 ##X1_CROSS_COMP = "gcc"
6367 ##X1_CROSS_CFLG = ""
6368 ## Use these for X1 native (trigger) compiler
6369 X1_CROSS_COMP = "cc"
6370 X1_CROSS_CFLG = "-hcommand"
6371 CC_TOOLS        =       $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
6373 RWORDSIZE         = CONFIGURE_RWORDSIZE
6374 FCDEBUG         =       # -g
6375 FCBASEOPTS      =       -f free -N 255 -I. -x omp -dy
6376 FCFLAGS_LOWOPT  =       $(FCBASEOPTS) -O1
6377 FCFLAGS         =       $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
6378 #if using 64bit precision
6379 #PROMOTION      =       -sreal64 -dp -sinteger32
6380 CFLAGS          =       -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
6381                         -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
6383 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6384 ESMF_LIB_FLAGS  =       
6385 ESMF_IO_LIB     =       ESMFIOLIB
6386 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6387 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/inc \
6388                         -p./ -p$(WRF_SRC_ROOT_DIR)/external/io_netcdf -p$(WRF_SRC_ROOT_DIR)/external/io_int -p$(WRF_SRC_ROOT_DIR)/frame \
6389                         -p$(WRF_SRC_ROOT_DIR)/frame -p$(WRF_SRC_ROOT_DIR)/share -p$(WRF_SRC_ROOT_DIR)/phys -p$(WRF_SRC_ROOT_DIR)/chem \
6390                         -p$(WRF_SRC_ROOT_DIR)/dyn_em -p $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
6391 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
6392                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
6393                         $(DA_ARCHFLAGS) \
6394                         -DLIMIT_ARGS -Dcrayx1
6396 PERL            =       perl
6397 REGISTRY        =       Registry
6399 LIB             =       -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
6400                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6401                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
6402                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int  \
6403                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6404                         CONFIGURE_GRIB2_LIB \
6405                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6406                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
6407                         -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -lmalloc
6409 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6410 LDFLAGS         =       
6412 CPP             =       cpp -C -P -Dcrayx1
6413 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) # 
6414 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6416 AR              =       ar ru
6417 M4              =       m4 -B14000
6418 RANLIB          =       echo
6419 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6421 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
6423 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
6424         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
6426 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
6427         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
6429 wrfio_nf : 
6430         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
6432 wrfio_int : 
6433         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6434           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
6436 wrfio_grib_share :
6437         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6438           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
6440 wrfio_grib1 : 
6441         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6442           make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
6443           FC="$(FC) $(PROMOTION) -f free -N 255" archive )
6444 wrfio_grib2 : 
6445         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6446           make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
6447           FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
6449 esmf_time : 
6450         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6451           make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6453 fftpack :
6454         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6455           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6457 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
6458         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" \
6459                                      MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
6461 # compile these without high optimization
6462 module_io_mm5.o : module_io_mm5.F
6463 module_si_io.o : module_si_io.F
6464 module_domain.o : module_domain.F
6465 module_start.o : module_start.F
6466 module_initialize.o : module_initialize.F
6467 module_initialize_b_wave.o : module_initialize_b_wave.F
6468 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6469 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6470 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6471 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6472 module_initialize_real.o : module_initialize_real.F
6473 module_dm.o : module_dm.F
6474 module_comm_dm.o : module_comm_dm.F
6475 start_domain.o : start_domain.F
6476 mediation_interp_domain.o : mediation_interp_domain.F
6477 mediation_force_domain.o : mediation_force_domain.F
6478 convert_nmm.o : convert_nmm.F
6479 module_configure.o : module_configure.F
6480 solve_em.o : solve_em.F
6481 solve_interface.o : solve_interface.F
6482 wrf_restartout.o : wrf_restartout.F
6483 wrf_restartin.o : wrf_restartin.F
6484 input_wrf.o : input_wrf.F
6485 output_wrf.o : output_wrf.F
6487 module_io_mm5.o module_si_io.o module_domain.o \
6488 module_start.o module_initialize.o module_initialize_b_wave.o  \
6489 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6490 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6491 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
6492 mediation_interp_domain.o \
6493 mediation_force_domain.o \
6494 module_configure.o solve_em.o \
6495 input_wrf.o output_wrf.o \
6496 solve_interface.o wrf_restartout.o wrf_restartin.o \
6497 convert_nmm.o    :
6498         $(RM) $@
6499         $(SED_FTN) $*.F > $*.b 
6500         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
6501         $(RM) $*.b
6502         $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS)  $*.f90
6504 ###########################################################
6505 #ARCH   HP-UX   PA8600  32bit   (single-threaded, no nesting)
6507 OMP             =       
6508 OMPCPP          =       
6509 FC              =       f90
6510 SFC             =       $(FC)
6511 LD              =       f90
6512 CC              =       cc
6513 SCC             =       $(CC)
6514 RWORDSIZE       =       CONFIGURE_RWORDSIZE
6515 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6516                         $(DA_ARCHFLAGS) \
6517                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
6518 PROMOTION       =       -r$(RWORDSIZE) -i4
6519 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
6520 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
6521                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6522 FCDEBUG         =       # -g
6523 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
6524 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6525 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6526 ESMF_LIB_FLAGS  =       
6527 ESMF_IO_LIB     =       ESMFIOLIB
6528 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6529 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6530                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6531 PERL            =       CONFIGURE_PERL_PATH
6532 REGISTRY        =       Registry
6533 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6534                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6535                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6536                         CONFIGURE_GRIB2_LIB \
6537                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6538                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
6539 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6540 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6541 CPP             =        /lib/cpp
6542 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6543 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6544 AR              =       ar ru
6545 M4              =       m4 -B14000
6546 RANLIB          =       echo
6547 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6548 CC_TOOLS        =       cc
6550 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6552 module_dm.F :
6553         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6555 wrfio_nf : 
6556         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6557           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6559 wrfio_int : 
6560         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6561           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6563 wrfio_grib_share :
6564         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6565           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6567 wrfio_grib1 : 
6568         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6569           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6570           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6571 wrfio_grib2 : 
6572         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6573           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6574           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6576 esmf_time : 
6577         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6578           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6580 fftpack :
6581         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6582           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6584 # compile these without high optimization to speed compile
6585 solve_interface.o : solve_interface.F
6586 shift_domain_em.o : shift_domain_em.F
6587 module_io_mm5.o : module_io_mm5.F
6588 module_si_io.o : module_si_io.F
6589 module_io_wrf.o : module_io_wrf.F
6590 module_domain.o : module_domain.F
6591 module_start.o : module_start.F
6592 module_initialize.o : module_initialize.F
6593 module_initialize_b_wave.o : module_initialize_b_wave.F
6594 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6595 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6596 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6597 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6598 module_initialize_real.o : module_initialize_real.F
6599 module_dm.o : module_dm.F
6600 module_comm_dm.o : module_comm_dm.F
6601 mediation_integrate.o : mediation_integrate.F
6602 start_domain.o : start_domain.F
6603 module_configure.o : module_configure.F
6605 solve_interface.o                                              \
6606 shift_domain_em.o                                              \
6607 module_configure.o                                              \
6608 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6609 module_start.o module_initialize.o module_initialize_b_wave.o  \
6610 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6611 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6612 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6613         $(RM) $@
6614         $(SED_FTN) $*.F > $*.b 
6615         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
6616         $(RM) $*.b
6617         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6619 ###########################################################
6620 #ARCH   HP-UX   Itanium2        (single-threaded, no nesting)
6622 OMP             =       
6623 OMPCPP          =       
6624 FC              =       f90
6625 SFC             =       $(FC)
6626 LD              =       f90
6627 CC              =       cc
6628 SCC             =       $(CC)
6629 RWORDSIZE       =       CONFIGURE_RWORDSIZE
6630 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6631                         $(DA_ARCHFLAGS) \
6632                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
6633 PROMOTION       =       -r$(RWORDSIZE) -i4
6634 CFLAGS          =       $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
6635 FCOPTIM         =       +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
6636                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6637 FCDEBUG         =       # -g
6638 FCBASEOPTS      =       +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
6639 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6640 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6641 ESMF_LIB_FLAGS  =       
6642 ESMF_IO_LIB     =       ESMFIOLIB
6643 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6644 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6645                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6646 PERL            =       CONFIGURE_PERL_PATH
6647 REGISTRY        =       Registry
6648 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6649                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6650                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6651                         CONFIGURE_GRIB2_LIB \
6652                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6653                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
6654 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6655 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6656 CPP             =        /lib/cpp
6657 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6658 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6659 AR              =       ar ru
6660 M4              =       m4 -B14000
6661 RANLIB          =       echo
6662 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6663 CC_TOOLS        =       cc
6665 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6667 module_dm.F :
6668         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6670 wrfio_nf : 
6671         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6672           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6674 wrfio_int : 
6675         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6676           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6678 wrfio_grib_share :
6679         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6680           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6681           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6683 wrfio_grib1 : 
6684         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6685           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6686           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6687 wrfio_grib2 : 
6688         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6689           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6690           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6692 esmf_time : 
6693         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6694           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6696 fftpack :
6697         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6698           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6700 # compile these without high optimization to speed compile
6701 solve_interface.o : solve_interface.F
6702 shift_domain_em.o : shift_domain_em.F
6703 module_io_mm5.o : module_io_mm5.F
6704 module_si_io.o : module_si_io.F
6705 module_io_wrf.o : module_io_wrf.F
6706 module_domain.o : module_domain.F
6707 module_start.o : module_start.F
6708 module_initialize.o : module_initialize.F
6709 module_initialize_b_wave.o : module_initialize_b_wave.F
6710 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6711 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6712 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6713 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6714 module_initialize_real.o : module_initialize_real.F
6715 module_dm.o : module_dm.F
6716 module_comm_dm.o : module_comm_dm.F
6717 mediation_integrate.o : mediation_integrate.F
6718 start_domain.o : start_domain.F
6719 module_configure.o : module_configure.F
6721 solve_interface.o                                              \
6722 shift_domain_em.o                                              \
6723 module_configure.o                                              \
6724 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6725 module_start.o module_initialize.o module_initialize_b_wave.o  \
6726 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6727 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6728 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6729         $(RM) $@
6730         $(SED_FTN) $*.F > $*.b 
6731         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
6732         $(RM) $*.b
6733         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6735 ###########################################################
6736 #ARCH   HP-UX   PA8600          32bit   (openmp, no nesting)
6738 OMP             =       +Oopenmp 
6739 OMPCPP          =       -D_OPENMP
6740 FC              =       f90
6741 SFC             =       $(FC)
6742 LD              =       f90
6743 CC              =       cc
6744 SCC             =       $(CC)
6745 RWORDSIZE       =       CONFIGURE_RWORDSIZE
6746 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
6747                         $(DA_ARCHFLAGS) \
6748                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
6749 PROMOTION       =       -r$(RWORDSIZE) -i4
6750 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
6751 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
6752                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
6753 FCDEBUG         =       # -g
6754 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a $(FCDEBUG)
6755 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6756 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6757 ESMF_LIB_FLAGS  =       
6758 ESMF_IO_LIB     =       ESMFIOLIB
6759 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6760 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6761                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6762 PERL            =       CONFIGURE_PERL_PATH
6763 REGISTRY        =       Registry
6764 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6765                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6766                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6767                         CONFIGURE_GRIB2_LIB \
6768                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6769                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
6770 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
6771 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6772 CPP             =        /lib/cpp
6773 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6774 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
6775 AR              =       ar ru
6776 M4              =       m4 -B14000
6777 RANLIB          =       echo
6778 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6779 CC_TOOLS        =       cc
6781 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6783 module_dm.F :
6784         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6786 wrfio_nf : 
6787         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
6788           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
6790 wrfio_int : 
6791         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6792           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
6794 wrfio_grib_share :
6795         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6796           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6797           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
6799 wrfio_grib1 : 
6800         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6801           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
6802           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6803 wrfio_grib2 : 
6804         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6805           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
6806           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
6808 esmf_time : 
6809         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6810           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6812 fftpack :
6813         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6814           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6816 # compile these without high optimization to speed compile
6817 solve_interface.o : solve_interface.F
6818 shift_domain_em.o : shift_domain_em.F
6819 module_io_mm5.o : module_io_mm5.F
6820 module_si_io.o : module_si_io.F
6821 module_io_wrf.o : module_io_wrf.F
6822 module_domain.o : module_domain.F
6823 module_start.o : module_start.F
6824 module_initialize.o : module_initialize.F
6825 module_initialize_b_wave.o : module_initialize_b_wave.F
6826 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6827 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6828 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6829 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6830 module_initialize_real.o : module_initialize_real.F
6831 module_dm.o : module_dm.F
6832 module_comm_dm.o : module_comm_dm.F
6833 mediation_integrate.o : mediation_integrate.F
6834 start_domain.o : start_domain.F
6835 module_configure.o : module_configure.F
6837 solve_interface.o                                              \
6838 shift_domain_em.o                                              \
6839 module_configure.o                                              \
6840 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6841 module_start.o module_initialize.o module_initialize_b_wave.o  \
6842 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6843 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6844 module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
6845         $(RM) $@
6846         $(SED_FTN) $*.F > $*.b 
6847         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
6848         $(RM) $*.b
6849         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
6851 ###########################################################
6852 #ARCH Darwin            (single-threaded, xlf, no nesting)
6853 #     
6854 #     Using -qfloat=nomaf option can result in identical results with
6855 #           non-optimized and optimized results (suggested by Fovell of UCLA)
6856 #           One may turn on by uncommenting it in FCOPTIM line
6858 FC              =       xlf90_r
6859 SFC             =       $(FC)
6860 LD              =       xlf90_r
6861 #CC              =       cc_r
6862 CC              =       cc
6863 SCC             =       $(CC)
6864 RWORDSIZE       = CONFIGURE_RWORDSIZE
6865 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
6866 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
6867 FCOPTIM         =       -O3 -qarch=auto #-qfloat=nomaf
6868 FCDEBUG         =       # -qnoopt -qfullpath
6869 FCBASEOPTS      =       -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w 
6870 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
6871 FCSUFFIX        =       -qsuffix=f=f90
6872 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6873 ESMF_LIB_FLAGS  =       
6874 ESMF_IO_LIB     =       ESMFIOLIB
6875 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6876 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
6877                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
6878 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
6879                         $(DA_ARCHFLAGS) \
6880                         CONFIGURE_NETCDF_FLAG \
6881                         -DLIMIT_ARGS  -DLANDREAD_STUB -DMAC_KLUDGE
6882 #                       -DLIMIT_ARGS  -DNATIVE_MASSV -DMACOS
6883 PERL            =       CONFIGURE_PERL_PATH
6884 REGISTRY        =       Registry
6885 #LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv 
6886 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
6887                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
6888                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
6889                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
6890                         CONFIGURE_GRIB2_LIB \
6891                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
6892                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
6894 LDFLAGS         =        -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
6895 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6896 #CPP             =       /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
6897 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
6898 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6899 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) 
6900 AR              =       ar ru
6901 M4              =       m4 -B 14000
6902 RANLIB          =       ranlib
6903 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6904 CC_TOOLS        =       cc
6906 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
6908 module_dm.F :
6909         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6911 wrfio_nf : 
6912         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
6914 wrfio_int : 
6915         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
6916           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
6918 wrfio_grib_share :
6919         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
6920           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
6922 wrfio_grib1 :
6923         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
6924           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
6926 wrfio_grib2 :
6927         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
6928           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
6930 esmf_time : 
6931         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
6932           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
6934 fftpack :
6935         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
6936           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
6938 solve_interface.o : solve_interface.F
6939         $(RM) $@
6940         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
6941         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
6943 # compile these without high optimization to speed compile
6944 shift_domain_em.o : shift_domain_em.F
6945 module_io_mm5.o : module_io_mm5.F
6946 module_si_io.o : module_si_io.F
6947 module_io_wrf.o : module_io_wrf.F
6948 module_domain.o : module_domain.F
6949 module_start.o : module_start.F
6950 module_initialize.o : module_initialize.F
6951 module_initialize_b_wave.o : module_initialize_b_wave.F
6952 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6953 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6954 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6955 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6956 module_initialize_real.o : module_initialize_real.F
6957 module_dm.o : module_dm.F
6958 module_comm_dm.o : module_comm_dm.F
6959 start_domain.o : start_domain.F
6960 solve_em.o : solve_em.F
6961 mediation_interp_domain.o : mediation_interp_domain.F
6962 mediation_force_domain.o : mediation_force_domain.F
6963 mediation_feedback_domain.o : mediation_feedback_domain.F
6964 convert_nmm.o : convert_nmm.F
6965 module_configure.o : module_configure.F
6967 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6968 module_start.o module_initialize.o module_initialize_b_wave.o  \
6969 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6970 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6971 module_initialize_real.o module_dm.o module_comm_dm.o \
6972 shift_domain_em.o                                              \
6973 mediation_interp_domain.o \
6974 module_configure.o                                             \
6975 solve_em.o \
6976 convert_nmm.o :
6977         $(RM) $@
6978         $(SED_FTN) $*.F > $*.b 
6979         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
6980         $(RM) $*.b
6981         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
6983 ###########################################################
6984 #ARCH Darwin            (OpenMP, xlf, no nesting)
6985 #     
6986 #     Using -qfloat=nomaf option can result in identical results with
6987 #           non-optimized and optimized results (suggested by Fovell of UCLA)
6988 #           One may turn on by uncommenting it in FCOPTIM line
6990 OMP             =       -qsmp=noauto
6991 OMPCPP          =       -D_OPENMP
6992 FC              =       xlf90_r
6993 SFC             =       $(FC)
6994 LD              =       xlf90_r
6995 CC              =       cc
6996 SCC             =       $(CC)
6997 RWORDSIZE       = CONFIGURE_RWORDSIZE
6998 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
6999 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
7000 FCOPTIM         =       -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
7001 FCDEBUG         =       # -qnoopt -qfullpath
7002 FCBASEOPTS      =       -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
7003 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7004 FCSUFFIX        =       -qsuffix=f=f90
7005 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7006 ESMF_LIB_FLAGS  =       
7007 ESMF_IO_LIB     =       ESMFIOLIB
7008 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7009 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7010                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
7011 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7012                         $(DA_ARCHFLAGS) \
7013                         CONFIGURE_NETCDF_FLAG \
7014                         -DLIMIT_ARGS  -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
7015 PERL            =       CONFIGURE_PERL_PATH
7016 REGISTRY        =       Registry
7017 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
7018                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7019                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7020                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7021                         CONFIGURE_GRIB2_LIB \
7022                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7023                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7024 LDFLAGS         =       $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000  CONFIGURE_LDFLAGS
7025 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7026 CPP             =        /usr/bin/cpp -C -P -xassembler-with-cpp
7027 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7028 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
7029 AR              =       ar ru
7030 M4              =       m4 -B 14000
7031 RANLIB          =       ranlib
7032 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7033 CC_TOOLS        =       $(CC)
7035 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7037 module_dm.F :
7038         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7040 wrfio_nf : 
7041         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
7043 wrfio_int : 
7044         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7045           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
7047 wrfio_grib_share :
7048         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7049           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
7051 wrfio_grib1 :
7052         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7053           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
7055 wrfio_grib2 :
7056         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7057           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
7059 esmf_time : 
7060         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7061           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7063 fftpack :
7064         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7065           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7068 module_configure.o : module_configure.F
7069 module_domain.o   : module_domain.F
7070 module_sm.o     : module_sm.F
7071 module_tiles.o  : module_tiles.F
7072 solve_em.o      : solve_em.F
7073 solve_exp.o     : solve_exp.F
7074 convert_nmm.o   : convert_nmm.F
7076 module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
7077         $(RM) $@
7078         $(SED_FTN) $*.F > $*.b 
7079         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7080         $(RM) $*.b
7081         $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
7083 module_domain.o :
7084         $(RM) $@
7085         $(SED_FTN) $*.F90 > $*.b 
7086         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7087         $(RM) $*.b
7088         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
7090 ###########################################################
7091 #ARCH Darwin            (OpenMP, pgf90, no nesting)
7092 #     
7093 #     Using -qfloat=nomaf option can result in identical results with
7094 #           non-optimized and optimized results (suggested by Fovell of UCLA)
7095 #           One may turn on by uncommenting it in FCOPTIM line
7097 OMP             =       -mp
7098 OMPCPP          =       -D_OPENMP
7099 FC              =       pgf90
7100 LD              =       pgf90
7101 CC              =       pgcc
7102 SCC             =       $(CC)
7103 SFC             =       $(FC)
7104 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7105 PROMOTION       =       -r$(RWORDSIZE) -i4
7106 CFLAGS          =       -DMACOS
7107 FCOPTIM         =       -O2 # -fast
7108 FCDEBUG         =       #-g
7109 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
7110 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
7111 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7112 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7113                         $(DA_ARCHFLAGS) \
7114                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7115                         -DLIMIT_ARGS 
7116 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7117 ESMF_LIB_FLAGS  =       
7118 ESMF_IO_LIB     =       ESMFIOLIB
7119 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7120 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7121                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7122 PERL            =       perl
7123 REGISTRY        =       Registry
7124 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7125                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7126                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7127                         CONFIGURE_GRIB2_LIB \
7128                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7129                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7130 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7131 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7132 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7133 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7134 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7135 AR              =       ar ru
7136 M4              =       m4 -B 14000
7137 RANLIB          =       ranlib
7138 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7139 CC_TOOLS        =       $(CC)
7141 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7143 module_dm.F :
7144         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7146 wrfio_nf : 
7147         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7148           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7150 wrfio_grib_share :
7151         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7152           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7154 wrfio_grib1 :
7155         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7156           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7158 wrfio_grib2 :
7159         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7160           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
7162 wrfio_int : 
7163         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7164           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7165           TRADFLAG="-traditional" all )
7167 esmf_time : 
7168         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7169           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7171 fftpack :
7172         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7173           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7175 # compile these without high optimization to speed compile
7176 solve_interface.o : solve_interface.F
7177 shift_domain_em.o : shift_domain_em.F
7178 module_io_mm5.o : module_io_mm5.F
7179 module_si_io.o : module_si_io.F
7180 module_io_wrf.o : module_io_wrf.F
7181 module_domain.o : module_domain.F
7182 module_start.o : module_start.F
7183 module_initialize.o : module_initialize.F
7184 module_initialize_b_wave.o : module_initialize_b_wave.F
7185 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7186 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7187 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7188 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7189 module_initialize_real.o : module_initialize_real.F
7190 module_dm.o : module_dm.F
7191 module_comm_dm.o : module_comm_dm.F
7192 start_domain.o : start_domain.F
7193 mediation_integrate.o : mediation_integrate.F
7194 module_configure.o : module_configure.F
7196 solve_interface.o                                              \
7197 shift_domain_em.o                                              \
7198 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7199 module_start.o module_initialize.o module_initialize_b_wave.o  \
7200 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7201 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7202 module_configure.o                                             \
7203 mediation_integrate.o \
7204 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7205         $(RM) $@
7206         $(SED_FTN) $*.F > $*.b 
7207         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7208         $(RM) $*.b
7209         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7211 ###########################################################
7212 #ARCH Darwin            (ifort, single-threaded, no nesting)
7213 #     
7214 #     Using -qfloat=nomaf option can result in identical results with
7215 #           non-optimized and optimized results (suggested by Fovell of UCLA)
7216 #           One may turn on by uncommenting it in FCOPTIM line
7218 OMP             =       
7219 OMPCPP          =       
7220 FC              =       ifort
7221 LD              =       ifort
7222 CC              =       gcc
7223 SCC             =       $(CC)
7224 SFC             =       $(FC)
7225 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7226 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7227 PROMOTION       =       -real_size $(RSIZEBITS)
7228 CFLAGS          =       -DMACOS
7229 FCOPTIM         =       -O3 # -fast
7230 FCDEBUG         =       #-g
7231 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7232 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7233 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7234                         $(DA_ARCHFLAGS) \
7235                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7236                         -DLIMIT_ARGS 
7237 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7238 ESMF_LIB_FLAGS  =       
7239 ESMF_IO_LIB     =       ESMFIOLIB
7240 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7241 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7242                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7243 PERL            =       perl
7244 REGISTRY        =       Registry
7245 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7246                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7247                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7248                         CONFIGURE_GRIB2_LIB \
7249                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7250                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7251 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7252 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7253 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7254 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7255 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7256 AR              =       ar ru
7257 M4              =       m4 -B 14000
7258 RANLIB          =       ranlib
7259 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7260 CC_TOOLS        =       $(CC)
7262 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7264 module_dm.F :
7265         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7267 wrfio_nf : 
7268         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7269           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7271 wrfio_grib_share :
7272         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7273           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7275 wrfio_grib1 :
7276         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7277           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7279 wrfio_grib2 :
7280         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7281           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
7283 wrfio_int : 
7284         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7285           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7286           TRADFLAG="-traditional" all )
7288 esmf_time : 
7289         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7290           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7292 fftpack :
7293         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7294           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7296 # compile these without high optimization to speed compile
7297 solve_interface.o : solve_interface.F
7298 shift_domain_em.o : shift_domain_em.F
7299 module_io_mm5.o : module_io_mm5.F
7300 module_si_io.o : module_si_io.F
7301 module_io_wrf.o : module_io_wrf.F
7302 module_domain.o : module_domain.F
7303 module_start.o : module_start.F
7304 module_initialize.o : module_initialize.F
7305 module_initialize_b_wave.o : module_initialize_b_wave.F
7306 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7307 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7308 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7309 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7310 module_initialize_real.o : module_initialize_real.F
7311 module_dm.o : module_dm.F
7312 module_comm_dm.o : module_comm_dm.F
7313 start_domain.o : start_domain.F
7314 mediation_integrate.o : mediation_integrate.F
7315 module_configure.o : module_configure.F
7317 solve_interface.o                                              \
7318 shift_domain_em.o                                              \
7319 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7320 module_start.o module_initialize.o module_initialize_b_wave.o  \
7321 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7322 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7323 module_configure.o                                             \
7324 mediation_integrate.o \
7325 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7326         $(RM) $@
7327         $(SED_FTN) $*.F > $*.b 
7328         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7329         $(RM) $*.b
7330         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7333 ###########################################################
7334 #ARCH Darwin            (ifort, single-threaded, nesting, RSL_LITE w/o MPI)
7335 #     
7336 #     Using -qfloat=nomaf option can result in identical results with
7337 #           non-optimized and optimized results (suggested by Fovell of UCLA)
7338 #           One may turn on by uncommenting it in FCOPTIM line
7340 OMP             =       
7341 OMPCPP          =       
7342 FC              =       ifort
7343 LD              =       ifort
7344 CC              =       gcc
7345 SCC             =       $(CC)
7346 SFC             =       $(FC)
7347 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7348 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7349 PROMOTION       =       -real_size $(RSIZEBITS)
7350 CFLAGS          =       -DMACOS -DSTUBMPI
7351 FCOPTIM         =       -O3 # -fast
7352 FCDEBUG         =       #-g
7353 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp -DSTUBMPI
7354 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7355 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7356                         $(DA_ARCHFLAGS) \
7357                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7358                         -DLIMIT_ARGS 
7359 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7360 ESMF_LIB_FLAGS  =       
7361 ESMF_IO_LIB     =       ESMFIOLIB
7362 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7363 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7364                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7365 PERL            =       perl
7366 REGISTRY        =       Registry
7367 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7368                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7369                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7370                         CONFIGURE_GRIB2_LIB \
7371                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7372                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7373 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7374 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7375 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7376 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7377 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7378 AR              =       ar ru
7379 M4              =       m4 -B 14000
7380 RANLIB          =       ranlib
7381 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7382 CC_TOOLS        =       $(CC)
7384 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
7386 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
7387         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
7389 wrfio_nf : 
7390         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7391           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7393 wrfio_grib_share :
7394         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7395           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7397 wrfio_grib1 :
7398         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7399           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7401 wrfio_grib2 :
7402         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7403           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
7405 wrfio_int : 
7406         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7407           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7408           TRADFLAG="-traditional" all )
7410 esmf_time : 
7411         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7412           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7414 fftpack :
7415         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7416           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7418 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
7419         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
7421 # compile these without high optimization to speed compile
7422 solve_interface.o : solve_interface.F
7423 shift_domain_em.o : shift_domain_em.F
7424 module_io_mm5.o : module_io_mm5.F
7425 module_si_io.o : module_si_io.F
7426 module_io_wrf.o : module_io_wrf.F
7427 module_domain.o : module_domain.F
7428 module_start.o : module_start.F
7429 module_initialize.o : module_initialize.F
7430 module_initialize_b_wave.o : module_initialize_b_wave.F
7431 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7432 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7433 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7434 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7435 module_initialize_real.o : module_initialize_real.F
7436 module_dm.o : module_dm.F
7437 module_comm_dm.o : module_comm_dm.F
7438 start_domain.o : start_domain.F
7439 mediation_integrate.o : mediation_integrate.F
7440 module_configure.o : module_configure.F
7442 solve_interface.o                                              \
7443 shift_domain_em.o                                              \
7444 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7445 module_start.o module_initialize.o module_initialize_b_wave.o  \
7446 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7447 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7448 module_configure.o                                             \
7449 mediation_integrate.o \
7450 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7451         $(RM) $@
7452         $(SED_FTN) $*.F > $*.b 
7453         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7454         $(RM) $*.b
7455         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7457 ###########################################################
7458 #ARCH Darwin            (OpenMP, ifort, no nesting)
7459 #     
7460 #     Using -qfloat=nomaf option can result in identical results with
7461 #           non-optimized and optimized results (suggested by Fovell of UCLA)
7462 #           One may turn on by uncommenting it in FCOPTIM line
7464 OMP             =       -openmp -fpp -auto
7465 OMPCPP          =       -D_OPENMP
7466 FC              =       ifort
7467 LD              =       ifort
7468 CC              =       gcc
7469 SCC             =       $(CC)
7470 SFC             =       $(FC)
7471 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7472 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7473 PROMOTION       =       -real_size $(RSIZEBITS)
7474 CFLAGS          =       -DMACOS
7475 FCOPTIM         =       -O3 # -fast
7476 FCDEBUG         =       #-g
7477 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7478 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7479 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7480                         $(DA_ARCHFLAGS) \
7481                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DMACOS \
7482                         -DLIMIT_ARGS 
7483 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7484 ESMF_LIB_FLAGS  =       
7485 ESMF_IO_LIB     =       ESMFIOLIB
7486 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7487 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7488                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7489 PERL            =       perl
7490 REGISTRY        =       Registry
7491 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7492                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7493                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7494                         CONFIGURE_GRIB2_LIB \
7495                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7496                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7497 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS -i-static -static-libcxa
7498 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7499 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7500 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7501 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7502 AR              =       ar ru
7503 M4              =       m4 -B 14000
7504 RANLIB          =       ranlib
7505 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7506 CC_TOOLS        =       $(CC)
7508 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7510 module_dm.F :
7511         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7513 wrfio_nf : 
7514         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7515           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7517 wrfio_grib_share :
7518         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7519           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7521 wrfio_grib1 :
7522         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7523           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7525 wrfio_grib2 :
7526         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7527           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
7529 wrfio_int : 
7530         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7531           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7532           TRADFLAG="-traditional" all )
7534 esmf_time : 
7535         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7536           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7538 fftpack :
7539         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7540           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7542 # compile these without high optimization to speed compile
7543 solve_interface.o : solve_interface.F
7544 shift_domain_em.o : shift_domain_em.F
7545 module_io_mm5.o : module_io_mm5.F
7546 module_si_io.o : module_si_io.F
7547 module_io_wrf.o : module_io_wrf.F
7548 module_domain.o : module_domain.F
7549 module_start.o : module_start.F
7550 module_initialize.o : module_initialize.F
7551 module_initialize_b_wave.o : module_initialize_b_wave.F
7552 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7553 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7554 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7555 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7556 module_initialize_real.o : module_initialize_real.F
7557 module_dm.o : module_dm.F
7558 module_comm_dm.o : module_comm_dm.F
7559 start_domain.o : start_domain.F
7560 mediation_integrate.o : mediation_integrate.F
7561 module_configure.o : module_configure.F
7563 solve_interface.o                                              \
7564 shift_domain_em.o                                              \
7565 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7566 module_start.o module_initialize.o module_initialize_b_wave.o  \
7567 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7568 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7569 module_configure.o                                             \
7570 mediation_integrate.o \
7571 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7572         $(RM) $@
7573         $(SED_FTN) $*.F > $*.b 
7574         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7575         $(RM) $*.b
7576         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7578 ###########################################################
7579 #ARCH Darwin            (RSL_LITE, pgf90, OpenMP, allows nesting)
7581 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7582 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7584 OMP             =       -mp
7585 OMPCPP          =       -D_OPENMP
7586 DMPARALLEL      =       1
7587 MAX_PROC        =       1024
7588 FC              =       mpif90 -f90=pgf90
7589 LD              =       mpif90 -f90=pgf90
7590 CC              =       mpicc -cc=pgcc
7591 SCC             =       pgcc
7592 SFC             =       pgf90
7593 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7594 PROMOTION       =       -r$(RWORDSIZE) -i4
7595 CFLAGS          =       -DDM_PARALLEL \
7596                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DMACOS
7597 #FCOPTIM                =       -fastsse 
7598 FCOPTIM         =       -O2 # -fast
7599 FCDEBUG         =       #-g
7600 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
7601 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
7602 #Options for Debian Sarge systems
7603 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
7604 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7605 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL -DMACOS \
7606                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7607                         $(DA_ARCHFLAGS) \
7608                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
7609 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7610 ESMF_LIB_FLAGS  =       
7611 ESMF_IO_LIB     =       ESMFIOLIB
7612 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7613 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7614                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7615 PERL            =       perl
7616 REGISTRY        =       Registry
7617 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite $(OMP) \
7618                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7619                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7620                         CONFIGURE_GRIB2_LIB \
7621                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7622                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7623                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7624 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
7625 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7626 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7627 POUND_DEF       =       $(OMPCPP) -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7628 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7629 AR              =       ar ru
7630 M4              =       m4 -B 14000
7631 RANLIB          =       ranlib
7632 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7633 CC_TOOLS        =       cc
7635 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
7637 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
7638         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
7639           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
7641 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
7642         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
7644 wrfio_nf : 
7645         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7646           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7648 wrfio_grib_share :
7649         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7650           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7652 wrfio_grib1 :
7653         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7654           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7656 wrfio_grib2 :
7657         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7658           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
7660 wrfio_int : 
7661         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7662           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7664 esmf_time : 
7665         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7666           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7668 fftpack :
7669         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7670           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7672 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
7673         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
7675 # compile these without high optimization to speed compile
7676 solve_interface.o : solve_interface.F
7677 shift_domain_em.o : shift_domain_em.F
7678 module_io_mm5.o : module_io_mm5.F
7679 module_si_io.o : module_si_io.F
7680 module_io_wrf.o : module_io_wrf.F
7681 module_domain.o : module_domain.F
7682 module_start.o : module_start.F
7683 module_initialize.o : module_initialize.F
7684 module_initialize_b_wave.o : module_initialize_b_wave.F
7685 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7686 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7687 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7688 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7689 module_initialize_real.o : module_initialize_real.F
7690 module_dm.o : module_dm.F
7691 module_comm_dm.o : module_comm_dm.F
7692 start_domain.o : start_domain.F
7693 mediation_integrate.o : mediation_integrate.F
7694 module_configure.o : module_configure.F
7696 solve_interface.o                                              \
7697 shift_domain_em.o                                              \
7698 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7699 module_start.o module_initialize.o module_initialize_b_wave.o  \
7700 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7701 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7702 module_configure.o                                             \
7703 mediation_integrate.o \
7704 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7705         $(RM) $@
7706         $(SED_FTN) $*.F > $*.b 
7707         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
7708         $(RM) $*.b
7709         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
7711 #PGI    if [ ! -e $@ ] ; then \
7712 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7713 #PGI    fi
7714 #PGI    if [ ! -e $@ ] ; then \
7715 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7716 #PGI    fi
7717 #PGI    if [ ! -e $@ ] ; then \
7718 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
7719 #PGI    fi
7721 ###########################################################
7722 #ARCH Darwin            (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs)
7723 #     
7724 #     Using -qfloat=nomaf option can result in identical results with
7725 #           non-optimized and optimized results (suggested by Fovell of UCLA)
7726 #           One may turn on by uncommenting it in FCOPTIM line
7728 FC              =       xlf90_r
7729 SFC             =       $(FC)
7730 LD              =       xlf90_r
7731 #CC              =       cc_r
7732 CC              =       gcc-3.3
7733 SCC             =       $(CC)
7734 RWORDSIZE       = CONFIGURE_RWORDSIZE
7735 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
7736 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
7737 FCOPTIM         =       -O3 -qarch=auto #-qfloat=nomaf
7738 FCDEBUG         =       # -qnoopt -qfullpath
7739 FCBASEOPTS      =       -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w 
7740 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7741 FCSUFFIX        =       -qsuffix=f=f90
7742 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7743 ESMF_LIB_FLAGS  =       
7744 ESMF_IO_LIB     =       ESMFIOLIB
7745 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7746 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7747                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
7748 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7749                         $(DA_ARCHFLAGS) \
7750                         CONFIGURE_NETCDF_FLAG \
7751                         -DLIMIT_ARGS  -DLANDREAD_STUB -DMAC_KLUDGE
7752 #                       -DLIMIT_ARGS  -DNATIVE_MASSV -DMACOS
7753 PERL            =       CONFIGURE_PERL_PATH
7754 REGISTRY        =       Registry
7755 #LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv 
7756 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7757                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7758                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
7759                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7760                         CONFIGURE_GRIB2_LIB \
7761                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7762                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7764 LDFLAGS         =        -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs
7765 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7766 CPP             =       /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
7767 #CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
7768 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7769 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) 
7770 AR              =       ar ru
7771 M4              =       m4 -B 14000
7772 RANLIB          =       ranlib
7773 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7774 CC_TOOLS        =       cc
7776 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
7778 module_dm.F :
7779         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7781 wrfio_nf : 
7782         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
7784 wrfio_int : 
7785         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7786           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
7788 wrfio_grib_share :
7789         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7790           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
7792 wrfio_grib1 :
7793         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7794           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
7796 wrfio_grib2 :
7797         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7798           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
7800 esmf_time : 
7801         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7802           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7804 fftpack :
7805         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7806           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7808 solve_interface.o : solve_interface.F
7809         $(RM) $@
7810         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
7811         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
7813 # compile these without high optimization to speed compile
7814 shift_domain_em.o : shift_domain_em.F
7815 module_io_mm5.o : module_io_mm5.F
7816 module_si_io.o : module_si_io.F
7817 module_io_wrf.o : module_io_wrf.F
7818 module_domain.o : module_domain.F
7819 module_start.o : module_start.F
7820 module_initialize.o : module_initialize.F
7821 module_initialize_b_wave.o : module_initialize_b_wave.F
7822 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7823 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7824 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7825 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7826 module_initialize_real.o : module_initialize_real.F
7827 module_dm.o : module_dm.F
7828 module_comm_dm.o : module_comm_dm.F
7829 start_domain.o : start_domain.F
7830 solve_em.o : solve_em.F
7831 mediation_interp_domain.o : mediation_interp_domain.F
7832 mediation_force_domain.o : mediation_force_domain.F
7833 mediation_feedback_domain.o : mediation_feedback_domain.F
7834 convert_nmm.o : convert_nmm.F
7835 module_configure.o : module_configure.F
7837 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7838 module_start.o module_initialize.o module_initialize_b_wave.o  \
7839 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7840 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7841 module_initialize_real.o module_dm.o module_comm_dm.o \
7842 shift_domain_em.o                                              \
7843 mediation_interp_domain.o \
7844 module_configure.o                                             \
7845 solve_em.o \
7846 convert_nmm.o :
7847         $(RM) $@
7848         $(SED_FTN) $*.F > $*.b 
7849         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
7850         $(RM) $*.b
7851         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
7853 ###########################################################
7854 #ARCH   Darwin g95      (Single-threaded, no nesting)
7856 FC              =       g95
7857 LD              =       g95
7858 CC              =       gcc -DMACOS -DF2CSTYLE
7859 SCC             =       $(CC)
7860 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7861 SFC             =       $(FC)
7862 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
7863 #PROMOTION      =       -r$(RWORDSIZE) -i4
7864 PROMOTION       =       -i4
7865 CFLAGS          =       
7866 FCOPTIM         =       -O2 # -fast
7867 FCDEBUG         =       #-g -O0
7868 FCBASEOPTS      =       -Wno=101,139,155,158 -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
7869 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7870 ARCHFLAGS       =       -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7871                         $(DA_ARCHFLAGS) \
7872                          -DNETCDF -DGRIB1 -DLIMIT_ARGS -DG95 -DMACOS -DF2CSTYLE
7873 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7874 ESMF_LIB_FLAGS  =       
7875 ESMF_IO_LIB     =       ESMFIOLIB
7876 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7877 INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
7878                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
7879 PERL            =       perl
7880 REGISTRY        =       Registry
7881 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7882                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
7883                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
7884                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
7885                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
7886 LDFLAGS         =       $(FCFLAGS) 
7887 ENVCOMPDEFS     =       
7888 WRF_CHEM        =       0 
7889 CPP             =       /usr/bin/cpp -C -P -traditional
7890 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7891 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7892 AR              =       ar ru
7893 M4              =       m4 -B 14000
7894 RANLIB          =       ranlib
7895 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7896 CC_TOOLS        =       $(CC)
7898 #### Override default sed command and script for Fortran source files         ####
7899 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
7900 #### because the Fortran compiler complains about long source lines.          ####
7901 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
7903 externals : wrf_ioapi_includes wrfio_nf wrfio_grib_share wrfio_grib1  wrfio_int module_dm.F esmf_time fftpack
7905 module_dm.F :
7906         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7908 wrfio_nf : 
7909         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
7910           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7912 wrfio_grib_share :
7913         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
7914           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
7916 wrfio_grib1 :
7917         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
7918           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
7920 wrfio_grib2 :
7921         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
7922           make CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
7924 wrfio_int : 
7925         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
7926           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7927           TRADFLAG="-traditional" all )
7929 esmf_time : 
7930         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
7931           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
7933 fftpack :
7934         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
7935           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
7937 # compile these without high optimization to speed compile
7938 solve_interface.o : solve_interface.F
7939 shift_domain_em.o : shift_domain_em.F
7940 module_io_mm5.o : module_io_mm5.F
7941 module_si_io.o : module_si_io.F
7942 module_io_wrf.o : module_io_wrf.F
7943 module_domain.o : module_domain.F
7944 module_start.o : module_start.F
7945 module_initialize.o : module_initialize.F
7946 module_initialize_b_wave.o : module_initialize_b_wave.F
7947 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7948 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7949 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7950 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7951 module_initialize_real.o : module_initialize_real.F
7952 module_dm.o : module_dm.F
7953 module_comm_dm.o : module_comm_dm.F
7954 start_domain.o : start_domain.F
7955 mediation_integrate.o : mediation_integrate.F
7956 module_configure.o : module_configure.F
7958 solve_interface.o                                              \
7959 shift_domain_em.o                                              \
7960 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7961 module_start.o module_initialize.o module_initialize_b_wave.o  \
7962 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7963 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7964 mediation_integrate.o \
7965 module_configure.o                                             \
7966 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
7967         $(RM) $@
7968         $(SED_FTN) $*.F > $*.b 
7969         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
7970         $(RM) $*.b
7971         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7973 ###########################################################
7974 #ARCH     Darwin g95 compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting)
7976 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7977 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7979 DMPARALLEL      =       1
7980 MAX_PROC        =       1024
7981 FC              =       mpif90 -f90=g95
7982 LD              =       mpif90 -f90=g95
7983 CC              =       mpicc -cc=gcc -DMACOS -DF2CSTYLE
7984 SCC             =       gcc -DMACOS -DF2CSTYLE
7985 SFC             =       g95
7986 RWORDSIZE       =       CONFIGURE_RWORDSIZE
7987 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
7988 #PROMOTION      =       -r$(RWORDSIZE) -i4
7989 PROMOTION       =       -i4
7990 CFLAGS          =       -DDM_PARALLEL \
7991                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
7992 FCOPTIM         =       -O2 # -fast
7993 FCDEBUG         =       #-g -O0
7994 FCBASEOPTS      =       -Wno=101,139,155,158 -ffree-line-length-huge -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
7995 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7996 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
7997                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7998                         $(DA_ARCHFLAGS) \
7999                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95 -DMACOS -DF2CSTYLE
8000 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8001 ESMF_LIB_FLAGS  =       
8002 ESMF_IO_LIB     =       ESMFIOLIB
8003 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8004 INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8005                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8006 PERL            =       perl
8007 REGISTRY        =       Registry
8008 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
8009                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8010                         -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8011                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8012                         CONFIGURE_GRIB2_LIB \
8013                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8014                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8015                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
8016 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
8017 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8018 CPP             =       /usr/bin/cpp -C -P -traditional
8019 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8020 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8021 AR              =       ar ru
8022 M4              =       m4 -B 14000
8023 RANLIB          =       ranlib
8024 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8025 CC_TOOLS        =       cc
8027 #### Override default sed command and script for Fortran source files         ####
8028 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8029 #### because the Fortran compiler complains about long source lines.          ####
8030 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8032 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8034 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8035         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8036           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8038 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8039         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8041 wrfio_nf : 
8042         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8043           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8045 wrfio_grib_share :
8046         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8047           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8049 wrfio_grib1 :
8050         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8051           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8053 wrfio_grib2 :
8054         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8055           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive)
8057 wrfio_int : 
8058         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8059           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8061 esmf_time : 
8062         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8063           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8065 fftpack :
8066         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8067           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8069 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8070         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8072 # compile these without high optimization to speed compile
8073 solve_interface.o : solve_interface.F
8074 shift_domain_em.o : shift_domain_em.F
8075 module_io_mm5.o : module_io_mm5.F
8076 module_si_io.o : module_si_io.F
8077 module_io_wrf.o : module_io_wrf.F
8078 module_domain.o : module_domain.F
8079 module_start.o : module_start.F
8080 module_initialize.o : module_initialize.F
8081 module_initialize_b_wave.o : module_initialize_b_wave.F
8082 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8083 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8084 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8085 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8086 module_initialize_real.o : module_initialize_real.F
8087 module_dm.o : module_dm.F
8088 module_comm_dm.o : module_comm_dm.F
8089 start_domain.o : start_domain.F
8090 mediation_integrate.o : mediation_integrate.F
8091 module_configure.o : module_configure.F
8093 solve_interface.o                                              \
8094 shift_domain_em.o                                              \
8095 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8096 module_start.o module_initialize.o module_initialize_b_wave.o  \
8097 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8098 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8099 module_configure.o                                             \
8100 mediation_integrate.o \
8101 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8102         $(RM) $@
8103         $(SED_FTN) $*.F > $*.b 
8104         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8105         $(RM) $*.b
8106         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8108 ###########################################################
8109 #ARCH    PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting)
8111 FC              =       pathf90
8112 LD              =       pathf90
8113 CC              =       pathcc
8114 SCC             =       $(CC)
8115 NATIVE_RWORDSIZE=       4
8116 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8117 SFC             =       $(FC)
8118 PROMOTION       =       -r$(RWORDSIZE) -i4
8119 CFLAGS          =       
8120 FCOPTIM         =       -O3 -OPT:Ofast:Olimit=5000
8121 FCDEBUG         =       #-g
8122 FCBASEOPTS      =       -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs
8123 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8124 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8125                         $(DA_ARCHFLAGS) \
8126                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8127                         -DLIMIT_ARGS
8128 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8129 ESMF_LIB_FLAGS  =       
8130 ESMF_IO_LIB     =       ESMFIOLIB
8131 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8132 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8133                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8134 PERL            =       perl
8135 REGISTRY        =       Registry
8136 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
8137                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8138                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8139                         CONFIGURE_GRIB2_LIB \
8140                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8141                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8142 LDFLAGS         =       $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
8143 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8144 CPP             =       /lib/cpp -C -P -traditional
8145 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8146 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8147 AR              =       ar ru
8148 M4              =       m4 -B 14000
8149 RANLIB          =       ranlib
8150 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8151 CC_TOOLS        =       $(CC)
8152                                                                                 
8153 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8154                                                                                 
8155 module_dm.F :
8156         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8158 wrfio_nf :
8159         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8160         make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w -fno-second-underscore" TRADFLAG="-traditional" )
8161                                                                                 
8162 wrfio_grib_share :
8163         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8164           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
8166 wrfio_grib1 :
8167         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8168         make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8170 wrfio_grib2 :
8171         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8172         make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8174 wrfio_int :
8175         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8176         make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8177         TRADFLAG="-traditional" all )
8178                                                                                 
8179 esmf_time :
8180         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8181         make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8182                                                                                 
8183 fftpack :
8184         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8185           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8187 # compile these without high optimization to speed compile
8188 solve_interface.o : solve_interface.F
8189 shift_domain_em.o : shift_domain_em.F
8190 module_io_mm5.o : module_io_mm5.F
8191 module_si_io.o : module_si_io.F
8192 module_io_wrf.o : module_io_wrf.F
8193 module_domain.o : module_domain.F
8194 module_start.o : module_start.F
8195 module_initialize.o : module_initialize.F
8196 module_initialize_b_wave.o : module_initialize_b_wave.F
8197 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8198 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8199 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8200 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8201 module_initialize_real.o : module_initialize_real.F
8202 module_dm.o : module_dm.F
8203 module_comm_dm.o : module_comm_dm.F
8204 start_domain.o : start_domain.F
8205 mediation_integrate.o : mediation_integrate.F
8206 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
8207 module_configure.o : module_configure.F
8208                                                                                 
8209 solve_interface.o                                              \
8210 shift_domain_em.o                                              \
8211 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8212 module_start.o module_initialize.o module_initialize_b_wave.o  \
8213 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8214 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8215 mediation_integrate.o \
8216 module_configure.o                                             \
8217 module_fddaobs_rtfdda.o \
8218 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8219         $(RM) $@
8220         $(SED_FTN) $*.F > $*.b
8221         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8222         $(RM) $*.b
8223         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8225 ###########################################################
8226 #ARCH    PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel   (RSL_LITE, PathScale MPICH, No periodic LBCs)
8228 DMPARALLEL      =       1
8229 MAX_PROC        =       1024
8230 FC              =       mpif90 -f90=pathf90
8231 LD              =       mpif90 -f90=pathf90
8232 CC              =       mpicc  -cc=pathcc
8233 SCC             =       pathcc
8234 SFC             =       pathf90
8235 NATIVE_RWORDSIZE=       4
8236 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8237 CFLAGS          =       -DDM_PARALLEL \
8238                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8239 FCOPTIM         =       -O3 -OPT:Ofast:Olimit=5000
8240 FCDEBUG         =       #-g
8241 FCBASEOPTS      =       -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG)
8242 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8243 ARCHFLAGS       =       $(COREDEFS) -DINTIO -DDM_PARALLEL \
8244                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8245                         $(DA_ARCHFLAGS) \
8246                         -DLIMIT_ARGS
8247 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8248 ESMF_LIB_FLAGS  =       
8249 ESMF_IO_LIB     =       ESMFIOLIB
8250 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8251 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8252                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
8253 EXTRAMODULES    =
8254 PERL            =       perl
8255 REGISTRY        =       Registry
8256 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8257                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8258                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8259                         CONFIGURE_GRIB2_LIB \
8260                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8261                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8262                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
8263 LDFLAGS         =       -byteswapio
8264 CPP             =       /lib/cpp -C -P -traditional
8265 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8266 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(POUND_DEF)
8267 AR              =       ar ru
8268 M4              =       m4 -B 14000
8269 RANLIB          =       ranlib
8270 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8271 CC_TOOLS        =       pathcc
8272                                                                                 
8273 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8274                                                                                 
8275 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8276         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8277         cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8278                                                                                 
8279 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8280         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8281                                                                                 
8282 #io_flags:
8283 #       ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make flags_only ; \
8284 #       /bin/cp wrf_io_flags.h wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
8285 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 )
8286                                                                                 
8287 wrfio_nf : 
8288         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8289         make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \
8290         FFLAGS='$(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) )
8291                                                                                 
8292 wrfio_grib_share :
8293         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8294           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
8296 wrfio_grib1 :
8297         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8298         make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive )
8299                                                                                 
8300 wrfio_grib2 :
8301         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8302         make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive )
8303                                                                                 
8304 wrfio_int : 
8305         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8306         make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all )
8307                                                                                 
8308 esmf_time :
8309         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8310         make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8311                                                                                 
8312 fftpack :
8313         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8314           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8316 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8317         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8318                                                                                 
8319 # compile these without high optimization to speed compile
8320 solve_interface.o : solve_interface.F
8321 module_io_mm5.o : module_io_mm5.F
8322 module_si_io.o : module_si_io.F
8323 module_io_wrf.o : module_io_wrf.F
8324 module_domain.o : module_domain.F
8325 module_start.o : module_start.F
8326 module_initialize.o : module_initialize.F
8327 module_initialize_b_wave.o : module_initialize_b_wave.F
8328 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8329 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8330 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8331 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8332 module_initialize_real.o : module_initialize_real.F
8333 module_dm.o : module_dm.F
8334 module_comm_dm.o : module_comm_dm.F
8335 start_domain.o : start_domain.F
8336 mediation_integrate.o : mediation_integrate.F
8337 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
8338 module_configure.o : module_configure.F
8339                                                                                 
8340 solve_interface.o                                              \
8341 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8342 module_start.o module_initialize.o module_initialize_b_wave.o  \
8343 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8344 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8345 mediation_integrate.o \
8346 module_configure.o                                             \
8347 module_fddaobs_rtfdda.o \
8348 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8349         $(RM) $@
8350         $(SED_FTN) $*.F > $*.b
8351         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8352         $(RM) $*.b
8353         $(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8355 ###########################################################
8356 #ARCH    Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting)
8357 #        Note that for 5.1.x comment out -Mpia=fast
8359 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8360 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8362 DMPARALLEL      =       1
8363 MAX_PROC        =       1024
8364 FC              =       ftn
8365 LD              =       ftn
8366 CC              =       gcc -DMPI2_SUPPORT
8367 SCC             =       gcc
8368 SFC             =       mpif90
8369 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8370 PROMOTION       =       -r$(RWORDSIZE) -i4
8371 CFLAGS          =       -DDM_PARALLEL \
8372                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
8373                         -DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include
8374 FCOPTIM         =       -O3 -fastsse #-Mipa=fast
8375 FCDEBUG         =       #-g
8376 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
8377 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
8378 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8379 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
8380                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8381                         $(DA_ARCHFLAGS) \
8382                         -DLIMIT_ARGS -DLANDREAD_STUB  -DXT3_Catamount
8383 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8384 ESMF_LIB_FLAGS  =       
8385 ESMF_IO_LIB     =       ESMFIOLIB
8386 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8387 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8388                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
8389 PERL            =       perl
8390 REGISTRY        =       Registry
8391 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8392                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8393                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8394                         CONFIGURE_GRIB2_LIB \
8395                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8396                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8397                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
8398                         -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
8399 # add this to LIB to use XT3 iobuf library after loading iobuf module, also requires
8400 # properly built netCDF library that includes iobuf
8401 #                       $(IOBUF_POST_LINK_OPTS)
8402 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
8403 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8404 CPP             =       /lib/cpp -C -P -traditional
8405 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8406 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8407 AR              =       ar ru
8408 M4              =       m4 -B 14000
8409 RANLIB          =       ranlib
8410 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8411 CC_TOOLS        =       gcc
8413 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8415 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8416         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8417           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8419 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8420         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8422 wrfio_nf :
8423         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8424           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8426 wrfio_grib_share :
8427         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8428           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8430 wrfio_grib1 :
8431         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8432           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8434 wrfio_grib2 :
8435         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8436           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
8438 wrfio_int :
8439         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8440           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8442 esmf_time : 
8443         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8444           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8446 fftpack :
8447         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8448           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8450 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8451         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8453 # compile these without high optimization to speed compile
8454 solve_interface.o : solve_interface.F
8455 shift_domain_em.o : shift_domain_em.F
8456 module_io_mm5.o : module_io_mm5.F
8457 module_si_io.o : module_si_io.F
8458 module_io_wrf.o : module_io_wrf.F
8459 module_domain.o : module_domain.F
8460 module_start.o : module_start.F
8461 module_initialize.o : module_initialize.F
8462 module_initialize_b_wave.o : module_initialize_b_wave.F
8463 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8464 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8465 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8466 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8467 module_initialize_real.o : module_initialize_real.F
8468 module_dm.o : module_dm.F
8469 module_comm_dm.o : module_comm_dm.F
8470 start_domain.o : start_domain.F
8471 solve_em.o : solve_em.F
8472 mediation_integrate.o : mediation_integrate.F
8473 module_configure.o : module_configure.F
8475 solve_interface.o                                              \
8476 shift_domain_em.o                                              \
8477 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8478 module_start.o module_initialize.o module_initialize_b_wave.o  \
8479 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8480 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8481 mediation_integrate.o \
8482 solve_em.o \
8483 module_configure.o                                             \
8484 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8485         $(RM) $@
8486         $(SED_FTN) $*.F > $*.b 
8487         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8488         $(RM) $*.b
8489         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8491 ###########################################################
8492 #ARCH    NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
8494 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8495 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8497 DMPARALLEL      =       1
8498 MAX_PROC        =       1024
8499 FC              =       sxmpif90
8500 LD              =       sxmpif90
8501 CC              =       sxmpic++
8502 SCC             =       sxmpic++
8503 SFC             =       sxmpif90
8504 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8505 PROMOTION       =       
8506 CFLAGS          =       -DNCARIBM_NOC99 -DDM_PARALLEL \
8507                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8508 FCOPTIM         =       
8509 FCDEBUG         =       #-g
8510 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
8511 FCBASEOPTS      =       -f4 -Wf,-P i $(FCDEBUG)
8512 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8513 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
8514                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8515                         $(DA_ARCHFLAGS) \
8516                         -DLIMIT_ARGS
8517 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8518 ESMF_LIB_FLAGS  =       
8519 ESMF_IO_LIB     =       ESMFIOLIB
8520 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8521 INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8522                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8523 PERL            =       perl
8524 REGISTRY        =       Registry
8525 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8526                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8527                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8528                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8529                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
8530 LDFLAGS         =       $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
8531 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8532 CPP             =       /lib/cpp -C -P -traditional
8533 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8534 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
8535 AR_BASE         =       sxar
8536 AR              =       $(AR_BASE) ru
8537 M4              =       m4 -B 14000
8538 RANLIB          =       sxar rs
8539 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8540 CC_TOOLS        =       cc
8542 #### Override default sed command and script for Fortran source files         ####
8543 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8544 #### because the Fortran compiler complains about long source lines.          ####
8545 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8547 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8549 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8550         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8551           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8553 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8554         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8556 wrfio_nf : 
8557         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8558           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
8560 wrfio_grib_share :
8561         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8562           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
8564 wrfio_grib1 :
8565         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8566           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
8568 wrfio_grib2 :
8569         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8570           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
8572 wrfio_int : 
8573         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8574           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
8576 esmf_time : 
8577         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8578           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
8580 fftpack :
8581         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8582           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8584 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8585         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
8587 # compile these without high optimization to speed compile
8588 solve_interface.o : solve_interface.F
8589 shift_domain_em.o : shift_domain_em.F
8590 module_io_mm5.o : module_io_mm5.F
8591 module_si_io.o : module_si_io.F
8592 module_io_wrf.o : module_io_wrf.F
8593 module_domain.o : module_domain.F
8594 module_start.o : module_start.F
8595 module_initialize.o : module_initialize.F
8596 module_initialize_b_wave.o : module_initialize_b_wave.F
8597 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8598 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8599 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8600 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8601 module_initialize_real.o : module_initialize_real.F
8602 module_dm.o : module_dm.F
8603 module_comm_dm.o : module_comm_dm.F
8604 start_domain.o : start_domain.F
8605 mediation_integrate.o : mediation_integrate.F
8606 module_configure.o : module_configure.F
8608 solve_interface.o                                              \
8609 shift_domain_em.o                                              \
8610 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8611 module_start.o module_initialize.o module_initialize_b_wave.o  \
8612 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8613 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8614 module_configure.o                                             \
8615 mediation_integrate.o \
8616 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8617         $(RM) $@
8618         $(SED_FTN) $*.F > $*.b 
8619         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8620         $(RM) $*.b
8621         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8622 #       if [ ! -e $@ ] ; then \
8623 #       sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8624 #       fi
8625 #       if [ ! -e $@ ] ; then \
8626 #       sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8627 #       fi
8628 #       if [ ! -e $@ ] ; then \
8629 #       sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
8630 #       fi
8633 ###########################################################
8634 #ARCH    CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler  (Single-threaded, no nesting)
8636 FC              =       g95
8637 LD              =       g95
8638 CC              =       gcc
8639 SCC             =       $(CC)
8640 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8641 SFC             =       $(FC)
8642 # g95 does not like -r8. if you want -r8, just add it to PROMOTION below
8643 #PROMOTION      =       -r$(RWORDSIZE) -i4
8644 PROMOTION       =       -i4
8645 CFLAGS          =
8646 FCOPTIM         =       -O2
8647 FCDEBUG         =       #-g
8648 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
8649 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8650 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8651                         $(DA_ARCHFLAGS) \
8652                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8653                         -DLIMIT_ARGS -DG95
8654 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8655 ESMF_LIB_FLAGS  =       
8656 ESMF_IO_LIB     =       ESMFIOLIB
8657 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8658 INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8659                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8660 PERL            =       perl
8661 REGISTRY        =       Registry
8662 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
8663                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8664                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8665                         CONFIGURE_GRIB2_LIB \
8666                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8667                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
8668 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
8669 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8670 CPP             =       cpp -C -P -traditional
8671 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8672 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8673 AR              =       ar ru
8674 M4              =       m4 -B 14000
8675 RANLIB          =       ranlib
8676 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8677 CC_TOOLS        =       $(CC)
8679 #### Override default sed command and script for Fortran source files         ####
8680 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8681 #### because the Fortran compiler complains about long source lines.          ####
8682 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8684 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8686 module_dm.F :
8687         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8689 wrfio_nf : 
8690         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8691           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8693 wrfio_grib_share :
8694         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8695           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8697 wrfio_grib1 :
8698         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8699           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8701 wrfio_grib2 :
8702         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8703           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
8706 wrfio_int : 
8707         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8708           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8709           TRADFLAG="-traditional" all )
8711 esmf_time : 
8712         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8713           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8715 fftpack :
8716         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8717           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8719 # compile these without high optimization to speed compile
8720 solve_interface.o : solve_interface.F
8721 shift_domain_em.o : shift_domain_em.F
8722 module_io_mm5.o : module_io_mm5.F
8723 module_si_io.o : module_si_io.F
8724 module_io_wrf.o : module_io_wrf.F
8725 module_domain.o : module_domain.F
8726 module_start.o : module_start.F
8727 module_initialize.o : module_initialize.F
8728 module_initialize_b_wave.o : module_initialize_b_wave.F
8729 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8730 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8731 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8732 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8733 module_initialize_real.o : module_initialize_real.F
8734 module_dm.o : module_dm.F
8735 module_comm_dm.o : module_comm_dm.F
8736 start_domain.o : start_domain.F
8737 mediation_integrate.o : mediation_integrate.F
8738 module_configure.o : module_configure.F
8740 solve_interface.o                                              \
8741 shift_domain_em.o                                              \
8742 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8743 module_start.o module_initialize.o module_initialize_b_wave.o  \
8744 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8745 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8746 mediation_integrate.o \
8747 module_configure.o                                             \
8748 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8749         $(RM) $@
8750         $(SED_FTN) $*.F > $*.b 
8751         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8752         $(RM) $*.b
8753         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8755 ###########################################################
8756 #ARCH    PC Linux i486 i586 i686, g95 compiler  (Single-threaded, no nesting)
8758 FC              =       g95
8759 LD              =       g95
8760 CC              =       gcc
8761 SCC             =       $(CC)
8762 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8763 SFC             =       $(FC)
8764 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
8765 #PROMOTION      =       -r$(RWORDSIZE) -i4
8766 PROMOTION       =       -i4
8767 CFLAGS          =       
8768 FCOPTIM         =       -O2 # -fast
8769 FCDEBUG         =       #-g -O0
8770 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
8771 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8772 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8773                         $(DA_ARCHFLAGS) \
8774                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
8775                         -DLIMIT_ARGS -DG95
8776 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8777 ESMF_LIB_FLAGS  =       
8778 ESMF_IO_LIB     =       ESMFIOLIB
8779 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8780 INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8781                         -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8782 PERL            =       perl
8783 REGISTRY        =       Registry
8784 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
8785                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8786                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8787                         CONFIGURE_GRIB2_LIB \
8788                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8789                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
8790 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
8791 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8792 CPP             =       /lib/cpp -C -P -traditional
8793 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8794 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
8795 AR              =       ar ru
8796 M4              =       m4 -B 14000
8797 RANLIB          =       ranlib
8798 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8799 CC_TOOLS        =       $(CC)
8801 #### Override default sed command and script for Fortran source files         ####
8802 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8803 #### because the Fortran compiler complains about long source lines.          ####
8804 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8806 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
8808 module_dm.F :
8809         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8811 wrfio_nf : 
8812         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8813           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8815 wrfio_grib_share :
8816         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8817           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8819 wrfio_grib1 :
8820         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8821           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
8823 wrfio_grib2 :
8824         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8825           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive )
8827 wrfio_int : 
8828         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8829           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
8830           TRADFLAG="-traditional" all )
8832 esmf_time : 
8833         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8834           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8836 fftpack :
8837         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8838           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8840 # compile these without high optimization to speed compile
8841 solve_interface.o : solve_interface.F
8842 shift_domain_em.o : shift_domain_em.F
8843 module_io_mm5.o : module_io_mm5.F
8844 module_si_io.o : module_si_io.F
8845 module_io_wrf.o : module_io_wrf.F
8846 module_domain.o : module_domain.F
8847 module_start.o : module_start.F
8848 module_initialize.o : module_initialize.F
8849 module_initialize_b_wave.o : module_initialize_b_wave.F
8850 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8851 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8852 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8853 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8854 module_initialize_real.o : module_initialize_real.F
8855 module_dm.o : module_dm.F
8856 module_comm_dm.o : module_comm_dm.F
8857 start_domain.o : start_domain.F
8858 mediation_integrate.o : mediation_integrate.F
8859 module_configure.o : module_configure.F
8861 solve_interface.o                                              \
8862 shift_domain_em.o                                              \
8863 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8864 module_start.o module_initialize.o module_initialize_b_wave.o  \
8865 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8866 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8867 mediation_integrate.o \
8868 module_configure.o                                             \
8869 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
8870         $(RM) $@
8871         $(SED_FTN) $*.F > $*.b 
8872         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
8873         $(RM) $*.b
8874         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
8876 ###########################################################
8877 #ARCH     PC Linux i486 i586 i686, g95 compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting)
8879 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8880 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8882 DMPARALLEL      =       1
8883 MAX_PROC        =       1024
8884 FC              =       mpif90 -f90=g95
8885 LD              =       mpif90 -f90=g95
8886 CC              =       mpicc -cc=gcc
8887 SCC             =       gcc
8888 SFC             =       g95
8889 RWORDSIZE       =       CONFIGURE_RWORDSIZE
8890 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
8891 #PROMOTION      =       -r$(RWORDSIZE) -i4
8892 PROMOTION       =       -i4
8893 CFLAGS          =       -DDM_PARALLEL \
8894                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
8895 FCOPTIM         =       -O2 # -fast
8896 FCDEBUG         =       #-g -O0
8897 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
8898 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
8899 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
8900                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8901                         $(DA_ARCHFLAGS) \
8902                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95
8903 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8904 ESMF_LIB_FLAGS  =       
8905 ESMF_IO_LIB     =       ESMFIOLIB
8906 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8907 INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
8908                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
8909 PERL            =       perl
8910 REGISTRY        =       Registry
8911 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
8912                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
8913                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
8914                         CONFIGURE_GRIB2_LIB \
8915                         -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
8916                         -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
8917                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time 
8918 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
8919 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8920 CPP             =       /lib/cpp -C -P -traditional
8921 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8922 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
8923 AR              =       ar ru
8924 M4              =       m4 -B 14000
8925 RANLIB          =       ranlib
8926 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8927 CC_TOOLS        =       cc
8929 #### Override default sed command and script for Fortran source files         ####
8930 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
8931 #### because the Fortran compiler complains about long source lines.          ####
8932 SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
8934 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
8936 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
8937         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
8938           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
8940 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
8941         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
8943 wrfio_nf : 
8944         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
8945           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
8947 wrfio_grib_share :
8948         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
8949           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8951 wrfio_grib1 :
8952         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
8953           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
8955 wrfio_grib2 :
8956         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
8957           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive)
8959 wrfio_int : 
8960         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
8961           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
8963 esmf_time : 
8964         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
8965           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
8967 fftpack :
8968         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
8969           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
8971 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
8972         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8974 # compile these without high optimization to speed compile
8975 solve_interface.o : solve_interface.F
8976 shift_domain_em.o : shift_domain_em.F
8977 module_io_mm5.o : module_io_mm5.F
8978 module_si_io.o : module_si_io.F
8979 module_io_wrf.o : module_io_wrf.F
8980 module_domain.o : module_domain.F
8981 module_start.o : module_start.F
8982 module_initialize.o : module_initialize.F
8983 module_initialize_b_wave.o : module_initialize_b_wave.F
8984 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8985 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8986 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8987 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8988 module_initialize_real.o : module_initialize_real.F
8989 module_dm.o : module_dm.F
8990 module_comm_dm.o : module_comm_dm.F
8991 start_domain.o : start_domain.F
8992 mediation_integrate.o : mediation_integrate.F
8993 module_configure.o : module_configure.F
8995 solve_interface.o                                              \
8996 shift_domain_em.o                                              \
8997 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8998 module_start.o module_initialize.o module_initialize_b_wave.o  \
8999 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9000 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9001 module_configure.o                                             \
9002 mediation_integrate.o \
9003 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
9004         $(RM) $@
9005         $(SED_FTN) $*.F > $*.b 
9006         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
9007         $(RM) $*.b
9008         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9011 ###########################################################
9012 #ARCH    PC Interix x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel   (RSL_LITE, MPICH, Allows nesting)
9013 #        Note that for 5.1.x comment out -Mpia=fast
9015 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9016 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9018 DMPARALLEL      =       1
9019 MAX_PROC        =       1024
9020 FC              =       pgf90.exe
9021 LD              =       $(FC)
9022 CC              =       pgcc.exe
9023 CC              =       cc
9024 SCC             =       $(CC)
9025 SFC             =       $(FC)
9027 MPdir           =       /dev/fs/C/Program Files/Microsoft Compute Cluster Pack
9028 MPinc           =       -I'$(MPdir)'/Include
9029 MSMPdir         =       'C:\Program Files\Microsoft Compute Cluster Pack'
9030 MSMPinc         =       /I'C:\Program Files\Microsoft Compute Cluster Pack\Include'
9031 MSMPlib         =       'C:\Program Files\Microsoft Compute Cluster Pack\Lib\AMD64\msmpi.lib'
9033 RWORDSIZE       =       CONFIGURE_RWORDSIZE
9034 PROMOTION       =       -r$(RWORDSIZE) -i4
9036 CFLAGS          =       -DLANDREAD_STUB -DMEMCPY_FOR_BCOPY -DMS_SUA -DDM_PARALLEL \
9037                         -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE $(MPinc) #-X /MD
9038 FCOPTIM         =       -fastsse #-Mipa=fast
9039 FCDEBUG         =       #-g
9040 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
9041 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
9042 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(MPinc)
9044 ARCHFLAGS       =       $(COREDEFS) \
9045                         -DDM_PARALLEL \
9046                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9047                         $(DA_ARCHFLAGS) \
9048                         -DNETCDF -DINTIO \
9049                         -DNO_NAMELIST_PRINT  \
9050                         -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST) -DMEMCPY_FOR_BCOPY
9052 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9053 ESMF_LIB_FLAGS  =       
9054 ESMF_IO_LIB     =       ESMFIOLIB
9055 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9056 INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9057                         -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
9058 PERL            =       perl
9059 REGISTRY        =       Registry
9061 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
9062                         $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
9063                         $(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
9064                         $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9065                         $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a \
9066                         $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a $(MSMPlib) \
9067                         "c:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\AMD64\bufferoverflowu.lib"
9069 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
9070 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9071 CPP             =       /lib/cpp -C -P -traditional
9072 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9073 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(ENVCOMPDEFS) $(POUND_DEF)
9074 AR              =       ar r
9075 M4              =       NA
9076 RANLIB          =       ranlib
9077 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9078 CC_TOOLS        =       cc
9079 LIBWRFLIB       =       libwrflib.a
9081 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
9083 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9084         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9085           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9087 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9088         ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9090 wrfio_nf :
9091         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9092           make LIBS="libwrfio_nf.a 'CONFIGURE_NETCDF_PATH' 'c:\Program Files\Microsoft Platform SDK\Lib\AMD64\bufferoverflowu.lib'" \
9093               NETCDFPATH=CONFIGURE_NETCDF_PATH \
9094               RANLIB="$(RANLIB)" CPP="$(CPP) -DMS_SUA" \
9095               CPP1="$(CPP) -DMS_SUA"  \
9096               FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
9098 wrfio_grib_share :
9100 wrfio_grib1 :
9102 wrfio_grib2 :
9104 wrfio_int :
9105         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9106           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
9108 esmf_time : 
9109         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9110           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9112 fftpack :
9113         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9114           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9116 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9117         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
9118           /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h ; \
9119           make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9121 # compile these without high optimization to speed compile
9122 solve_interface.o : solve_interface.F
9123 shift_domain_em.o : shift_domain_em.F
9124 module_io_mm5.o : module_io_mm5.F
9125 module_si_io.o : module_si_io.F
9126 module_io_wrf.o : module_io_wrf.F
9127 module_domain.o : module_domain.F
9128 module_start.o : module_start.F
9129 module_initialize.o : module_initialize.F
9130 module_initialize_b_wave.o : module_initialize_b_wave.F
9131 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9132 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9133 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9134 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9135 module_initialize_real.o : module_initialize_real.F
9136 module_dm.o : module_dm.F
9137 module_comm_dm.o : module_comm_dm.F
9138 start_domain.o : start_domain.F
9139 mediation_integrate.o : mediation_integrate.F
9140 module_configure.o : module_configure.F
9142 solve_interface.o                                              \
9143 shift_domain_em.o                                              \
9144 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9145 module_start.o module_initialize.o module_initialize_b_wave.o  \
9146 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9147 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9148 mediation_integrate.o \
9149 module_configure.o                                             \
9150 module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
9151         $(RM) $@
9152         $(SED_FTN) $*.F > $*.b 
9153         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
9154         $(RM) $*.b
9155         $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9157 module_io.o : module_io.F
9158 module_dm.o : module_dm.F
9160 module_io.o module_dm.o :
9161         $(RM) $@
9162         $(SED_FTN) $*.F > $*.b
9163         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
9164         $(RM) $*.b
9165         /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h
9166         $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9168 ############################################################
9169 #ARCH    Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9171 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9172 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9174 #        By default, some files are compiled without optimizations to speed up compilation. Removing
9175 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9176 #        Out Of Memory messages, but might produce binaries which are substantially faster.
9178 #        If you got Out Of Memory message, there are several options:
9179 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9180 #               2. Remove any debugging flags (-g, -check, -traceback).
9181 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9182 #                  -no-ip compiler flag.
9184 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9185 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9186 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9187 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9188 #        behavior of your workload.
9189 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9190 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9191 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9193 #        If you have Intel MPI installed and wish to use instead, make the
9194 #        following changes to settings below:
9195 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
9196 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
9198 DMPARALLEL        = 1
9199 OMP               = -openmp -fpp -auto
9200 OMPCPP            = -D_OPENMP
9201 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9202 MAX_PROC          = 1024
9203 MPI_HOME          = $(MPICH)
9204 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
9205 LD                = $(FC)
9206 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
9207 SCC               = icc
9208 CC_TOOLS          = $(SCC)
9209 SFC               = ifort
9210 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9211 FCOPTIM           = -O3 -unroll0
9212 FCDEBUG           = # -O0 -g -traceback
9213 FCBASEOPTS        = -align all -FR -convert big_endian \
9214                     -fno-alias -fno-fnalias -tpp2 \
9215                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9216 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9217 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9218                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9219                     $(DA_ARCHFLAGS) \
9220                     -DLIMIT_ARGS
9221 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9222 ESMF_LIB_FLAGS    =
9223 ESMF_IO_LIB       = ESMFIOLIB
9224 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
9225 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9226                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9227 PERL              = perl
9228 REGISTRY          = Registry
9229 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9230                     CONFIGURE_NETCDF_LIB_PATH \
9231                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9232                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9233                     CONFIGURE_GRIB2_LIB \
9234                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9235                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9236                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9237                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9238                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9239 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9240 CPP               = /lib/cpp -C -P -traditional
9241 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9242 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9243                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9244                     $(POUND_DEF) $(COREDEFS)
9245 AR                = ar ru
9246 M4                = m4
9247 RANLIB            = ranlib
9248 NETCDFPATH            = CONFIGURE_NETCDF_PATH
9249 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9251 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9253 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9254         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9255           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9257 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9258         ( /bin/cp module_dm_warning module_dm.F ; \
9259           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9261 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9262         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9263          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9265 wrfio_nf :
9266         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9267           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9268           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9269         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9270         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9271         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9273 wrfio_int :
9274         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9275           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9276                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9277                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9278           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9280 wrfio_grib_share :
9281         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9282           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9283           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9285 wrfio_grib1 :
9286         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9287           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9288           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9290 wrfio_grib2 :
9291         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9292           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9293                   FREE="-FR" FIXED="-FI" \
9294           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9296 esmf_time :
9297         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9298           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9300 fftpack :
9301         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9302           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9304 # Compile these without high optimization and no interprocedural
9305 # optimizations to speed compile. Commenting them out may result
9306 # in longer compilation time, but might produce substantialy faster
9307 # binaries.
9308 mediation_integrate.o : mediation_integrate.F
9309 mediation_interp_domain.o : mediation_interp_domain.F
9310 mediation_feedback_domain.o : mediation_feedback_domain.F
9311 wrf_auxinput1out.o : wrf_auxinput1out.F
9312 wrf_histout.o : wrf_histout.F
9313 wrf_restartout.o : wrf_restartout.F
9314 wrf_inputin.o : wrf_inputin.F
9315 wrf_auxinput1in.o : wrf_auxinput1in.F
9316 wrf_histin.o : wrf_histin.F
9317 wrf_restartin.o : wrf_restartin.F
9318 module_initialize_real.o: module_initialize_real.F
9319 solve_interface.o : solve_interface.F
9320 shift_domain_em.o : shift_domain_em.F
9321 module_io_wrf.o : module_io_wrf.F
9322 module_dm.o : module_dm.F
9323 module_domain.o : module_domain.F
9324 start_domain.o : start_domain.F
9325 mediation_force_domain.o : mediation_force_domain.F
9326 module_configure.o : module_configure.F
9328 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9329 module_configure.o                                              \
9330 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9331 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9332 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9333 shift_domain_em.o                                              \
9334 mediation_force_domain.o:
9335         $(RM) $@
9336         $(SED_FTN) $*.F > $*.b
9337         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9338         $(RM) $*.b
9339         $(FC) -c -O0 -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9341 ############################################################
9342 #ARCH    Generic Intel Itanium2 ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
9344 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9345 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9347 #        By default, some files are compiled without optimizations to speed up compilation. Removing
9348 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9349 #        Out Of Memory messages, but might produce binaries which are substantially faster.
9351 #        If you got Out Of Memory message, there are several options:
9352 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9353 #               2. Remove any debugging flags (-g, -check, -traceback).
9354 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9355 #                  -no-ip compiler flag.
9357 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9358 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9359 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9360 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9361 #        behavior of your workload.
9362 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9363 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9364 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9366 #        If you have Intel MPI installed and wish to use instead, make the
9367 #        following changes to settings below:
9368 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
9369 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
9371 DMPARALLEL        = 1
9372 OMP               =
9373 OMPCPP            =
9374 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9375 MAX_PROC          = 1024
9376 MPI_HOME          = $(MPICH)
9377 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
9378 LD                = $(FC)
9379 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
9380 SCC               = icc
9381 CC_TOOLS          = $(SCC)
9382 SFC               = ifort
9383 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
9384 FCOPTIM           = -O3 -unroll0
9385 FCDEBUG           = # -O0 -g -traceback
9386 FCBASEOPTS        = -align all -FR -convert big_endian \
9387                     -fno-alias -fno-fnalias -tpp2 \
9388                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9389 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9390 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9391                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9392                     $(DA_ARCHFLAGS) \
9393                     -DLIMIT_ARGS
9394 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9395 ESMF_LIB_FLAGS    =
9396 ESMF_IO_LIB       = ESMFIOLIB
9397 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
9398 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9399                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9400 PERL              = perl
9401 REGISTRY          = Registry
9402 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9403                     CONFIGURE_NETCDF_LIB_PATH \
9404                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9405                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9406                     CONFIGURE_GRIB2_LIB \
9407                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9408                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9409                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9410                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9411                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9412 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9413 CPP               = /lib/cpp -C -P -traditional
9414 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9415 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9416                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9417                     $(POUND_DEF) $(COREDEFS)
9418 AR                = ar ru
9419 M4                = m4
9420 RANLIB            = ranlib
9421 NETCDFPATH            = CONFIGURE_NETCDF_PATH
9423 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9425 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9426         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9427           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9429 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9430         ( /bin/cp module_dm_warning module_dm.F ; \
9431           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9433 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9434         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9435          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9437 wrfio_nf :
9438         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9439           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9440           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9441         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9442         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9443         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9445 wrfio_int :
9446         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9447           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9448                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9449                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9450           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9452 wrfio_grib_share :
9453         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9454           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9455           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9457 wrfio_grib1 :
9458         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9459           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9460           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9462 wrfio_grib2 :
9463         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9464           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9465                   FREE="-FR" FIXED="-FI" \
9466           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9468 esmf_time :
9469         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9470           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9472 fftpack :
9473         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9474           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9476 # Compile these without high optimization and no interprocedural
9477 # optimizations to speed compile. Commenting them out may result
9478 # in longer compilation time, but might produce substantialy faster
9479 # binaries.
9480 mediation_integrate.o : mediation_integrate.F
9481 mediation_interp_domain.o : mediation_interp_domain.F
9482 mediation_feedback_domain.o : mediation_feedback_domain.F
9483 wrf_auxinput1out.o : wrf_auxinput1out.F
9484 wrf_histout.o : wrf_histout.F
9485 wrf_restartout.o : wrf_restartout.F
9486 wrf_inputin.o : wrf_inputin.F
9487 wrf_auxinput1in.o : wrf_auxinput1in.F
9488 wrf_histin.o : wrf_histin.F
9489 wrf_restartin.o : wrf_restartin.F
9490 module_initialize_real.o: module_initialize_real.F
9491 solve_interface.o : solve_interface.F
9492 shift_domain_em.o : shift_domain_em.F
9493 module_io_wrf.o : module_io_wrf.F
9494 module_dm.o : module_dm.F
9495 module_domain.o : module_domain.F
9496 start_domain.o : start_domain.F
9497 mediation_force_domain.o : mediation_force_domain.F
9498 module_configure.o : module_configure.F
9500 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9501 module_configure.o                                              \
9502 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9503 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9504 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9505 shift_domain_em.o                                              \
9506 mediation_force_domain.o:
9507         $(RM) $@
9508         $(SED_FTN) $*.F > $*.b
9509         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9510         $(RM) $*.b
9511         $(FC) -c -no-ip -O0 $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9513 ############################################################
9514 #ARCH    Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9516 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9517 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9519 #        By default, some files are compiled without optimizations to speed up compilation. Removing
9520 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9521 #        Out Of Memory messages, but might produce binaries which are substantially faster.
9523 #        If you got Out Of Memory message, there are several options:
9524 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9525 #               2. Remove any debugging flags (-g, -check, -traceback).
9526 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9527 #                  -no-ip compiler flag.
9529 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9530 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9531 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9532 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9533 #        behavior of your workload.
9534 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9535 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9536 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9538 #        If you have Intel MPI installed and wish to use instead, make the
9539 #        following changes to settings below:
9540 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
9541 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
9543 DMPARALLEL        = 1
9544 OMP               = -openmp -fpp -auto
9545 OMPCPP            = -D_OPENMP
9546 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9547 MAX_PROC          = 1024
9548 MPI_HOME          = $(MPICH)
9549 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
9550 LD                = $(FC)
9551 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
9552 SCC               = icc
9553 CC_TOOLS          = $(SCC)
9554 SFC               = ifort
9555 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9556 FCOPTIM           = -O3 -unroll0
9557 FCDEBUG           = # -O0 -g -traceback
9558 FCBASEOPTS        = -align all -FR -convert big_endian \
9559                     -fno-alias -fno-fnalias -mtune=itanium2-p9000 \
9560                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9561 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9562 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9563                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9564                     $(DA_ARCHFLAGS) \
9565                     -DLIMIT_ARGS
9566 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9567 ESMF_LIB_FLAGS    =
9568 ESMF_IO_LIB       = ESMFIOLIB
9569 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
9570 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9571                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9572 PERL              = perl
9573 REGISTRY          = Registry
9574 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9575                     CONFIGURE_NETCDF_LIB_PATH \
9576                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9577                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9578                     CONFIGURE_GRIB2_LIB \
9579                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9580                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9581                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9582                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9583                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9584 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9585 CPP               = /lib/cpp -C -P -traditional
9586 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9587 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9588                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9589                     $(POUND_DEF) $(COREDEFS)
9590 AR                = ar ru
9591 M4                = m4
9592 RANLIB            = ranlib
9593 NETCDFPATH            = CONFIGURE_NETCDF_PATH
9595 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9597 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9598         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9599           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9601 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9602         ( /bin/cp module_dm_warning module_dm.F ; \
9603           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9605 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9606         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9607          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9609 wrfio_nf :
9610         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9611           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9612           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9613         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9614         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9615         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9617 wrfio_int :
9618         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9619           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9620                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9621                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9622           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9624 wrfio_grib_share :
9625         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9626           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9627           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9629 wrfio_grib1 :
9630         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9631           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9632           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9634 wrfio_grib2 :
9635         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9636           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9637                   FREE="-FR" FIXED="-FI" \
9638           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9640 esmf_time :
9641         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9642           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9644 fftpack :
9645         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9646           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9648 # Compile these without high optimization and no interprocedural
9649 # optimizations to speed compile. Commenting them out may result
9650 # in longer compilation time, but might produce substantialy faster
9651 # binaries.
9652 mediation_integrate.o : mediation_integrate.F
9653 mediation_interp_domain.o : mediation_interp_domain.F
9654 mediation_feedback_domain.o : mediation_feedback_domain.F
9655 wrf_auxinput1out.o : wrf_auxinput1out.F
9656 wrf_histout.o : wrf_histout.F
9657 wrf_restartout.o : wrf_restartout.F
9658 wrf_inputin.o : wrf_inputin.F
9659 wrf_auxinput1in.o : wrf_auxinput1in.F
9660 wrf_histin.o : wrf_histin.F
9661 wrf_restartin.o : wrf_restartin.F
9662 module_initialize_real.o: module_initialize_real.F
9663 solve_interface.o : solve_interface.F
9664 shift_domain_em.o : shift_domain_em.F
9665 module_io_wrf.o : module_io_wrf.F
9666 module_dm.o : module_dm.F
9667 module_domain.o : module_domain.F
9668 start_domain.o : start_domain.F
9669 mediation_force_domain.o : mediation_force_domain.F
9670 module_configure.o : module_configure.F
9672 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9673 module_configure.o                                              \
9674 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9675 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9676 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9677 shift_domain_em.o                                              \
9678 mediation_force_domain.o:
9679         $(RM) $@
9680         $(SED_FTN) $*.F > $*.b
9681         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9682         $(RM) $*.b
9683         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9685 # OpenMP workaround for solve_em.F
9686 # This should be fixed in newer versions of Intel Fortran Compiler (somewhere after 9.1.041).
9687 # You can check if you really need this workaround by building without the following rule
9688 # and making sure that output of "nm solve_em.o | grep kmp" contains kmpc_fork_call.
9689 solve_em.o : solve_em.F
9690         $(RM) $@
9691         $(SED_FTN) $*.F > $*.b
9692         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9693         $(RM) $*.b
9694         $(FC)  -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 -override-limits $(MODULE_DIRS) $*.f90
9696 ############################################################
9697 #ARCH    Dual-Core Intel Itanium2 Processor 9000 Sequence ia64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
9699 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9700 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9702 #        By default, some files are compiled without optimizations to speed up compilation. Removing
9703 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9704 #        Out Of Memory messages, but might produce binaries which are substantially faster.
9706 #        If you got Out Of Memory message, there are several options:
9707 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9708 #               2. Remove any debugging flags (-g, -check, -traceback).
9709 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9710 #                  -no-ip compiler flag.
9712 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9713 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9714 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9715 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9716 #        behavior of your workload.
9717 #        To improve performance on Itanium2 architecture you might want to use '-IPF-fp-relaxed' flag, which enables
9718 #        use of faster but slightly less accurate code sequences for math functions, such as divide and sqrt,
9719 #        and enables the performance of more aggressive floating-point transformations, which may affect accuracy.
9721 #        If you have Intel MPI installed and wish to use instead, make the
9722 #        following changes to settings below:
9723 #        FC                = $(MPI_HOME)/bin/mpiifort -nocompchk
9724 #        CC                = $(MPI_HOME)/bin/mpiicc -nocompchk
9726 DMPARALLEL        = 1
9727 OMP               =
9728 OMPCPP            =
9729 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9730 MAX_PROC          = 1024
9731 MPI_HOME          = $(MPICH)
9732 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
9733 LD                = $(FC)
9734 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
9735 SCC               = icc
9736 CC_TOOLS          = $(SCC)
9737 SFC               = ifort
9738 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
9739 FCOPTIM           = -O3 -unroll0
9740 FCDEBUG           = # -O0 -g -traceback
9741 FCBASEOPTS        = -align all -FR -convert big_endian \
9742                     -fno-alias -fno-fnalias -mtune=itanium2-p9000 \
9743                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9744 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9745 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9746                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9747                     $(DA_ARCHFLAGS) \
9748                     -DLIMIT_ARGS
9749 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9750 ESMF_LIB_FLAGS    =
9751 ESMF_IO_LIB       = ESMFIOLIB
9752 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
9753 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9754                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9755 PERL              = perl
9756 REGISTRY          = Registry
9757 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9758                     CONFIGURE_NETCDF_LIB_PATH \
9759                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9760                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9761                     CONFIGURE_GRIB2_LIB \
9762                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9763                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9764                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9765                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9766                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9767 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9768 CPP               = /lib/cpp -C -P -traditional
9769 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9770 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9771                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9772                     $(POUND_DEF) $(COREDEFS)
9773 AR                = ar ru
9774 M4                = m4
9775 RANLIB            = ranlib
9776 NETCDFPATH            = CONFIGURE_NETCDF_PATH
9778 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9780 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9781         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9782           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9784 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9785         ( /bin/cp module_dm_warning module_dm.F ; \
9786           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9788 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9789         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9790          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9792 wrfio_nf :
9793         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9794           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9795           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9796         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9797         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9798         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9800 wrfio_int :
9801         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9802           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9803                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9804                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9805           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9807 wrfio_grib_share :
9808         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9809           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9810           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9812 wrfio_grib1 :
9813         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9814           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9815           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9817 wrfio_grib2 :
9818         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9819           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9820                   FREE="-FR" FIXED="-FI" \
9821           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9823 esmf_time :
9824         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9825           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9827 fftpack :
9828         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9829           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
9831 # Compile these without high optimization and no interprocedural
9832 # optimizations to speed compile. Commenting them out may result
9833 # in longer compilation time, but might produce substantialy faster
9834 # binaries.
9835 mediation_integrate.o : mediation_integrate.F
9836 mediation_interp_domain.o : mediation_interp_domain.F
9837 mediation_feedback_domain.o : mediation_feedback_domain.F
9838 wrf_auxinput1out.o : wrf_auxinput1out.F
9839 wrf_histout.o : wrf_histout.F
9840 wrf_restartout.o : wrf_restartout.F
9841 wrf_inputin.o : wrf_inputin.F
9842 wrf_auxinput1in.o : wrf_auxinput1in.F
9843 wrf_histin.o : wrf_histin.F
9844 wrf_restartin.o : wrf_restartin.F
9845 module_initialize_real.o: module_initialize_real.F
9846 solve_interface.o : solve_interface.F
9847 shift_domain_em.o : shift_domain_em.F
9848 module_io_wrf.o : module_io_wrf.F
9849 module_dm.o : module_dm.F
9850 module_domain.o : module_domain.F
9851 start_domain.o : start_domain.F
9852 mediation_force_domain.o : mediation_force_domain.F
9853 module_configure.o : module_configure.F
9855 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
9856 module_configure.o                                              \
9857 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
9858 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
9859 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
9860 shift_domain_em.o                                              \
9861 mediation_force_domain.o:
9862         $(RM) $@
9863         $(SED_FTN) $*.F > $*.b
9864         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
9865         $(RM) $*.b
9866         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
9868 ############################################################
9869 #ARCH    Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
9871 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9872 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9874 #        By default, some files are compiled without optimizations to speed up compilation. Removing
9875 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
9876 #        Out Of Memory messages, but might produce binaries which are substantially faster.
9878 #        If you got Out Of Memory message, there are several options:
9879 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
9880 #               2. Remove any debugging flags (-g, -check, -traceback).
9881 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
9882 #                  -no-ip compiler flag.
9884 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
9885 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
9886 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
9887 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
9888 #        behavior of your workload.
9890 #        If you have Intel MPI installed and wish to use instead, make the
9891 #        following changes to settings below:
9892 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
9893 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
9895 DMPARALLEL        = 1
9896 OMP               = -openmp -fpp -auto
9897 OMPCPP            = -D_OPENMP
9898 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
9899 MAX_PROC          = 1024
9900 MPI_HOME          = $(MPICH)
9901 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
9902 LD                = $(FC)
9903 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
9904 SCC               = icc
9905 CC_TOOLS          = $(SCC)
9906 SFC               = ifort
9907 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
9908 FCOPTIM           = -O3
9909 FCDEBUG           = # -g -traceback
9910 FCBASEOPTS        = -align all -FR -convert big_endian \
9911                     -fno-alias -fno-fnalias  \
9912                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
9913 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9914 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
9915                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
9916                     $(DA_ARCHFLAGS) \
9917                     -DLIMIT_ARGS
9918 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9919 ESMF_LIB_FLAGS    =
9920 ESMF_IO_LIB       = ESMFIOLIB
9921 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
9922 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
9923                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
9924 PERL              = perl
9925 REGISTRY          = Registry
9926 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
9927                     CONFIGURE_NETCDF_LIB_PATH \
9928                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
9929                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
9930                     CONFIGURE_GRIB2_LIB \
9931                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
9932                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
9933                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
9934                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
9935                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
9936 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
9937 CPP               = /lib/cpp -C -P -traditional
9938 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9939 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
9940                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
9941                     $(POUND_DEF) $(COREDEFS)
9942 AR                = ar ru
9943 M4                = m4
9944 RANLIB            = ranlib
9945 NETCDFPATH            = CONFIGURE_NETCDF_PATH
9947 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
9949 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
9950         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
9951           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
9953 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
9954         ( /bin/cp module_dm_warning module_dm.F ; \
9955           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
9957 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
9958         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
9959          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
9961 wrfio_nf :
9962         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
9963           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
9964           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
9965         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
9966         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
9967         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
9969 wrfio_int :
9970         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
9971           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9972                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
9973                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
9974           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
9976 wrfio_grib_share :
9977         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
9978           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9979           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
9981 wrfio_grib1 :
9982         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
9983           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9984           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9986 wrfio_grib2 :
9987         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
9988           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
9989                   FREE="-FR" FIXED="-FI" \
9990           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
9992 esmf_time :
9993         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
9994           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
9996 fftpack :
9997         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
9998           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10000 # Compile these without high optimization and no interprocedural
10001 # optimizations to speed compile. Commenting them out may result
10002 # in longer compilation time, but might produce substantialy faster
10003 # binaries.
10004 mediation_integrate.o : mediation_integrate.F
10005 mediation_interp_domain.o : mediation_interp_domain.F
10006 mediation_feedback_domain.o : mediation_feedback_domain.F
10007 wrf_auxinput1out.o : wrf_auxinput1out.F
10008 wrf_histout.o : wrf_histout.F
10009 wrf_restartout.o : wrf_restartout.F
10010 wrf_inputin.o : wrf_inputin.F
10011 wrf_auxinput1in.o : wrf_auxinput1in.F
10012 wrf_histin.o : wrf_histin.F
10013 wrf_restartin.o : wrf_restartin.F
10014 module_initialize_real.o: module_initialize_real.F
10015 solve_interface.o : solve_interface.F
10016 shift_domain_em.o : shift_domain_em.F
10017 module_io_wrf.o : module_io_wrf.F
10018 module_dm.o : module_dm.F
10019 module_domain.o : module_domain.F
10020 start_domain.o : start_domain.F
10021 mediation_force_domain.o : mediation_force_domain.F
10022 module_configure.o : module_configure.F
10024 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10025 module_configure.o                                              \
10026 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10027 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10028 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10029 shift_domain_em.o                                              \
10030 mediation_force_domain.o:
10031         $(RM) $@
10032         $(SED_FTN) $*.F > $*.b
10033         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10034         $(RM) $*.b
10035         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10037 # Force even lower optimization level for these files to decrease
10038 # compilation time and lower memory demands
10039 solve_em.o : solve_em.F
10040 module_dm.o : module_dm.F
10042 solve_em.o \
10043 module_dm.o :
10044         $(RM) $@
10045         $(SED_FTN) $*.F > $*.b
10046         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10047         $(RM) $*.b
10048         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10050 ############################################################
10051 #ARCH  Z  Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
10053 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10054 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10056 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10057 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10058 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10060 #        If you got Out Of Memory message, there are several options:
10061 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10062 #               2. Remove any debugging flags (-g, -check, -traceback).
10063 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10064 #                  -no-ip compiler flag.
10066 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10067 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10068 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10069 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10070 #        behavior of your workload.
10072 #        If you have Intel MPI installed and wish to use instead, make the
10073 #        following changes to settings below:
10074 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10075 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10077 DMPARALLEL        = 1
10078 OMP               =
10079 OMPCPP            =
10080 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10081 MAX_PROC          = 1024
10082 MPI_HOME          = $(MPICH)
10083 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
10084 LD                = $(FC)
10085 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
10086 SCC               = icc
10087 CC_TOOLS          = $(SCC)
10088 SFC               = ifort
10089 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
10090 FCOPTIM           = -O3
10091 FCDEBUG           = # -g -traceback
10092 FCBASEOPTS        = -align all -FR -convert big_endian \
10093                     -fno-alias -fno-fnalias  \
10094                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10095 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10096 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10097                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10098                     $(DA_ARCHFLAGS) \
10099                     -DLIMIT_ARGS
10100 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10101 ESMF_LIB_FLAGS    =
10102 ESMF_IO_LIB       = ESMFIOLIB
10103 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10104 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10105                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10106 PERL              = perl
10107 REGISTRY          = Registry
10108 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10109                     CONFIGURE_NETCDF_LIB_PATH \
10110                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10111                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10112                     CONFIGURE_GRIB2_LIB \
10113                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10114                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10115                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10116                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10117                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10118 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10119 CPP               = /lib/cpp -C -P -traditional
10120 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10121 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10122                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10123                     $(POUND_DEF) $(COREDEFS)
10124 AR                = ar ru
10125 M4                = m4
10126 RANLIB            = ranlib
10127 NETCDFPATH            = CONFIGURE_NETCDF_PATH
10128 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10130 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10132 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10133         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10134           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10136 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10137         ( /bin/cp module_dm_warning module_dm.F ; \
10138           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10140 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10141         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10142          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10144 wrfio_nf :
10145         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10146           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10147           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10148         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10149         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10150         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10152 wrfio_int :
10153         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10154           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10155                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10156                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10157           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10159 wrfio_grib_share :
10160         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10161           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10162           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10164 wrfio_grib1 :
10165         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10166           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10167           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10169 wrfio_grib2 :
10170         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10171           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10172                   FREE="-FR" FIXED="-FI" \
10173           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10175 esmf_time :
10176         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10177           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10179 fftpack :
10180         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10181           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10183 # Compile these without high optimization and no interprocedural
10184 # optimizations to speed compile. Commenting them out may result
10185 # in longer compilation time, but might produce substantialy faster
10186 # binaries.
10187 mediation_integrate.o : mediation_integrate.F
10188 mediation_interp_domain.o : mediation_interp_domain.F
10189 mediation_feedback_domain.o : mediation_feedback_domain.F
10190 wrf_auxinput1out.o : wrf_auxinput1out.F
10191 wrf_histout.o : wrf_histout.F
10192 wrf_restartout.o : wrf_restartout.F
10193 wrf_inputin.o : wrf_inputin.F
10194 wrf_auxinput1in.o : wrf_auxinput1in.F
10195 wrf_histin.o : wrf_histin.F
10196 wrf_restartin.o : wrf_restartin.F
10197 module_initialize_real.o: module_initialize_real.F
10198 solve_interface.o : solve_interface.F
10199 shift_domain_em.o : shift_domain_em.F
10200 module_io_wrf.o : module_io_wrf.F
10201 module_dm.o : module_dm.F
10202 module_domain.o : module_domain.F
10203 start_domain.o : start_domain.F
10204 mediation_force_domain.o : mediation_force_domain.F
10205 module_configure.o : module_configure.F
10207 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10208 module_configure.o                                              \
10209 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10210 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10211 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10212 shift_domain_em.o                                              \
10213 mediation_force_domain.o:
10214         $(RM) $@
10215         $(SED_FTN) $*.F > $*.b
10216         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10217         $(RM) $*.b
10218         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10220 # Force even lower optimization level for these files to decrease
10221 # compilation time and lower memory demands
10222 module_dm.o : module_dm.F
10223 solve_em.o : solve_em.F
10225 solve_em.o \
10226 module_dm.o :
10227         $(RM) $@
10228         $(SED_FTN) $*.F > $*.b
10229         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10230         $(RM) $*.b
10231         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10233 ############################################################
10234 #ARCH    Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
10236 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10237 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10239 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10240 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10241 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10243 #        If you got Out Of Memory message, there are several options:
10244 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10245 #               2. Remove any debugging flags (-g, -check, -traceback).
10246 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10247 #                  -no-ip compiler flag.
10249 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10250 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10251 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10252 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10253 #        behavior of your workload.
10255 #        If you have Intel MPI installed and wish to use instead, make the
10256 #        following changes to settings below:
10257 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10258 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10260 DMPARALLEL        =
10261 OMP               = -openmp -fpp -auto
10262 OMPCPP            = -D_OPENMP
10263 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10264 MAX_PROC          = 1024
10265 MPI_HOME          =
10266 FC                = ifort
10267 LD                = $(FC)
10268 CC                = icc
10269 SCC               = icc
10270 CC_TOOLS          = $(SCC)
10271 SFC               = ifort
10272 CFLAGS            = -w -O3 -ip  -c    -openmp
10273 FCOPTIM           = -O3
10274 FCDEBUG           = # -g -traceback
10275 FCBASEOPTS        = -align all -FR -convert big_endian \
10276                     -fno-alias -fno-fnalias  \
10277                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10278 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10279 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
10280                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10281                     $(DA_ARCHFLAGS) \
10282                     -DLIMIT_ARGS
10283 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10284 ESMF_LIB_FLAGS    =
10285 ESMF_IO_LIB       = ESMFIOLIB
10286 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10287 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10288                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10289 PERL              = perl
10290 REGISTRY          = Registry
10291 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10292                     CONFIGURE_NETCDF_LIB_PATH \
10293                      \
10294                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10295                     CONFIGURE_GRIB2_LIB \
10296                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10297                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10298                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10299                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10300                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10301 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10302 CPP               = /lib/cpp -C -P -traditional
10303 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10304 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10305                     -I$(INCLUDE)  -C -P  \
10306                     $(POUND_DEF) $(COREDEFS)
10307 AR                = ar ru
10308 M4                = m4
10309 RANLIB            = ranlib
10310 NETCDFPATH            = CONFIGURE_NETCDF_PATH
10312 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10314 module_dm.F :
10315         ( /bin/cp module_dm_warning module_dm.F ; \
10316           cat module_dm_stubs.F >> module_dm.F )
10318 wrfio_nf :
10319         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10320           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10321           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10322         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10323         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10324         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10326 wrfio_int :
10327         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10328           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10329                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10330                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10331           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10333 wrfio_grib_share :
10334         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10335           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10336           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10338 wrfio_grib1 :
10339         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10340           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10341           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10343 wrfio_grib2 :
10344         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10345           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10346                   FREE="-FR" FIXED="-FI" \
10347           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10349 esmf_time :
10350         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10351           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10353 fftpack :
10354         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10355           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10357 # Compile these without high optimization and no interprocedural
10358 # optimizations to speed compile. Commenting them out may result
10359 # in longer compilation time, but might produce substantialy faster
10360 # binaries.
10361 mediation_integrate.o : mediation_integrate.F
10362 mediation_interp_domain.o : mediation_interp_domain.F
10363 mediation_feedback_domain.o : mediation_feedback_domain.F
10364 wrf_auxinput1out.o : wrf_auxinput1out.F
10365 wrf_histout.o : wrf_histout.F
10366 wrf_restartout.o : wrf_restartout.F
10367 wrf_inputin.o : wrf_inputin.F
10368 wrf_auxinput1in.o : wrf_auxinput1in.F
10369 wrf_histin.o : wrf_histin.F
10370 wrf_restartin.o : wrf_restartin.F
10371 module_initialize_real.o: module_initialize_real.F
10372 solve_interface.o : solve_interface.F
10373 shift_domain_em.o : shift_domain_em.F
10374 module_io_wrf.o : module_io_wrf.F
10375 module_dm.o : module_dm.F
10376 module_domain.o : module_domain.F
10377 start_domain.o : start_domain.F
10378 mediation_force_domain.o : mediation_force_domain.F
10379 module_configure.o : module_configure.F
10381 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10382 module_configure.o                                              \
10383 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10384 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10385 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10386 shift_domain_em.o                                              \
10387 mediation_force_domain.o:
10388         $(RM) $@
10389         $(SED_FTN) $*.F > $*.b
10390         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10391         $(RM) $*.b
10392         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10394 # Force even lower optimization level for these files to decrease
10395 # compilation time and lower memory demands
10396 solve_em.o : solve_em.F
10397 module_dm.o : module_dm.F
10399 solve_em.o \
10400 module_dm.o :
10401         $(RM) $@
10402         $(SED_FTN) $*.F > $*.b
10403         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10404         $(RM) $*.b
10405         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10407 ############################################################
10408 #ARCH    Generic Intel 64 x86_64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
10410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10411 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10413 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10414 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10415 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10417 #        If you got Out Of Memory message, there are several options:
10418 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10419 #               2. Remove any debugging flags (-g, -check, -traceback).
10420 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10421 #                  -no-ip compiler flag.
10423 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10424 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10425 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10426 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10427 #        behavior of your workload.
10429 #        If you have Intel MPI installed and wish to use instead, make the
10430 #        following changes to settings below:
10431 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10432 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10434 DMPARALLEL        =
10435 OMP               =
10436 OMPCPP            =
10437 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10438 MAX_PROC          = 1024
10439 MPI_HOME          =
10440 FC                = ifort
10441 LD                = $(FC)
10442 CC                = icc
10443 SCC               = icc
10444 CC_TOOLS          = $(SCC)
10445 SFC               = ifort
10446 CFLAGS            = -w -O3 -ip  -c
10447 FCOPTIM           = -O3
10448 FCDEBUG           = # -g -traceback
10449 FCBASEOPTS        = -align all -FR -convert big_endian \
10450                     -fno-alias -fno-fnalias  \
10451                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10452 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10453 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
10454                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10455                     $(DA_ARCHFLAGS) \
10456                     -DLIMIT_ARGS
10457 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10458 ESMF_LIB_FLAGS    =
10459 ESMF_IO_LIB       = ESMFIOLIB
10460 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10461 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10462                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10463 PERL              = perl
10464 REGISTRY          = Registry
10465 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10466                     CONFIGURE_NETCDF_LIB_PATH \
10467                      \
10468                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10469                     CONFIGURE_GRIB2_LIB \
10470                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10471                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10472                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10473                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10474                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10475 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10476 CPP               = /lib/cpp -C -P -traditional
10477 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10478 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10479                     -I$(INCLUDE)  -C -P  \
10480                     $(POUND_DEF) $(COREDEFS)
10481 AR                = ar ru
10482 M4                = m4
10483 RANLIB            = ranlib
10484 NETCDFPATH            = CONFIGURE_NETCDF_PATH
10486 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10488 module_dm.F :
10489         ( /bin/cp module_dm_warning module_dm.F ; \
10490           cat module_dm_stubs.F >> module_dm.F )
10492 wrfio_nf :
10493         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10494           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10495           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10496         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10497         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10498         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10500 wrfio_int :
10501         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10502           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10503                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10504                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10505           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10507 wrfio_grib_share :
10508         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10509           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10510           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10512 wrfio_grib1 :
10513         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10514           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10515           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10517 wrfio_grib2 :
10518         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10519           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10520                   FREE="-FR" FIXED="-FI" \
10521           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10523 esmf_time :
10524         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10525           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10527 fftpack :
10528         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10529           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10531 # Compile these without high optimization and no interprocedural
10532 # optimizations to speed compile. Commenting them out may result
10533 # in longer compilation time, but might produce substantialy faster
10534 # binaries.
10535 mediation_integrate.o : mediation_integrate.F
10536 mediation_interp_domain.o : mediation_interp_domain.F
10537 mediation_feedback_domain.o : mediation_feedback_domain.F
10538 wrf_auxinput1out.o : wrf_auxinput1out.F
10539 wrf_histout.o : wrf_histout.F
10540 wrf_restartout.o : wrf_restartout.F
10541 wrf_inputin.o : wrf_inputin.F
10542 wrf_auxinput1in.o : wrf_auxinput1in.F
10543 wrf_histin.o : wrf_histin.F
10544 wrf_restartin.o : wrf_restartin.F
10545 module_initialize_real.o: module_initialize_real.F
10546 solve_interface.o : solve_interface.F
10547 shift_domain_em.o : shift_domain_em.F
10548 module_io_wrf.o : module_io_wrf.F
10549 module_dm.o : module_dm.F
10550 module_domain.o : module_domain.F
10551 start_domain.o : start_domain.F
10552 mediation_force_domain.o : mediation_force_domain.F
10553 module_configure.o : module_configure.F
10555 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10556 module_configure.o                                              \
10557 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10558 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10559 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10560 shift_domain_em.o                                              \
10561 mediation_force_domain.o:
10562         $(RM) $@
10563         $(SED_FTN) $*.F > $*.b
10564         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10565         $(RM) $*.b
10566         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10568 # Force even lower optimization level for these files to decrease
10569 # compilation time and lower memory demands
10570 module_dm.o : module_dm.F
10571 solve_em.o : solve_em.F
10573 solve_em.o \
10574 module_dm.o :
10575         $(RM) $@
10576         $(SED_FTN) $*.F > $*.b
10577         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10578         $(RM) $*.b
10579         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10581 ############################################################
10582 #ARCH    Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, OpenMP, RSL_LITE)
10584 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10585 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10587 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10588 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10589 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10591 #        If you got Out Of Memory message, there are several options:
10592 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10593 #               2. Remove any debugging flags (-g, -check, -traceback).
10594 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10595 #                  -no-ip compiler flag.
10597 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10598 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10599 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10600 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10601 #        behavior of your workload.
10603 #        If you have Intel MPI installed and wish to use instead, make the
10604 #        following changes to settings below:
10605 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10606 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10608 DMPARALLEL        = 1
10609 OMP               = -openmp -fpp -auto
10610 OMPCPP            = -D_OPENMP
10611 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10612 MAX_PROC          = 1024
10613 MPI_HOME          = $(MPICH)
10614 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
10615 LD                = $(FC)
10616 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
10617 SCC               = icc
10618 CC_TOOLS          = $(SCC)
10619 SFC               = ifort
10620 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -openmp
10621 FCOPTIM           = -O3 -xT
10622 FCDEBUG           = # -g -traceback
10623 FCBASEOPTS        = -align all -FR -convert big_endian \
10624                     -fno-alias -fno-fnalias  \
10625                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10626 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10627 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10628                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10629                     $(DA_ARCHFLAGS) \
10630                     -DLIMIT_ARGS
10631 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10632 ESMF_LIB_FLAGS    =
10633 ESMF_IO_LIB       = ESMFIOLIB
10634 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10635 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10636                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10637 PERL              = perl
10638 REGISTRY          = Registry
10639 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10640                     CONFIGURE_NETCDF_LIB_PATH \
10641                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10642                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10643                     CONFIGURE_GRIB2_LIB \
10644                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10645                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10646                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10647                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10648                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10649 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10650 CPP               = /lib/cpp -C -P -traditional
10651 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10652 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10653                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10654                     $(POUND_DEF) $(COREDEFS)
10655 AR                = ar ru
10656 M4                = m4
10657 RANLIB            = ranlib
10658 NETCDFPATH            = CONFIGURE_NETCDF_PATH
10660 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10662 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10663         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10664           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10666 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10667         ( /bin/cp module_dm_warning module_dm.F ; \
10668           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10670 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10671         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10672          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10674 wrfio_nf :
10675         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10676           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10677           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10678         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10679         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10680         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10682 wrfio_int :
10683         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10684           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10685                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10686                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10687           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10689 wrfio_grib_share :
10690         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10691           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10692           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10694 wrfio_grib1 :
10695         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10696           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10697           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10699 wrfio_grib2 :
10700         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10701           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10702                   FREE="-FR" FIXED="-FI" \
10703           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10705 esmf_time :
10706         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10707           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10709 fftpack :
10710         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10711           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10713 # Compile these without high optimization and no interprocedural
10714 # optimizations to speed compile. Commenting them out may result
10715 # in longer compilation time, but might produce substantialy faster
10716 # binaries.
10717 mediation_integrate.o : mediation_integrate.F
10718 mediation_interp_domain.o : mediation_interp_domain.F
10719 mediation_feedback_domain.o : mediation_feedback_domain.F
10720 wrf_auxinput1out.o : wrf_auxinput1out.F
10721 wrf_histout.o : wrf_histout.F
10722 wrf_restartout.o : wrf_restartout.F
10723 wrf_inputin.o : wrf_inputin.F
10724 wrf_auxinput1in.o : wrf_auxinput1in.F
10725 wrf_histin.o : wrf_histin.F
10726 wrf_restartin.o : wrf_restartin.F
10727 module_initialize_real.o: module_initialize_real.F
10728 solve_interface.o : solve_interface.F
10729 shift_domain_em.o : shift_domain_em.F
10730 module_io_wrf.o : module_io_wrf.F
10731 module_dm.o : module_dm.F
10732 module_domain.o : module_domain.F
10733 start_domain.o : start_domain.F
10734 mediation_force_domain.o : mediation_force_domain.F
10735 module_configure.o : module_configure.F
10737 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10738 module_configure.o                                              \
10739 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10740 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10741 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10742 shift_domain_em.o                                              \
10743 mediation_force_domain.o:
10744         $(RM) $@
10745         $(SED_FTN) $*.F > $*.b
10746         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10747         $(RM) $*.b
10748         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10750 # Force even lower optimization level for these files to decrease
10751 # compilation time and lower memory demands
10752 solve_em.o : solve_em.F
10753 module_dm.o : module_dm.F
10755 solve_em.o \
10756 module_dm.o :
10757         $(RM) $@
10758         $(SED_FTN) $*.F > $*.b
10759         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10760         $(RM) $*.b
10761         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
10763 ############################################################
10764 #ARCH    Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x DM-Parallel (MPICH, RSL_LITE)
10766 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10767 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10769 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10770 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10771 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10773 #        If you got Out Of Memory message, there are several options:
10774 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10775 #               2. Remove any debugging flags (-g, -check, -traceback).
10776 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10777 #                  -no-ip compiler flag.
10779 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10780 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10781 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10782 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10783 #        behavior of your workload.
10785 #        If you have Intel MPI installed and wish to use instead, make the
10786 #        following changes to settings below:
10787 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10788 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10790 DMPARALLEL        = 1
10791 OMP               =
10792 OMPCPP            =
10793 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10794 MAX_PROC          = 1024
10795 MPI_HOME          = $(MPICH)
10796 FC                = $(MPI_HOME)/bin/mpif90 -f90=ifort
10797 LD                = $(FC)
10798 CC                = $(MPI_HOME)/bin/mpicc -cc=icc
10799 SCC               = icc
10800 CC_TOOLS          = $(SCC)
10801 SFC               = ifort
10802 CFLAGS            = -w -O3 -ip  -c -DDM_PARALLEL  -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
10803 FCOPTIM           = -O3 -xT
10804 FCDEBUG           = # -g -traceback
10805 FCBASEOPTS        = -align all -FR -convert big_endian \
10806                     -fno-alias -fno-fnalias  \
10807                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10808 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10809 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
10810                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10811                     $(DA_ARCHFLAGS) \
10812                     -DLIMIT_ARGS
10813 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10814 ESMF_LIB_FLAGS    =
10815 ESMF_IO_LIB       = ESMFIOLIB
10816 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10817 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
10818                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
10819 PERL              = perl
10820 REGISTRY          = Registry
10821 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
10822                     CONFIGURE_NETCDF_LIB_PATH \
10823                     -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
10824                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
10825                     CONFIGURE_GRIB2_LIB \
10826                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
10827                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
10828                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
10829                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
10830                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
10831 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
10832 CPP               = /lib/cpp -C -P -traditional
10833 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10834 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
10835                     -I$(INCLUDE) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` \
10836                     $(POUND_DEF) $(COREDEFS)
10837 AR                = ar ru
10838 M4                = m4
10839 RANLIB            = ranlib
10840 NETCDFPATH            = CONFIGURE_NETCDF_PATH
10842 externals :  CONFIGURE_WRFIO_NF $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
10844 gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
10845         ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
10846           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
10848 module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
10849         ( /bin/cp module_dm_warning module_dm.F ; \
10850           cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
10852 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
10853         ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC='$(CC) -I. $(CFLAGS) -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
10854          FC='$(FC) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
10856 wrfio_nf :
10857         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
10858           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
10859           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
10860         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
10861         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
10862         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
10864 wrfio_int :
10865         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
10866           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10867                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
10868                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
10869           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
10871 wrfio_grib_share :
10872         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
10873           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
10874           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
10876 wrfio_grib1 :
10877         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
10878           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10879           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10881 wrfio_grib2 :
10882         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
10883           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
10884                   FREE="-FR" FIXED="-FI" \
10885           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
10887 esmf_time :
10888         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
10889           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
10891 fftpack :
10892         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
10893           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
10895 # Compile these without high optimization and no interprocedural
10896 # optimizations to speed compile. Commenting them out may result
10897 # in longer compilation time, but might produce substantialy faster
10898 # binaries.
10899 mediation_integrate.o : mediation_integrate.F
10900 mediation_interp_domain.o : mediation_interp_domain.F
10901 mediation_feedback_domain.o : mediation_feedback_domain.F
10902 wrf_auxinput1out.o : wrf_auxinput1out.F
10903 wrf_histout.o : wrf_histout.F
10904 wrf_restartout.o : wrf_restartout.F
10905 wrf_inputin.o : wrf_inputin.F
10906 wrf_auxinput1in.o : wrf_auxinput1in.F
10907 wrf_histin.o : wrf_histin.F
10908 wrf_restartin.o : wrf_restartin.F
10909 module_initialize_real.o: module_initialize_real.F
10910 solve_interface.o : solve_interface.F
10911 shift_domain_em.o : shift_domain_em.F
10912 module_io_wrf.o : module_io_wrf.F
10913 module_dm.o : module_dm.F
10914 module_domain.o : module_domain.F
10915 start_domain.o : start_domain.F
10916 mediation_force_domain.o : mediation_force_domain.F
10917 module_configure.o : module_configure.F
10919 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
10920 module_configure.o                                              \
10921 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
10922 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
10923 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
10924 shift_domain_em.o                                              \
10925 mediation_force_domain.o:
10926         $(RM) $@
10927         $(SED_FTN) $*.F > $*.b
10928         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10929         $(RM) $*.b
10930         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
10932 # Force even lower optimization level for these files to decrease
10933 # compilation time and lower memory demands
10934 module_dm.o : module_dm.F
10935 solve_em.o : solve_em.F
10937 solve_em.o \
10938 module_dm.o :
10939         $(RM) $@
10940         $(SED_FTN) $*.F > $*.b
10941         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
10942         $(RM) $*.b
10943         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
10945 ############################################################
10946 #ARCH    Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x SM-Parallel (OpenMP, no nesting)
10948 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10949 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10951 #        By default, some files are compiled without optimizations to speed up compilation. Removing
10952 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
10953 #        Out Of Memory messages, but might produce binaries which are substantially faster.
10955 #        If you got Out Of Memory message, there are several options:
10956 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
10957 #               2. Remove any debugging flags (-g, -check, -traceback).
10958 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
10959 #                  -no-ip compiler flag.
10961 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
10962 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
10963 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
10964 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
10965 #        behavior of your workload.
10967 #        If you have Intel MPI installed and wish to use instead, make the
10968 #        following changes to settings below:
10969 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
10970 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
10972 DMPARALLEL        =
10973 OMP               = -openmp -fpp -auto
10974 OMPCPP            = -D_OPENMP
10975 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
10976 MAX_PROC          = 1024
10977 MPI_HOME          =
10978 FC                = ifort
10979 LD                = $(FC)
10980 CC                = icc
10981 SCC               = icc
10982 CC_TOOLS          = $(SCC)
10983 SFC               = ifort
10984 CFLAGS            = -w -O3 -ip  -c    -openmp
10985 FCOPTIM           = -O3 -xT
10986 FCDEBUG           = # -g -traceback
10987 FCBASEOPTS        = -align all -FR -convert big_endian \
10988                     -fno-alias -fno-fnalias  \
10989                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
10990 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
10991 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
10992                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
10993                     $(DA_ARCHFLAGS) \
10994                     -DLIMIT_ARGS
10995 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10996 ESMF_LIB_FLAGS    =
10997 ESMF_IO_LIB       = ESMFIOLIB
10998 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
10999 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
11000                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
11001 PERL              = perl
11002 REGISTRY          = Registry
11003 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
11004                     CONFIGURE_NETCDF_LIB_PATH \
11005                      \
11006                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
11007                     CONFIGURE_GRIB2_LIB \
11008                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
11009                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
11010                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
11011                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
11012                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
11013 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
11014 CPP               = /lib/cpp -C -P -traditional
11015 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
11016 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
11017                     -I$(INCLUDE)  -C -P  \
11018                     $(POUND_DEF) $(COREDEFS)
11019 AR                = ar ru
11020 M4                = m4
11021 RANLIB            = ranlib
11022 NETCDFPATH            = CONFIGURE_NETCDF_PATH
11024 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
11026 module_dm.F :
11027         ( /bin/cp module_dm_warning module_dm.F ; \
11028           cat module_dm_stubs.F >> module_dm.F )
11030 wrfio_nf :
11031         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
11032           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
11033           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
11034         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
11035         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
11036         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
11038 wrfio_int :
11039         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
11040           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11041                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
11042                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
11043           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
11045 wrfio_grib_share :
11046         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
11047           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
11048           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
11050 wrfio_grib1 :
11051         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
11052           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11053           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11055 wrfio_grib2 :
11056         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
11057           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11058                   FREE="-FR" FIXED="-FI" \
11059           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11061 esmf_time :
11062         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
11063           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
11065 fftpack :
11066         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
11067           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
11069 # Compile these without high optimization and no interprocedural
11070 # optimizations to speed compile. Commenting them out may result
11071 # in longer compilation time, but might produce substantialy faster
11072 # binaries.
11073 mediation_integrate.o : mediation_integrate.F
11074 mediation_interp_domain.o : mediation_interp_domain.F
11075 mediation_feedback_domain.o : mediation_feedback_domain.F
11076 wrf_auxinput1out.o : wrf_auxinput1out.F
11077 wrf_histout.o : wrf_histout.F
11078 wrf_restartout.o : wrf_restartout.F
11079 wrf_inputin.o : wrf_inputin.F
11080 wrf_auxinput1in.o : wrf_auxinput1in.F
11081 wrf_histin.o : wrf_histin.F
11082 wrf_restartin.o : wrf_restartin.F
11083 module_initialize_real.o: module_initialize_real.F
11084 solve_interface.o : solve_interface.F
11085 shift_domain_em.o : shift_domain_em.F
11086 module_io_wrf.o : module_io_wrf.F
11087 module_dm.o : module_dm.F
11088 module_domain.o : module_domain.F
11089 start_domain.o : start_domain.F
11090 mediation_force_domain.o : mediation_force_domain.F
11091 module_configure.o : module_configure.F
11093 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
11094 module_configure.o                                              \
11095 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
11096 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
11097 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
11098 shift_domain_em.o                                              \
11099 mediation_force_domain.o:
11100         $(RM) $@
11101         $(SED_FTN) $*.F > $*.b
11102         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11103         $(RM) $*.b
11104         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
11106 # Force even lower optimization level for these files to decrease
11107 # compilation time and lower memory demands
11108 solve_em.o : solve_em.F
11109 module_dm.o : module_dm.F
11111 solve_em.o \
11112 module_dm.o :
11113         $(RM) $@
11114         $(SED_FTN) $*.F > $*.b
11115         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11116         $(RM) $*.b
11117         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) $(OMP) -O0 $(MODULE_DIRS) -mP2OPT_vec_xform_level=103 $*.f90
11119 ############################################################
11120 #ARCH    Intel Core 2 Duo/Quad (Intel 64) x86_64 Linux, ifort+icc 9.x,10.x Sequential (no nesting)
11122 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
11123 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
11125 #        By default, some files are compiled without optimizations to speed up compilation. Removing
11126 #        respective makefile rules in the end of this file will result in longer compilation time, and, possibly
11127 #        Out Of Memory messages, but might produce binaries which are substantially faster.
11129 #        If you got Out Of Memory message, there are several options:
11130 #               1. Check your memory limits (ulimit -a), possibly increasing swap partitions size.
11131 #               2. Remove any debugging flags (-g, -check, -traceback).
11132 #               3. Force the problematic file to be compiled with less optimizations (see examples at the end of this file), try
11133 #                  -no-ip compiler flag.
11135 #        This configuration is aimed at accuracy. To improve performance (at the expence of accuracy) you might
11136 #        consider removing '-fp-model precise' flag from FCBASEOPTS. This enables non value-safe optimizations.
11137 #        Another option is to add '-ftz' flag, which flushes denormal results to zero when the application is in
11138 #        the gradual underflow mode. It may improve performance if the denormal values are not critical to the
11139 #        behavior of your workload.
11141 #        If you have Intel MPI installed and wish to use instead, make the
11142 #        following changes to settings below:
11143 #        FC                = $(MPI_HOME)/bin64/mpiifort -nocompchk
11144 #        CC                = $(MPI_HOME)/bin64/mpiicc -nocompchk
11146 DMPARALLEL        =
11147 OMP               =
11148 OMPCPP            =
11149 INCLUDE           = $(WRF_SRC_ROOT_DIR)/external/io_netcdf/
11150 MAX_PROC          = 1024
11151 MPI_HOME          =
11152 FC                = ifort
11153 LD                = $(FC)
11154 CC                = icc
11155 SCC               = icc
11156 CC_TOOLS          = $(SCC)
11157 SFC               = ifort
11158 CFLAGS            = -w -O3 -ip  -c
11159 FCOPTIM           = -O3 -xT
11160 FCDEBUG           = # -g -traceback
11161 FCBASEOPTS        = -align all -FR -convert big_endian \
11162                     -fno-alias -fno-fnalias  \
11163                     -I$(INCLUDE) -I. -fp-model precise $(FCDEBUG)
11164 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
11165 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO   \
11166                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF \
11167                     $(DA_ARCHFLAGS) \
11168                     -DLIMIT_ARGS
11169 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
11170 ESMF_LIB_FLAGS    =
11171 ESMF_IO_LIB       = ESMFIOLIB
11172 ESMF_IO_LIB_EXT   = ESMFIOEXTLIB
11173 INCLUDE_MODULES   = -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
11174                     -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc
11175 PERL              = perl
11176 REGISTRY          = Registry
11177 LIB               = -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf $(OMP) \
11178                     CONFIGURE_NETCDF_LIB_PATH \
11179                      \
11180                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
11181                     CONFIGURE_GRIB2_LIB \
11182                     -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
11183                     -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
11184                     $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
11185                         -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
11186                      -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
11187 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
11188 CPP               = /lib/cpp -C -P -traditional
11189 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
11190 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
11191                     -I$(INCLUDE)  -C -P  \
11192                     $(POUND_DEF) $(COREDEFS)
11193 AR                = ar ru
11194 M4                = m4
11195 RANLIB            = ranlib
11196 NETCDFPATH            = CONFIGURE_NETCDF_PATH
11198 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF  wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time fftpack
11200 module_dm.F :
11201         ( /bin/cp module_dm_warning module_dm.F ; \
11202           cat module_dm_stubs.F >> module_dm.F )
11204 wrfio_nf :
11205         ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
11206           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I$(WRF_SRC_ROOT_DIR) $(FCFLAGS)" \
11207           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
11208         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h $(WRF_SRC_ROOT_DIR)/inc ; \
11209         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
11210         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
11212 wrfio_int :
11213         ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
11214           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11215                   SFC="$(SFC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" \
11216                   ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
11217           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
11219 wrfio_grib_share :
11220         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
11221           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
11222           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
11224 wrfio_grib1 :
11225         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
11226           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11227           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11229 wrfio_grib2 :
11230         ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
11231           make CC="$(CC) CONFIGURE_GRIB2_INC" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
11232                   FREE="-FR" FIXED="-FI" \
11233           FC="$(FC) -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
11235 esmf_time :
11236         ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
11237           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
11239 fftpack :
11240         ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
11241           make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
11243 # Compile these without high optimization and no interprocedural
11244 # optimizations to speed compile. Commenting them out may result
11245 # in longer compilation time, but might produce substantialy faster
11246 # binaries.
11247 mediation_integrate.o : mediation_integrate.F
11248 mediation_interp_domain.o : mediation_interp_domain.F
11249 mediation_feedback_domain.o : mediation_feedback_domain.F
11250 wrf_auxinput1out.o : wrf_auxinput1out.F
11251 wrf_histout.o : wrf_histout.F
11252 wrf_restartout.o : wrf_restartout.F
11253 wrf_inputin.o : wrf_inputin.F
11254 wrf_auxinput1in.o : wrf_auxinput1in.F
11255 wrf_histin.o : wrf_histin.F
11256 wrf_restartin.o : wrf_restartin.F
11257 module_initialize_real.o: module_initialize_real.F
11258 solve_interface.o : solve_interface.F
11259 shift_domain_em.o : shift_domain_em.F
11260 module_io_wrf.o : module_io_wrf.F
11261 module_dm.o : module_dm.F
11262 module_domain.o : module_domain.F
11263 start_domain.o : start_domain.F
11264 mediation_force_domain.o : mediation_force_domain.F
11265 module_configure.o : module_configure.F
11267 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
11268 module_configure.o                                              \
11269 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
11270 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
11271 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
11272 shift_domain_em.o                                              \
11273 mediation_force_domain.o:
11274         $(RM) $@
11275         $(SED_FTN) $*.F > $*.b
11276         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11277         $(RM) $*.b
11278         $(FC) -c -no-ip $(FCBASEOPTS) $(FCDEBUG) $(MODULE_DIRS) $*.f90
11280 # Force even lower optimization level for these files to decrease
11281 # compilation time and lower memory demands
11282 module_dm.o : module_dm.F
11283 solve_em.o : solve_em.F
11285 solve_em.o \
11286 module_dm.o :
11287         $(RM) $@
11288         $(SED_FTN) $*.F > $*.b
11289         $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b > $*.f90
11290         $(RM) $*.b
11291         $(FC) -c $(FCBASEOPTS) $(FCDEBUG) -O0 $(MODULE_DIRS) $*.f90
11293 ##################################################################
11294 #ARCH  NULL