added README_changes.txt
[wrffire.git] / wrfv2_fire / arch / configure.defaults_orig
blob93f89f6d202437bfe0e3c27d85c0109942fd3385
1 ###########################################################
2 #ARCH   SGI 32 bit machine IRIX
4 FC              =       f90
5 SFC             =       $(FC)
6 LD              =       f90
7 CC              =       cc
8 SCC             =       $(CC)
9 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10 FCDEBUG         =       # -g
11 FCBASEOPTS      =       -freeform -I. -w
12 FCFLAGS         =       $(FCBASEOPTS)
13 PROMOTION       =       -r$(RWORDSIZE) -i4
14 CFLAGS          =
15 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
16 ESMF_LIB_FLAGS  =       
17 ESMF_IO_LIB     =       ESMFIOLIB
18 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
19 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
20                         -I../frame -I../share -I../phys -I../chem -I../inc
21 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS
22 LDFLAGS         =       CONFIGURE_LDFLAGS
23 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
24 CPP             =       /lib/cpp -C -P
25 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
26 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
27 PERL            =       CONFIGURE_PERL_PATH
28 REGISTRY        =       Registry
29 LIB             =       ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
30                         -L../external/io_grib1 -lio_grib1 \
31                         CONFIGURE_GRIB2_LIB \
32                         -L../external/io_grib_share -lio_grib_share
33 AR              =       ar ru
34 M4              =       m4 -B14000
35 RANLIB          =       echo
36 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
37 CC_TOOLS        =       $(CC)
39 #### Override default sed command and script for Fortran source files         ####
40 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
41 #### because the SGI Fortran compiler complains about long source lines.      ####
42 SED_FTN = sed -f ../arch/no_file_line.sed
44 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
46 module_dm.F :
47         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
49 wrfio_nf : 
50         ( cd ../external/io_netcdf ; \
51         make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
53 wrfio_int : 
54         ( cd ../external/io_int ; \
55           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
57 wrfio_grib_share :
58         ( cd ../external/io_grib_share ; \
59           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
61 wrfio_grib1 :
62         ( cd ../external/io_grib1 ; \
63           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
65 wrfio_grib2 :
66         ( cd ../external/io_grib2 ; \
67           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
69 esmf_time : 
70         ( cd ../external/esmf_time_f90 ; \
71           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
73 # compile these without high optimization to speed compile
74 solve_interface.o : solve_interface.F
75 shift_domain_em.o : shift_domain_em.F
76 module_configure.o : module_configure.F
77 module_io_mm5.o : module_io_mm5.F
78 module_si_io.o : module_si_io.F
79 module_io_wrf.o : module_io_wrf.F
80 module_domain.o : module_domain.F
81 module_start.o : module_start.F
82 module_initialize.o : module_initialize.F
83 module_initialize_b_wave.o : module_initialize_b_wave.F
84 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
85 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
86 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
87 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
88 module_initialize_real.o : module_initialize_real.F
89 module_dm.o : module_dm.F
90 start_domain.o : start_domain.F
92 solve_interface.o                                              \
93 shift_domain_em.o                                              \
94 module_configure.o                                             \
95 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
96 module_start.o module_initialize.o module_initialize_b_wave.o  \
97 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
98 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
99 module_initialize_real.o module_dm.o  start_domain.o :
100         $(RM) $@
101         $(SED_FTN) $*.F > $*.b 
102         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
103         $(RM) $*.b
104         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
107 ###########################################################
108 #ARCH   SGI 32 bit machine, sycamore IRIX
110 FC              =       f90
111 SFC             =       $(FC)
112 CC              =       cc
113 SCC             =       $(CC)
114 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
115 FCDEBUG         =       # -g
116 FCBASEOPTS      =       -freeform -I. -w
117 FCFLAGS         =       -freeform -I. -w
118 PROMOTION       =       -r$(RWORDSIZE) -i4
119 CFLAGS          =
120 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
121 ESMF_LIB_FLAGS  =       
122 ESMF_IO_LIB     =       ESMFIOLIB
123 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
124 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../frame -I../share -I../phys -I../chem  \
125                         -I../external/esmf_time_f90 -I../inc
126 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
127                         -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
128 LDFLAGS         =       CONFIGURE_LDFLAGS
129 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
130 CPP             =       /lib/cpp
131 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
132 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
133 PERL            =       CONFIGURE_PERL_PATH
134 REGISTRY        =       Registry
135 LIB             =       ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
136                         -L../external/io_grib1 -lio_grib1 \
137                         CONFIGURE_GRIB2_LIB \
138                         -L../external/io_grib_share -lio_grib_share
139 AR              =       ar ru
140 M4              =       m4 -B14000
141 RANLIB          =       echo
142 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
143 CC_TOOLS        =       $(CC)
145 #### Override default sed command and script for Fortran source files         ####
146 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
147 #### because the SGI Fortran compiler complains about long source lines.      ####
148 SED_FTN = sed -f ../arch/no_file_line.sed
150 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
152 module_dm.F :
153         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
155 wrfio_nf : 
156         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
158 wrfio_int : 
159         ( cd ../external/io_int ; \
160           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
162 wrfio_grib_share :
163         ( cd ../external/io_grib_share ; \
164           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
166 wrfio_grib1 :
167         ( cd ../external/io_grib1 ; \
168           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
170 wrfio_grib2 :
171         ( cd ../external/io_grib2 ; \
172           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
174 esmf_time : 
175         ( cd ../external/esmf_time_f90 ; \
176           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
178 # compile these without high optimization to speed compile
179 solve_interface.o : solve_interface.F
180 shift_domain_em.o : shift_domain_em.F
181 module_configure.o : module_configure.F
182 module_io_mm5.o : module_io_mm5.F
183 module_si_io.o : module_si_io.F
184 module_io_wrf.o : module_io_wrf.F
185 module_domain.o : module_domain.F
186 module_start.o : module_start.F
187 module_initialize.o : module_initialize.F
188 module_initialize_b_wave.o : module_initialize_b_wave.F
189 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
190 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
191 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
192 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
193 module_initialize_real.o : module_initialize_real.F
194 module_dm.o : module_dm.F
195 start_domain.o : start_domain.F
197 solve_interface.o                                              \
198 shift_domain_em.o                                              \
199 module_configure.o                                             \
200 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
201 module_start.o module_initialize.o module_initialize_b_wave.o  \
202 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
203 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
204 module_initialize_real.o module_dm.o start_domain.o :
205         $(RM) $@
206         $(SED_FTN) $*.F > $*.b 
207         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
208         $(RM) $*.b
209         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
211 ###########################################################
212 #ARCH       SGI 64 bit machine IRIX64     (single-threaded, no nesting)
214 FC              =       f90
215 SFC             =       $(FC)
216 LD              =       f90
217 CC              =       cc
218 SCC             =       $(CC)
219 CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
220 FCOPTIM         =       -O3
221 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
222 FCDEBUG         =       # -g
223 FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
224 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
225 PROMOTION       =       -r$(RWORDSIZE) -i4
226 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
227 ESMF_LIB_FLAGS  =       
228 ESMF_IO_LIB     =       ESMFIOLIB
229 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
230 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
231                         -I../frame -I../share -I../phys -I../chem -I../inc
232 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
233                         CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
234                         -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
235 PERL            =       CONFIGURE_PERL_PATH
236 REGISTRY        =       Registry
237 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
238                         -L../external/io_int -lwrfio_int \
239                         -L../external/io_grib1 -lio_grib1 \
240                         CONFIGURE_GRIB2_LIB \
241                         -L../external/io_grib_share -lio_grib_share \
242                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
243 LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
244 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
245 CPP             =       /lib/cpp -C -P
246 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
247 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
248 AR              =       ar ru
249 M4              =       m4 -B14000
250 RANLIB          =       echo
251 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
252 CC_TOOLS        =       $(CC)
254 #### Override default sed command and script for Fortran source files         ####
255 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
256 #### because the SGI Fortran compiler complains about long source lines.      ####
257 SED_FTN = sed -f ../arch/no_file_line.sed
259 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
261 module_dm.F :
262         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
264 wrfio_nf : 
265         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
267 wrfio_int : 
268         ( cd ../external/io_int ; \
269           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
271 wrfio_grib_share :
272         ( cd ../external/io_grib_share ; \
273           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
275 wrfio_grib1 :
276         ( cd ../external/io_grib1 ; \
277           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
279 wrfio_grib2 :
280         ( cd ../external/io_grib2 ; \
281           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
283 esmf_time : 
284         ( cd ../external/esmf_time_f90 ; \
285           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
287 # compile these without high optimization to speed compile
288 solve_interface.o : solve_interface.F
289 shift_domain_em.o : shift_domain_em.F
290 module_io_mm5.o : module_io_mm5.F
291 module_si_io.o : module_si_io.F
292 module_io_wrf.o : module_io_wrf.F
293 module_domain.o : module_domain.F
294 module_start.o : module_start.F
295 module_initialize.o : module_initialize.F
296 module_initialize_b_wave.o : module_initialize_b_wave.F
297 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
298 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
299 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
300 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
301 module_initialize_real.o : module_initialize_real.F
302 module_dm.o : module_dm.F
303 start_domain.o : start_domain.F
305 solve_interface.o                                              \
306 shift_domain_em.o                                              \
307 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
308 module_start.o module_initialize.o module_initialize_b_wave.o  \
309 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
310 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
311 module_initialize_real.o module_dm.o  start_domain.o :
312         $(RM) $@
313         $(SED_FTN) $*.F > $*.b 
314         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
315         $(RM) $*.b
316         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
318 module_configure.o : module_configure.F
319         $(RM) $@
320         $(SED_FTN) $*.F > $*.b
321         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
322         $(RM) $*.b
323         $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
325 ###########################################################
326 #ARCH   SGI O2K IRIX
328 FC              =       f90 -n32 -mips4 -w
329 SFC             =       $(FC)
330 LD              =       f90 -n32 -mips4 -w
331 CC              =       cc
332 SCC             =       $(CC)
333 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
334 PROMOTION       =       -r$(RWORDSIZE) -i4
335 CFLAGS          =       -n32 -mips4
336 FCDEBUG         =       # -g
337 FCBASEOPTS      =       -freeform -I. -w
338 FCFLAGS         =       -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
339 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
340                         -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
341 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
342 ESMF_LIB_FLAGS  =       
343 ESMF_IO_LIB     =       ESMFIOLIB
344 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
345 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../frame -I../share \
346                         -I../phys -I../chem -I../inc -I../external/esmf_time_f90
347 PERL            =       CONFIGURE_PERL_PATH
348 REGISTRY        =       Registry
349 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
350                         -L../external/io_grib1 -lio_grib1 \
351                         CONFIGURE_GRIB2_LIB \
352                         -L../external/io_grib_share -lio_grib_share \
353                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
354 AR              =       ar ru
355 M4              =       m4 -B14000
356 LDFLAGS         =       CONFIGURE_LDFLAGS
357 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
358 CPP             =       /lib/cpp -C -P
359 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
360 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
361 RANLIB          =       echo
362 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
363 CC_TOOLS        =       $(CC)
365 #### Override default sed command and script for Fortran source files         ####
366 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
367 #### because the SGI Fortran compiler complains about long source lines.      ####
368 SED_FTN = sed -f ../arch/no_file_line.sed
370 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
372 module_dm.F :
373         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
375 wrfio_nf : 
376         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
378 wrfio_int : 
379         ( cd ../external/io_int ; \
380           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
382 wrfio_grib_share :
383         ( cd ../external/io_grib_share ; \
384           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
386 wrfio_grib1 :
387         ( cd ../external/io_grib1 ; \
388           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
390 wrfio_grib2 :
391         ( cd ../external/io_grib2 ; \
392           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
394 esmf_time : 
395         ( cd ../external/esmf_time_f90 ; \
396           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
398 # compile these without high optimization to speed compile
399 solve_interface.o : solve_interface.F
400 shift_domain_em.o : shift_domain_em.F
401 module_configure.o : module_configure.F
402 module_io_mm5.o : module_io_mm5.F
403 module_si_io.o : module_si_io.F
404 module_io_wrf.o : module_io_wrf.F
405 module_domain.o : module_domain.F
406 module_start.o : module_start.F
407 module_initialize.o : module_initialize.F
408 module_initialize_b_wave.o : module_initialize_b_wave.F
409 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
410 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
411 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
412 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
413 module_initialize_real.o : module_initialize_real.F
414 module_dm.o : module_dm.F
415 start_domain.o : start_domain.F
417 solve_interface.o                                              \
418 shift_domain_em.o                                              \
419 module_configure.o                                             \
420 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
421 module_start.o module_initialize.o module_initialize_b_wave.o  \
422 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
423 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
424 module_initialize_real.o module_dm.o start_domain.o :
425         $(RM) $@
426         $(SED_FTN) $*.F > $*.b 
427         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
428         $(RM) $*.b
429         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
431 ###########################################################
432 #ARCH       SGI 64 bit machine IRIX64     (OpenMP, no nesting)
434 OMP             =       -mp
435 OMPCPP          =       -D_OPENMP
436 FC              =       f90
437 SFC             =       $(FC)
438 LD              =       f90
439 CC              =       cc
440 SCC             =       $(CC)
441 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
442 PROMOTION       =       -r$(RWORDSIZE) -i4
443 CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
444 FCOPTIM         =       -O3
445 FCDEBUG         =       # -g
446 FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
447 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
448 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
449 ESMF_LIB_FLAGS  =       
450 ESMF_IO_LIB     =       ESMFIOLIB
451 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
452 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
453                         -I../frame -I../share -I../phys -I../chem -I../inc
454 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
455                         CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
456                         -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
457 PERL            =       CONFIGURE_PERL_PATH
458 REGISTRY        =       Registry
459 LIB             =       CONFIGURE_NETCDF_LIB_PATH $(OMP) \
460                         -L../external/io_int -lwrfio_int \
461                         -L../external/io_grib1 -lio_grib1 \
462                         CONFIGURE_GRIB2_LIB \
463                         -L../external/io_grib_share -lio_grib_share \
464                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
465 LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
466 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
467 CPP             =       /lib/cpp -C -P
468 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
469 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
470 AR              =       ar ru
471 M4              =       m4 -B14000
472 RANLIB          =       echo
473 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
474 CC_TOOLS        =       $(CC)
476 #### Override default sed command and script for Fortran source files         ####
477 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
478 #### because the SGI Fortran compiler complains about long source lines.      ####
479 SED_FTN = sed -f ../arch/no_file_line.sed
481 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
483 module_dm.F :
484         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
486 wrfio_nf : 
487         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
489 wrfio_int : 
490         ( cd ../external/io_int ; \
491           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
493 wrfio_grib_share :
494         ( cd ../external/io_grib_share ; \
495           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
497 wrfio_grib1 :
498         ( cd ../external/io_grib1 ; \
499           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
501 wrfio_grib2 :
502         ( cd ../external/io_grib2 ; \
503           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
505 esmf_time : 
506         ( cd ../external/esmf_time_f90 ; \
507           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
509 # compile these without high optimization to speed compile
510 solve_interface.o : solve_interface.F
511 shift_domain_em.o : shift_domain_em.F
512 module_configure.o : module_configure.F
513 module_io_mm5.o : module_io_mm5.F
514 module_si_io.o : module_si_io.F
515 module_io_wrf.o : module_io_wrf.F
516 module_domain.o : module_domain.F
517 module_start.o : module_start.F
518 module_initialize.o : module_initialize.F
519 module_initialize_b_wave.o : module_initialize_b_wave.F
520 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
521 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
522 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
523 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
524 module_initialize_real.o : module_initialize_real.F
525 module_dm.o : module_dm.F
526 start_domain.o : start_domain.F
528 solve_interface.o                                              \
529 shift_domain_em.o                                              \
530 module_configure.o                                             \
531 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
532 module_start.o module_initialize.o module_initialize_b_wave.o  \
533 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
534 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
535 module_initialize_real.o module_dm.o  start_domain.o :
536         $(RM) $@
537         $(SED_FTN) $*.F > $*.b 
538         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
539         $(RM) $*.b
540         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
542 ###########################################################
543 #ARCH   SGI O2K DM IRIX64     DM-Parallel        (RSL, SGI-MPI, allows nesting)
545 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
546 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
549 DMPARALLEL      =       1
550 MAX_PROC        =       1024
551 OMP             =       #-mp
552 OMPCPP          =       #-D_OPENMP
553 FC              =       f90
554 SFC             =       $(FC)
555 LD              =       f90
556 CC              =       cc
557 SCC             =       $(CC)
558 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
559 PROMOTION       =       -r$(RWORDSIZE) -i4
560 CFLAGS          =       -w -64 -mips4 -DWRF_RSL_IO -DMAXDOM_MAKE=$(MAX_DOMAINS) \
561                         -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -DDM_PARALLEL -DLANDREAD_STUB -DNCARIBM_NOC99
562 FCDEBUG         =       # -g
563 FCOPTIM         =       -O3 -OPT:roundoff=3:IEEE_arithmetic=3
564 FCBASEOPTS      =       -freeform -I. -64 -mips4 -w $(FCDEBUG) -w
565 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
566 ARCHFLAGS       =       $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 \
567                         -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
568                         -DLIMIT_ARGS -DLANDREAD_STUB
569 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
570 ESMF_LIB_FLAGS  =       
571 ESMF_IO_LIB     =       ESMFIOLIB
572 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
573 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../frame -I../external/esmf_time_f90 \
574                         -I../share -I../phys -I../chem -I../inc
575 PERL            =       CONFIGURE_PERL_PATH
576 REGISTRY        =       Registry
577 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
578                         -L../external/RSL/RSL -lrsl -lmpi \
579                         -L../external/io_grib1 -lio_grib1 \
580                         CONFIGURE_GRIB2_LIB \
581                         -L../external/io_grib_share -lio_grib_share \
582                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
583 LDFLAGS         =       -64 $(OMP)       CONFIGURE_LDFLAGS
584 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
585 CPP             =       /lib/cpp
586 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
587 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
588 AR              =       ar ru
589 M4              =       m4 -B14000
590 RANLIB          =       echo
591 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
592 CC_TOOLS        =       $(CC)
594 #### Override default sed command and script for Fortran source files         ####
595 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
596 #### because the SGI Fortran compiler complains about long source lines.      ####
597 SED_FTN = sed -f ../arch/no_file_line.sed
599 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
601 gen_comms.c : ../external/RSL/gen_comms.c
602         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
603           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
605 module_dm.F : ../external/RSL/module_dm.F
606         ( /bin/cp module_dm_warning module_dm.F ; \
607           cat ../external/RSL/module_dm.F >> module_dm.F )
609 wrfio_nf : 
610         ( cd ../external/io_netcdf ; \
611           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
613 wrfio_int : 
614         ( cd ../external/io_int ; \
615           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
617 wrfio_grib_share :
618         ( cd ../external/io_grib_share ; \
619           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
621 wrfio_grib1 :
622         ( cd ../external/io_grib1 ; \
623           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
625 wrfio_grib2 :
626         ( cd ../external/io_grib2 ; \
627           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
629 esmf_time : 
630         ( cd ../external/esmf_time_f90 ; \
631           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
633 ../external/RSL/RSL/librsl.a :
634         ( cd ../external/RSL/RSL ; \
635           make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
636                LEARN_BCAST=-DLEARN_BCAST o2k )
638 # compile these without high optimization to speed compile
639 solve_interface.o : solve_interface.F
640 shift_domain_em.o : shift_domain_em.F
641 module_configure.o : module_configure.F
642 module_io_mm5.o : module_io_mm5.F
643 module_si_io.o : module_si_io.F
644 module_io_wrf.o : module_io_wrf.F
645 module_domain.o : module_domain.F
646 module_start.o : module_start.F
647 module_initialize.o : module_initialize.F
648 module_initialize_b_wave.o : module_initialize_b_wave.F
649 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
650 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
651 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
652 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
653 module_initialize_real.o : module_initialize_real.F
654 module_dm.o : module_dm.F
655 start_domain.o : start_domain.F
657 solve_interface.o                                              \
658 shift_domain_em.o                                              \
659 module_configure.o                                             \
660 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
661 module_start.o module_initialize.o module_initialize_b_wave.o  \
662 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
663 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
664 module_initialize_real.o module_dm.o start_domain.o :
665         $(RM) $@
666         $(SED_FTN) $*.F > $*.b 
667         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
668         $(RM) $*.b
669         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
671 ###########################################################
672 #ARCH   Sun  SunOS      (single-threaded, no nesting)
674 FC              =       f95
675 SFC             =       $(FC)
676 LD              =       f95
677 CC              =       cc
678 SCC             =       $(CC)
679 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
680 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
681 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
682 CFLAGS          =       -DNCARIBM_NOC99
683 FCOPTIM         =       -O2 # -O4 -xlibmopt
684 FCDEBUG         =       #-g
685 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) -w
686 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
687 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
688 ESMF_LIB_FLAGS  =       
689 ESMF_IO_LIB     =       ESMFIOLIB
690 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
691 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
692                         -I../frame -I../share -I../phys -I../inc -I../chem \
693                         -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
694                         -M../frame -M../share -M../phys -M../inc -M../chem \
695                         -M../dyn_em 
696 ARCHFLAGS       =       $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
697                         CONFIGURE_NETCDF_FLAG \
698                         -DLIMIT_ARGS
699 PERL            =       CONFIGURE_PERL_PATH
700 REGISTRY        =       Registry
701 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
702                         -L../external/io_int -lwrfio_int \
703                         -L../external/io_grib1 -lio_grib1 \
704                         CONFIGURE_GRIB2_LIB \
705                         -L../external/io_grib_share -lio_grib_share \
706                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
707 LDFLAGS         =       $(FCOPTIM)       CONFIGURE_LDFLAGS
708 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
709 #CPP            =       /opt/SUNWspro/bin/fpp
710 CPP             =       /usr/ccs/lib/cpp -C -P
711 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
712 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
713 AR              =       ar ru
714 M4              =       m4 -B14000
715 RANLIB          =       ranlib
716 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
717 CC_TOOLS        =       $(CC)
719 #### Override default sed command and script for Fortran source files         ####
720 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
721 #### because the Sun Fortran compiler complains about long source lines,      ####
722 #### usually due to cpp translating __FILE__ to a full pathname.              ####
723 SED_FTN = sed -f ../arch/no_file_line.sed
725 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
727 module_dm.F :
728         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
730 wrfio_nf : 
731         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
733 wrfio_int : 
734         ( cd ../external/io_int ; \
735           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
737 wrfio_grib_share :
738         ( cd ../external/io_grib_share ; \
739           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
741 wrfio_grib1 :
742         ( cd ../external/io_grib1 ; \
743           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
745 wrfio_grib2 :
746         ( cd ../external/io_grib2 ; \
747           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
749 esmf_time : 
750         ( cd ../external/esmf_time_f90 ; \
751           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
753 solve_interface.o : solve_interface.F
754         $(RM) $@
755         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
756         $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
758 # compile these without high optimization to speed compile
759 shift_domain_em.o : shift_domain_em.F
760 module_io_mm5.o : module_io_mm5.F
761 module_si_io.o : module_si_io.F
762 module_io_wrf.o : module_io_wrf.F
763 module_domain.o : module_domain.F
764 module_start.o : module_start.F
765 module_initialize.o : module_initialize.F
766 module_initialize_b_wave.o : module_initialize_b_wave.F
767 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
768 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
769 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
770 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
771 module_initialize_real.o : module_initialize_real.F
772 mediation_interp_domain.o : mediation_interp_domain.F
773 mediation_force_domain.o : mediation_force_domain.F
774 module_dm.o : module_dm.F
775 start_domain.o : start_domain.F
776 wrf_bdyin.o : wrf_bdyin.F
777 wrf_bdyout.o : wrf_bdyout.F
778 wrf_histin.o : wrf_histin.F
779 wrf_histout.o : wrf_histout.F
780 wrf_inputin.o : wrf_inputin.F
781 wrf_inputout.o : wrf_inputout.F
782 wrf_restartin.o : wrf_restartin.F
783 wrf_restartout.o : wrf_restartout.F
784 module_configure.o : module_configure.F
786 module_configure.o \
787 shift_domain_em.o                                              \
788 wrf_bdyin.o wrf_bdyout.o  \
789 wrf_histin.o wrf_histout.o  \
790 wrf_inputin.o wrf_inputout.o  \
791 wrf_restartin.o wrf_restartout.o  \
792 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
793 module_start.o module_initialize.o module_initialize_b_wave.o  \
794 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
795 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
796 module_initialize_real.o mediation_interp_domain.o \
797 mediation_force_domain.o module_dm.o start_domain.o :
798         $(RM) $@
799         $(SED_FTN) $*.F > $*.b 
800         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
801         $(RM) $*.b
802         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
804 ###########################################################
805 #ARCH   Sun  SunOS      (single-threaded, nesting using RSL and no MPI)
807 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
808 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
811 DM_PARALLEL     =       1
812 OMP             =       
813 OMPCPP          =       
814 FC              =       f95
815 SFC             =       $(FC)
816 LD              =       f95
817 CC              =       cc
818 SCC             =       $(CC)
819 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
820 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
821                         -DDM_PARALLEL -DRSL \
822                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
823                         -DLIMIT_ARGS -DFLOATSAFE \
824                         -DSTUBMPI
825 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
826 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
827 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
828 FCOPTIM         =       -O2 # -O4 -xlibmopt
829 FCDEBUG         =       # -g
830 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) -w
831 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
832 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
833 ESMF_LIB_FLAGS  =       
834 ESMF_IO_LIB     =       ESMFIOLIB
835 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
836 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
837                         -I../frame -I../share -I../phys -I../inc -I../chem \
838                         -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
839                         -M../frame -M../share -M../phys -M../inc -M../chem \
840                         -M../dyn_em
841 PERL            =       CONFIGURE_PERL_PATH
842 REGISTRY        =       Registry
843 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
844                         -L../external/RSL/RSL -lrsl \
845                         -L../external/io_grib1 -lio_grib1 \
846                         CONFIGURE_GRIB2_LIB \
847                         -L../external/io_grib_share -lio_grib_share \
848                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
849 LDFLAGS         =       $(FCOPTIM) $(OMP)        CONFIGURE_LDFLAGS
850 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
851 CPP             =       /usr/ccs/lib/cpp -C -P
852 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
853 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
854 MAX_PROC        =       1
855 AR              =       ar ru
856 M4              =       m4 -B 14000
857 RANLIB          =       ranlib
858 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
859 CC_TOOLS        =       $(CC)
861 #### Override default sed command and script for Fortran source files         ####
862 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
863 #### because the Sun Fortran compiler complains about long source lines,      ####
864 #### usually due to cpp translating __FILE__ to a full pathname.              ####
865 SED_FTN = sed -f ../arch/no_file_line.sed
867 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
869 gen_comms.c : ../external/RSL/gen_comms.c
870         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
871           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
873 module_dm.F : ../external/RSL/module_dm.F
874         ( /bin/cp module_dm_warning module_dm.F ; \
875           cat ../external/RSL/module_dm.F >> module_dm.F )
877 wrfio_nf : 
878         ( cd ../external/io_netcdf ; \
879           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
881 wrfio_int : 
882         ( cd ../external/io_int ; \
883           make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
885 wrfio_grib_share :
886         ( cd ../external/io_grib_share ; \
887           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
889 wrfio_grib1 :
890         ( cd ../external/io_grib1 ; \
891           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
893 wrfio_grib2 :
894         ( cd ../external/io_grib2 ; \
895           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
897 esmf_time : 
898         ( cd ../external/esmf_time_f90 ; \
899           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
901 ../external/RSL/RSL/librsl.a :
902         ( cd ../external/RSL/RSL ; \
903           make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
904                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
906 # compile these without high optimization to speed compile
907 module_io_mm5.o : module_io_mm5.F
908 module_si_io.o : module_si_io.F
909 module_io_wrf.o : module_io_wrf.F
910 module_domain.o : module_domain.F
911 module_start.o : module_start.F
912 module_initialize.o : module_initialize.F
913 module_initialize_b_wave.o : module_initialize_b_wave.F
914 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
915 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
916 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
917 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
918 module_initialize_real.o : module_initialize_real.F
919 module_dm.o : module_dm.F
920 start_domain.o : start_domain.F
921 wrf_bdyin.o : wrf_bdyin.F
922 wrf_bdyout.o : wrf_bdyout.F
923 wrf_histin.o : wrf_histin.F
924 wrf_histout.o : wrf_histout.F
925 wrf_inputin.o : wrf_inputin.F
926 wrf_inputout.o : wrf_inputout.F
927 wrf_restartin.o : wrf_restartin.F
928 wrf_restartout.o : wrf_restartout.F
929 module_configure.o : module_configure.F
931 module_configure.o \
932 wrf_bdyin.o wrf_bdyout.o  \
933 wrf_histin.o wrf_histout.o  \
934 wrf_inputin.o wrf_inputout.o  \
935 wrf_restartin.o wrf_restartout.o  \
936 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
937 module_start.o module_initialize.o module_initialize_b_wave.o  \
938 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
939 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
940 module_initialize_real.o module_dm.o start_domain.o :
941         $(RM) $@
942         $(SED_FTN) $*.F > $*.b 
943         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
944         $(RM) $*.b
945         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
947 ###########################################################
948 #ARCH   Sun  SunOS SM   (OpenMP, no nesting)
950 OMP             =       -mp=openmp -explicitpar -stackvar
951 OMPCPP          =       -D_OPENMP
952 FC              =       f95
953 SFC             =       $(FC)
954 LD              =       f95
955 CC              =       cc
956 SCC             =       $(CC)
957 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
958 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
959 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
960 CFLAGS          =       -DNCARIBM_NOC99
961 FCOPTIM         =       -O3 -xlibmopt
962 FCDEBUG         =       #-g
963 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
964 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
965 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
966 ESMF_LIB_FLAGS  =       
967 ESMF_IO_LIB     =       ESMFIOLIB
968 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
969 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
970                         -I../frame -I../share -I../phys -I../inc -I../chem \
971                         -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
972                         -M../frame -M../share -M../phys -M../inc -M../chem \
973                         -M../dyn_em 
974 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
975                         CONFIGURE_NETCDF_FLAG \
976                         -DLIMIT_ARGS
977 PERL            =       CONFIGURE_PERL_PATH
978 REGISTRY        =       Registry
979 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
980                         -L../external/io_int -lwrfio_int \
981                         -L../external/io_grib1 -lio_grib1 \
982                         CONFIGURE_GRIB2_LIB \
983                         -L../external/io_grib_share -lio_grib_share \
984                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
985 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
986 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
987 #CPP            =       /opt/SUNWspro/bin/fpp
988 CPP             =       /usr/ccs/lib/cpp -C -P
989 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
990 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
991 AR              =       ar ru
992 M4              =       m4 -B14000
993 RANLIB          =       ranlib
994 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
995 CC_TOOLS        =       $(CC)
997 #### Override default sed command and script for Fortran source files         ####
998 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
999 #### because the Sun Fortran compiler complains about long source lines,      ####
1000 #### usually due to cpp translating __FILE__ to a full pathname.              ####
1001 SED_FTN = sed -f ../arch/no_file_line.sed
1003 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1005 module_dm.F :
1006         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1008 wrfio_nf : 
1009         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
1011 wrfio_int : 
1012         ( cd ../external/io_int ; \
1013           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
1015 wrfio_grib_share :
1016         ( cd ../external/io_grib_share ; \
1017           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
1019 wrfio_grib1 :
1020         ( cd ../external/io_grib1 ; \
1021           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1023 wrfio_grib2 :
1024         ( cd ../external/io_grib2 ; \
1025           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1027 esmf_time : 
1028         ( cd ../external/esmf_time_f90 ; \
1029           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1031 solve_interface.o : solve_interface.F
1032         $(RM) $@
1033         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
1034         $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
1036 # compile these without high optimization to speed compile
1037 shift_domain_em.o : shift_domain_em.F
1038 module_io_mm5.o : module_io_mm5.F
1039 module_si_io.o : module_si_io.F
1040 module_io_wrf.o : module_io_wrf.F
1041 module_domain.o : module_domain.F
1042 module_start.o : module_start.F
1043 module_initialize.o : module_initialize.F
1044 module_initialize_b_wave.o : module_initialize_b_wave.F
1045 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1046 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1047 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1048 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1049 module_initialize_real.o : module_initialize_real.F
1050 module_dm.o : module_dm.F
1051 start_domain.o : start_domain.F
1052 module_configure.o : module_configure.F
1054 shift_domain_em.o                                              \
1055 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1056 module_start.o module_initialize.o module_initialize_b_wave.o  \
1057 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1058 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1059 module_configure.o                                             \
1060 module_initialize_real.o module_dm.o start_domain.o :
1061         $(RM) $@
1062         $(SED_FTN) $*.F > $*.b 
1063         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1064         $(RM) $*.b
1065         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
1067 ###########################################################
1068 #ARCH   Sun  SunOS SM   (OpenMP, nesting using RSL and no MPI)
1070 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1071 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1074 DM_PARALLEL     =       1
1075 OMP             =       -mp=openmp -explicitpar -stackvar
1076 OMPCPP          =       -D_OPENMP
1077 FC              =       f95
1078 SFC             =       $(FC)
1079 LD              =       f95
1080 CC              =       cc
1081 SCC             =       $(CC)
1082 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1083 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1084                         -DDM_PARALLEL -DRSL \
1085                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1086                         -DLIMIT_ARGS -DFLOATSAFE \
1087                         -DSTUBMPI
1088 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
1089 PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
1090 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL -DNCARIBM_NOC99
1091 FCOPTIM         =       -O3 -xlibmopt
1092 FCDEBUG         =       # -g
1093 FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) -w
1094 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1095 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1096 ESMF_LIB_FLAGS  =       
1097 ESMF_IO_LIB     =       ESMFIOLIB
1098 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1099 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
1100                         -I../frame -I../share -I../phys -I../inc -I../chem \
1101                         -M../external/io_netcdf -M../external/io_int -M../external/esmf_time_f90 \
1102                         -M../frame -M../share -M../phys -M../inc -M../chem \ 
1103                         -M../dyn_em
1104 PERL            =       CONFIGURE_PERL_PATH
1105 REGISTRY        =       Registry
1106 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
1107                         -L../external/RSL/RSL -lrsl \
1108                         -L../external/io_grib1 -lio_grib1 \
1109                         CONFIGURE_GRIB2_LIB \
1110                         -L../external/io_grib_share -lio_grib_share \
1111                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1112 LDFLAGS         =       $(FCOPTIM) $(OMP) $(OMP) CONFIGURE_LDFLAGS
1113 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1114 CPP             =       /usr/ccs/lib/cpp -C -P
1115 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1116 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1117 MAX_PROC        =       1
1118 AR              =       ar ru
1119 M4              =       m4 -B 14000
1120 RANLIB          =       ranlib
1121 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1122 CC_TOOLS        =       $(CC)
1124 #### Override default sed command and script for Fortran source files         ####
1125 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
1126 #### because the Sun Fortran compiler complains about long source lines,      ####
1127 #### usually due to cpp translating __FILE__ to a full pathname.              ####
1128 SED_FTN = sed -f ../arch/no_file_line.sed
1130 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
1132 gen_comms.c : ../external/RSL/gen_comms.c
1133         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
1134           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1136 module_dm.F : ../external/RSL/module_dm.F
1137         ( /bin/cp module_dm_warning module_dm.F ; \
1138           cat ../external/RSL/module_dm.F >> module_dm.F )
1140 wrfio_nf : 
1141         ( cd ../external/io_netcdf ; \
1142           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" )
1144 wrfio_int : 
1145         ( cd ../external/io_int ; \
1146           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -cpp -free" all )
1148 wrfio_grib_share :
1149         ( cd ../external/io_grib_share ; \
1150           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
1152 wrfio_grib1 :
1153         ( cd ../external/io_grib1 ; \
1154           make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1156 wrfio_grib2 :
1157         ( cd ../external/io_grib2 ; \
1158           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
1160 esmf_time : 
1161         ( cd ../external/esmf_time_f90 ; \
1162           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1164 ../external/RSL/RSL/librsl.a :
1165         ( cd ../external/RSL/RSL ; \
1166           make CC="$(CC)" CFLAGS='-w -DSUN -DSTUBS -O' FC="$(FC) $(PROMOTION)" FFLAGS='-w -O' \
1167                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
1169 # compile these without high optimization to speed compile
1170 module_io_mm5.o : module_io_mm5.F
1171 module_si_io.o : module_si_io.F
1172 module_io_wrf.o : module_io_wrf.F
1173 module_domain.o : module_domain.F
1174 module_start.o : module_start.F
1175 module_initialize.o : module_initialize.F
1176 module_initialize_b_wave.o : module_initialize_b_wave.F
1177 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1178 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1179 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1180 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1181 module_initialize_real.o : module_initialize_real.F
1182 module_dm.o : module_dm.F
1183 start_domain.o : start_domain.F
1184 module_configure.o : module_configure.F
1186 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1187 module_start.o module_initialize.o module_initialize_b_wave.o  \
1188 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1189 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1190 module_configure.o                                             \
1191 module_initialize_real.o module_dm.o start_domain.o :
1192         $(RM) $@
1193         $(SED_FTN) $*.F > $*.b 
1194         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1195         $(RM) $*.b
1196         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1198 ###########################################################
1199 #ARCH   AIX             (single-threaded, no nesting)
1201 FC              =       xlf90_r
1202 SFC             =       $(FC)
1203 LD              =       xlf90_r
1204 CC              =       cc_r
1205 SCC             =       $(CC)
1206 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1207 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1208 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99
1209 FCOPTIM         =       -O2 -qarch=auto
1210 #FCOPTIM         =       -O3 -qhot
1211 FCDEBUG         =       # -qnoopt -qfullpath
1212 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=32767 -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
1213 FCFIXED         =       -qfixed
1214 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1215 FCSUFFIX        =       -qsuffix=f=f90=F
1216 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1217 ESMF_LIB_FLAGS  =       -lC
1218 ESMF_IO_LIB     =       ESMFIOLIB
1219 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1220 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
1221                         -I../frame -I../share -I../phys -I../chem -I../inc
1222 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1223                         CONFIGURE_NETCDF_FLAG \
1224                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1225 PERL            =       CONFIGURE_PERL_PATH
1226 REGISTRY        =       Registry
1227 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv \
1228                         -L../external/io_int -lwrfio_int \
1229                         -L../external/io_grib1 -lio_grib1 \
1230                         CONFIGURE_GRIB2_LIB \
1231                         -L../external/io_grib_share -lio_grib_share \
1232                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1234 LDFLAGS         =        CONFIGURE_LDFLAGS
1235 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1236 CPP             =       /lib/cpp -C -P
1237 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1238 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1239 AR              =       ar ru
1240 M4              =       m4 -B 14000
1241 RANLIB          =       ranlib
1242 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1243 CC_TOOLS        =       cc
1245 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1247 module_dm.F :
1248         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1250 wrfio_nf : 
1251         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1253 wrfio_int : 
1254         ( cd ../external/io_int ; \
1255           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1257 wrfio_grib_share :
1258         ( cd ../external/io_grib_share ; \
1259           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1261 wrfio_grib1 :
1262         ( cd ../external/io_grib1 ; \
1263           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1265 wrfio_grib2 :
1266         ( cd ../external/io_grib2 ; \
1267           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1269 esmf_time : 
1270         ( cd ../external/esmf_time_f90 ; \
1271           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1273 # compile these without high optimization to speed compile
1274 wrf_bdyout.o : wrf_bdyout.F
1275 wrf_bdyin.o : wrf_bdyin.F
1276 wrf_restartout.o : wrf_restartout.F
1277 wrf_restartin.o : wrf_restartin.F
1278 wrf_inputin.o : wrf_inputin.F
1279 wrf_inputout.o : wrf_inputout.F
1280 wrf_histin.o : wrf_histin.F
1281 wrf_histout.o : wrf_histout.F
1282 shift_domain_em.o : shift_domain_em.F
1283 module_io_mm5.o : module_io_mm5.F
1284 module_si_io.o : module_si_io.F
1285 module_io_wrf.o : module_io_wrf.F
1286 module_domain.o : module_domain.F
1287 module_start.o : module_start.F
1288 module_initialize.o : module_initialize.F
1289 module_initialize_b_wave.o : module_initialize_b_wave.F
1290 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1291 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1292 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1293 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1294 module_initialize_real.o : module_initialize_real.F
1295 module_dm.o : module_dm.F
1296 start_domain.o : start_domain.F
1297 mediation_integrate.o : mediation_integrate.F
1298 mediation_interp_domain.o : mediation_interp_domain.F
1299 mediation_force_domain.o : mediation_force_domain.F
1300 mediation_feedback_domain.o : mediation_feedback_domain.F
1301 convert_nmm.o : convert_nmm.F
1302 module_configure.o : module_configure.F
1303 solve_interface.o : solve_interface.F
1304 solve_em.o : solve_em.F
1305 solve_nmm.o : solve_nmm.F
1306 module_integrate.o : module_integrate.F
1308 wrf_bdyout.o wrf_bdyin.o \
1309 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1310 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1311 module_start.o module_initialize.o module_initialize_b_wave.o  \
1312 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1313 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1314 module_initialize_real.o module_dm.o \
1315 mediation_integrate.o \
1316 mediation_interp_domain.o \
1317 module_configure.o                                             \
1318 solve_interface.o                                              \
1319 shift_domain_em.o                                              \
1320 solve_em.o                                                      \
1321 solve_nmm.o                                                     \
1322 convert_nmm.o :
1323         $(RM) $@
1324         $(SED_FTN) $*.F > $*.b 
1325         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1326         $(RM) $*.b
1327         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1329 # to prevent having to call our service representative
1330 mediation_feedback_domain.o \
1331 mediation_force_domain.o start_domain.o module_integrate.o :
1332         $(RM) $@
1333         $(SED_FTN) $*.F > $*.b
1334         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1335         $(RM) $*.b
1336         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1338 ###########################################################
1339 #ARCH   AIX SM          (OpenMP, no nesting)
1341 OMP             =       -qsmp=noauto:noopt
1342 OMPCPP          =       -D_OPENMP
1343 FC              =       xlf90_r
1344 SFC             =       $(FC)
1345 LD              =       xlf90_r
1346 CC              =       cc_r
1347 SCC             =       $(CC)
1348 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1349 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1350 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99
1351 FCOPTIM         =       -O2 -qarch=auto
1352 #FCOPTIM         =       -O3 -qhot
1353 FCDEBUG         =       # -qnoopt -qfullpath
1354 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1355 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1356 FCSUFFIX        =       -qsuffix=f=f90
1357 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1358 ESMF_LIB_FLAGS  =       -lC
1359 ESMF_IO_LIB     =       ESMFIOLIB
1360 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1361 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
1362                         -I../frame -I../share -I../phys -I../chem -I../inc
1363 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1364                         CONFIGURE_NETCDF_FLAG \
1365                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1366 PERL            =       CONFIGURE_PERL_PATH
1367 REGISTRY        =       Registry
1368 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv -lxlsmp \
1369                         -L../external/io_int -lwrfio_int \
1370                         -L../external/io_grib1 -lio_grib1 \
1371                         CONFIGURE_GRIB2_LIB \
1372                         -L../external/io_grib_share -lio_grib_share \
1373                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1374 LDFLAGS         =       $(OMP) CONFIGURE_LDFLAGS
1375 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1376 CPP             =       /lib/cpp -C -P
1377 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1378 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1379 AR              =       ar ru
1380 M4              =       m4 -B 14000
1381 RANLIB          =       ranlib
1382 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1383 CC_TOOLS        =       $(CC)
1385 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
1387 module_dm.F :
1388         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1390 wrfio_nf : 
1391         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1393 wrfio_int : 
1394         ( cd ../external/io_int ; \
1395           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1397 wrfio_grib_share :
1398         ( cd ../external/io_grib_share ; \
1399           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1401 wrfio_grib1 :
1402         ( cd ../external/io_grib1 ; \
1403           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1405 wrfio_grib2 :
1406         ( cd ../external/io_grib2 ; \
1407           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1409 esmf_time : 
1410         ( cd ../external/esmf_time_f90 ; \
1411           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1413 module_sm.o     : module_sm.F
1414 module_tiles.o  : module_tiles.F
1415 solve_em.o      : solve_em.F
1416 solve_exp.o     : solve_exp.F
1417 convert_nmm.o   : convert_nmm.F
1419 module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
1420         $(RM) $@
1421         $(SED_FTN) $*.F > $*.b 
1422         $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
1423         $(RM) $*.b
1424         $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1426 #       Compiled WITHOUT ANY SMP, needed Mar 2005
1427 module_domain.o : module_domain.F
1428         $(RM) $@
1429         $(SED_FTN) $*.F > $*.b
1430         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1431         $(RM) $*.b
1432         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1434 # compile these without high optimization to speed compile
1435 wrf_bdyout.o : wrf_bdyout.F
1436 wrf_bdyin.o : wrf_bdyin.F
1437 wrf_restartout.o : wrf_restartout.F
1438 wrf_restartin.o : wrf_restartin.F
1439 wrf_inputin.o : wrf_inputin.F
1440 wrf_inputout.o : wrf_inputout.F
1441 wrf_histin.o : wrf_histin.F
1442 wrf_histout.o : wrf_histout.F
1443 shift_domain_em.o : shift_domain_em.F
1444 module_io_mm5.o : module_io_mm5.F
1445 module_si_io.o : module_si_io.F
1446 module_io_wrf.o : module_io_wrf.F
1447 module_start.o : module_start.F
1448 module_initialize.o : module_initialize.F
1449 module_initialize_b_wave.o : module_initialize_b_wave.F
1450 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1451 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1452 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1453 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1454 module_initialize_real.o : module_initialize_real.F
1455 module_dm.o : module_dm.F
1456 start_domain.o : start_domain.F
1457 mediation_integrate.o : mediation_integrate.F
1458 mediation_interp_domain.o : mediation_interp_domain.F
1459 mediation_force_domain.o : mediation_force_domain.F
1460 mediation_feedback_domain.o : mediation_feedback_domain.F
1461 convert_nmm.o : convert_nmm.F
1462 module_configure.o : module_configure.F
1463 solve_interface.o : solve_interface.F
1464 module_integrate.o : module_integrate.F
1466 wrf_bdyout.o wrf_bdyin.o \
1467 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1468 module_io_mm5.o module_si_io.o module_io_wrf.o \
1469 module_start.o module_initialize.o module_initialize_b_wave.o  \
1470 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1471 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1472 module_initialize_real.o module_dm.o \
1473 mediation_integrate.o \
1474 mediation_interp_domain.o \
1475 module_configure.o                                             \
1476 solve_interface.o                                              \
1477 shift_domain_em.o                                              \
1478 convert_nmm.o :
1479         $(RM) $@
1480         $(SED_FTN) $*.F > $*.b
1481         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1482         $(RM) $*.b
1483         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
1487 ###########################################################
1488 #ARCH   AIX DM-Parallel          (RSL_LITE, IBM-MPI, Allows nesting)
1490 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1491 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1493 DMPARALLEL      =       1
1494 SFC             =       xlf90_r
1495 SCC             =       cc_r
1496 FC              =       mpxlf90_r
1497 LD              =       mpxlf90_r
1498 CC              =       mpcc_r
1499 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1500 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1501 CFLAGS          =       -DNOUNDERSCORE  -I../external/RSL_LITE -DDM_PARALLEL \
1502                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1503 FCOPTIM         =       -O2 -qarch=auto
1504 #FCOPTIM         =       -O3 -qhot
1505 FCDEBUG         =       # -qnoopt -qfullpath
1506 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1507 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1508 FCSUFFIX        =       -qsuffix=f=f90
1509 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1510 ESMF_LIB_FLAGS  =       -lC
1511 ESMF_IO_LIB     =       ESMFIOLIB
1512 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1513 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_pnetcdf \
1514                         -I../external/io_int  -I../external/esmf_time_f90 \
1515                         -I../frame -I../share -I../phys -I../chem -I../inc
1516 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1517                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1518                         -DTRIEDNTRUE -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1519                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DNMM_NEST=$(WRF_NMM_NEST)
1520 PERL            =       perl
1521 REGISTRY        =       Registry
1522 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1523                         -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
1524                         -L../external/io_int -lwrfio_int  \
1525                         -L../external/io_grib1 -lio_grib1 \
1526                         CONFIGURE_GRIB2_LIB \
1527                         -L../external/io_grib_share -lio_grib_share \
1528                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1529 LDFLAGS         =        CONFIGURE_LDFLAGS
1530 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1531 CPP             =       /lib/cpp
1532 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1533 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1534 MAX_PROC        =       1024
1535 AR              =       ar ru
1536 M4              =       m4 -B 14000
1537 RANLIB          =       ranlib
1538 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1539 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
1540 CC_TOOLS        =       cc
1542 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
1544 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1545         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1547 module_dm.F : ../external/RSL_LITE/module_dm.F
1548         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1550 wrfio_nf : 
1551         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1553 wrfio_pnf : 
1554         ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1556 wrfio_int : 
1557         ( cd ../external/io_int ; \
1558           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1560 wrfio_grib_share :
1561         ( cd ../external/io_grib_share ; \
1562           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1564 wrfio_grib1 :
1565         ( cd ../external/io_grib1 ; \
1566           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1568 wrfio_grib2 :
1569         ( cd ../external/io_grib2 ; \
1570           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1572 esmf_time : 
1573         ( cd ../external/esmf_time_f90 ; \
1574           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1576 ../external/RSL_LITE/librsl_lite.a :
1577         ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
1579 # compile these without high optimization
1580 wrf_bdyout.o : wrf_bdyout.F
1581 wrf_bdyin.o : wrf_bdyin.F
1582 wrf_restartout.o : wrf_restartout.F
1583 wrf_restartin.o : wrf_restartin.F
1584 wrf_inputin.o : wrf_inputin.F
1585 wrf_inputout.o : wrf_inputout.F
1586 wrf_histin.o : wrf_histin.F
1587 wrf_histout.o : wrf_histout.F
1588 module_io_mm5.o : module_io_mm5.F
1589 module_si_io.o : module_si_io.F
1590 module_io_wrf.o : module_io_wrf.F
1591 module_domain.o : module_domain.F
1592 module_start.o : module_start.F
1593 module_initialize.o : module_initialize.F
1594 module_initialize_b_wave.o : module_initialize_b_wave.F
1595 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1596 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1597 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1598 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1599 module_initialize_real.o : module_initialize_real.F
1600 module_dm.o : module_dm.F
1601 start_domain.o : start_domain.F
1602 mediation_integrate.o : mediation_integrate.F
1603 mediation_interp_domain.o : mediation_interp_domain.F
1604 mediation_force_domain.o : mediation_force_domain.F
1605 mediation_feedback_domain.o : mediation_feedback_domain.F
1606 convert_nmm.o : convert_nmm.F
1607 solve_interface.o : solve_interface.F
1608 shift_domain_em.o : shift_domain_em.F
1609 solve_em.o : solve_em.F
1610 solve_nmm.o : solve_nmm.F
1612 wrf_bdyout.o wrf_bdyin.o \
1613 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1614 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1615 module_start.o module_initialize.o module_initialize_b_wave.o  \
1616 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1617 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1618 module_initialize_real.o module_dm.o start_domain.o \
1619 mediation_force_domain.o \
1620 mediation_integrate.o \
1621 mediation_interp_domain.o \
1622 mediation_feedback_domain.o \
1623 solve_interface.o                                              \
1624 shift_domain_em.o                                              \
1625 solve_em.o                                              \
1626 solve_nmm.o                                                     \
1627 convert_nmm.o    :
1628         $(RM) $@
1629         $(SED_FTN) $*.F > $*.b 
1630         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1631         $(RM) $*.b
1632         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1634 ###########################################################
1635 #ARCH   AIX DM-Parallel          (RSL, IBM-MPI, allows nesting)
1637 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1638 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1640 DMPARALLEL      =       1
1641 SFC             =       xlf90_r
1642 SCC             =       cc_r
1643 FC              =       mpxlf90_r
1644 LD              =       mpxlf90_r
1645 CC              =       mpcc_r
1646 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1647 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1648 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
1649                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1650 FCOPTIM         =       -O2 -qarch=auto
1651 #FCOPTIM         =       -O3 -qhot
1652 FCDEBUG         =       # -qnoopt -qfullpath
1653 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1654 FCFIXED         =       -qfixed
1655 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1656 FCSUFFIX        =       -qsuffix=f=f90
1657 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1658 ESMF_LIB_FLAGS  =       -lC
1659 ESMF_IO_LIB     =       ESMFIOLIB
1660 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1661 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int -I../external/io_pnetcdf $(ESMF_IO_INC) \
1662                         -I../frame -I../share -I../phys -I../chem -I../inc $(ESMF_MOD_INC)
1663 ARCHFLAGS       =       $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1664                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
1665                         -DTRIEDNTRUE   -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1666                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV $(ESMF_IO_DEFS)
1667 PERL            =       perl
1668 REGISTRY        =       Registry
1669 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
1670                         -L../external/RSL/RSL -lrsl -lmass -lmassv \
1671                         -L../external/io_int -lwrfio_int  \
1672                         -L../external/io_grib1 -lio_grib1 \
1673                         CONFIGURE_GRIB2_LIB \
1674                         -L../external/io_grib_share -lio_grib_share \
1675                         ../frame/module_internal_header_util.o ../frame/pack_utils.o $(ESMF_IO_LIB)
1676 LDFLAGS         =        CONFIGURE_LDFLAGS
1677 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1678 CPP             =       /lib/cpp
1679 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1680 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1681 MAX_PROC        =       1024
1682 AR              =       ar ru
1683 M4              =       m4 -B 14000
1684 RANLIB          =       ranlib
1685 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1686 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
1687 CC_TOOLS        =       cc
1689 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F $(ESMF_TARGET)
1691 gen_comms.c : ../external/RSL/gen_comms.c
1692         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1694 module_dm.F : ../external/RSL/module_dm.F
1695         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
1697 wrfio_nf : 
1698         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1700 wrfio_pnf : 
1701         ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1703 wrfio_int : 
1704         ( cd ../external/io_int ; \
1705           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1707 wrfio_grib_share :
1708         ( cd ../external/io_grib_share ; \
1709           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1711 wrfio_grib1 :
1712         ( cd ../external/io_grib1 ; \
1713           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1715 wrfio_grib2 :
1716         ( cd ../external/io_grib2 ; \
1717           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1719 esmf_time : 
1720         ( cd ../external/esmf_time_f90 ; \
1721           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1723 ../external/RSL/RSL/librsl.a :
1724         ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
1726 # compile these without high optimization
1727 wrf_bdyout.o : wrf_bdyout.F
1728 wrf_bdyin.o : wrf_bdyin.F
1729 wrf_restartout.o : wrf_restartout.F
1730 wrf_restartin.o : wrf_restartin.F
1731 wrf_inputin.o : wrf_inputin.F
1732 wrf_inputout.o : wrf_inputout.F
1733 wrf_histin.o : wrf_histin.F
1734 wrf_histout.o : wrf_histout.F
1735 module_io_mm5.o : module_io_mm5.F
1736 module_si_io.o : module_si_io.F
1737 module_io_wrf.o : module_io_wrf.F
1738 module_domain.o : module_domain.F
1739 module_start.o : module_start.F
1740 module_initialize.o : module_initialize.F
1741 module_initialize_b_wave.o : module_initialize_b_wave.F
1742 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1743 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1744 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1745 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1746 module_initialize_real.o : module_initialize_real.F
1747 module_dm.o : module_dm.F
1748 start_domain.o : start_domain.F
1749 mediation_integrate.o : mediation_integrate.F
1750 mediation_interp_domain.o : mediation_interp_domain.F
1751 mediation_force_domain.o : mediation_force_domain.F
1752 mediation_feedback_domain.o : mediation_feedback_domain.F
1753 convert_nmm.o : convert_nmm.F
1754 solve_interface.o : solve_interface.F
1755 shift_domain_em.o : shift_domain_em.F
1756 solve_em.o : solve_em.F
1757 solve_nmm.o : solve_nmm.F
1758 start_domain_nmm.o : start_domain_nmm.F
1759 couple_or_uncouple_em.o : couple_or_uncouple_em.F
1760 nest_init_utils.o : nest_init_utils.F
1762 wrf_bdyout.o wrf_bdyin.o \
1763 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1764 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1765 module_start.o module_initialize.o module_initialize_b_wave.o  \
1766 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1767 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1768 module_initialize_real.o module_dm.o start_domain.o \
1769 mediation_force_domain.o \
1770 mediation_integrate.o \
1771 mediation_interp_domain.o \
1772 mediation_feedback_domain.o \
1773 solve_interface.o                                              \
1774 shift_domain_em.o                                              \
1775 solve_em.o                                              \
1776 solve_nmm.o                                                     \
1777 start_domain_nmm.o                                     \
1778 couple_or_uncouple_em.o                                              \
1779 nest_init_utils.o                                              \
1780 convert_nmm.o    :
1781         $(RM) $@
1782         $(SED_FTN) $*.F > $*.b 
1783         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1784         $(RM) $*.b
1785         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1787 ###########################################################
1788 #ARCH   AIX DM-Parallel          (RSL, IBM-MPI, allows nesting )(PARALLEL HDF5)
1790 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1791 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1793 DMPARALLEL      =       1
1794 SFC             =       xlf90_r
1795 SCC             =       cc_r
1796 FC              =       mpxlf90_r
1797 LD              =       mpxlf90_r
1798 CC              =       mpcc_r
1799 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1800 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1801 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
1802                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1803 FCOPTIM         =       -O2 -qarch=auto 
1804 #FCOPTIM         =       -O3 -qhot
1805 FCDEBUG         =       # -qnoopt -qfullpath
1806 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1807 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1808 FCSUFFIX        =       -qsuffix=f=f90
1809 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1810 ESMF_LIB_FLAGS  =       -lC
1811 ESMF_IO_LIB     =       ESMFIOLIB
1812 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1813 INCLUDE_MODULES =       -I../external/io_netcdf  -I../external/io_phdf5 -I../external/io_int  -I../external/esmf_time_f90 \
1814                         -I../frame -I../share -I../phys -I../chem -I../inc
1815 ARCHFLAGS       =       $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1816                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1817                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1818 PERL            =       perl
1819 REGISTRY        =       Registry
1820 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
1821                         -L../external/io_int -lwrfio_int  \
1822                         -L../external/io_grib1 -lio_grib1 \
1823                         CONFIGURE_GRIB2_LIB \
1824                         -L../external/io_grib_share -lio_grib_share \
1825                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1826 LDFLAGS         =        CONFIGURE_LDFLAGS
1827 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1828 CPP             =       /lib/cpp
1829 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1830 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1831 MAX_PROC        =       1024
1832 AR              =       ar ru
1833 M4              =       m4 -B 14000
1834 RANLIB          =       ranlib
1835 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1836 CC_TOOLS        =       cc
1838 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
1840 gen_comms.c : ../external/RSL/gen_comms.c
1841         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
1843 module_dm.F : ../external/RSL/module_dm.F
1844         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
1846 wrfio_nf : 
1847         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1849 wrfio_phdf5 : 
1850         ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
1852 wrfio_int : 
1853         ( cd ../external/io_int ; \
1854           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1856 wrfio_grib_share :
1857         ( cd ../external/io_grib_share ; \
1858           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
1860 wrfio_grib1 :
1861         ( cd ../external/io_grib1 ; \
1862           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
1864 wrfio_grib2 :
1865         ( cd ../external/io_grib2 ; \
1866           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
1868 esmf_time : 
1869         ( cd ../external/esmf_time_f90 ; \
1870           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
1872 ../external/RSL/RSL/librsl.a :
1873         ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
1875 # compile these without high optimization
1876 wrf_bdyout.o : wrf_bdyout.F
1877 wrf_bdyin.o : wrf_bdyin.F
1878 wrf_restartout.o : wrf_restartout.F
1879 wrf_restartin.o : wrf_restartin.F
1880 wrf_inputin.o : wrf_inputin.F
1881 wrf_inputout.o : wrf_inputout.F
1882 wrf_histin.o : wrf_histin.F
1883 wrf_histout.o : wrf_histout.F
1884 module_io_mm5.o : module_io_mm5.F
1885 module_si_io.o : module_si_io.F
1886 module_io_wrf.o : module_io_wrf.F
1887 module_domain.o : module_domain.F
1888 module_start.o : module_start.F
1889 module_initialize.o : module_initialize.F
1890 module_initialize_b_wave.o : module_initialize_b_wave.F
1891 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1892 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1893 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1894 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1895 module_initialize_real.o : module_initialize_real.F
1896 module_dm.o : module_dm.F
1897 start_domain.o : start_domain.F
1898 mediation_integrate.o : mediation_integrate.F
1899 mediation_interp_domain.o : mediation_interp_domain.F
1900 mediation_force_domain.o : mediation_force_domain.F
1901 mediation_feedback_domain.o : mediation_feedback_domain.F
1902 convert_nmm.o : convert_nmm.F
1903 solve_interface.o : solve_interface.F
1904 shift_domain_em.o : shift_domain_em.F
1905 solve_em.o : solve_em.F
1906 solve_nmm.o : solve_nmm.F
1908 wrf_bdyout.o wrf_bdyin.o \
1909 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
1910 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1911 module_start.o module_initialize.o module_initialize_b_wave.o  \
1912 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1913 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1914 module_initialize_real.o module_dm.o start_domain.o \
1915 mediation_force_domain.o \
1916 mediation_integrate.o \
1917 mediation_interp_domain.o \
1918 mediation_feedback_domain.o \
1919 solve_interface.o                                              \
1920 shift_domain_em.o                                              \
1921 solve_em.o                                              \
1922 solve_nmm.o                                                     \
1923 convert_nmm.o    :
1924         $(RM) $@
1925         $(SED_FTN) $*.F > $*.b 
1926         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
1927         $(RM) $*.b
1928         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
1930 ###########################################################
1931 #ARCH   AIX DM-Parallel          (RSL_LITE, IBM-MPI, Allows nesting )(PARALLEL HDF5)
1933 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1934 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1936 DMPARALLEL      =       1
1937 SFC             =       xlf90_r
1938 SCC             =       cc_r
1939 FC              =       mpxlf90_r
1940 LD              =       mpxlf90_r
1941 CC              =       mpcc_r
1942 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
1943 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
1944 CFLAGS          =       -DNOUNDERSCORE  -I../external/RSL_LITE -DDM_PARALLEL  \
1945                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
1946 FCOPTIM         =       -O2 -qarch=auto 
1947 #FCOPTIM         =       -O3 -qhot
1948 FCDEBUG         =       # -qnoopt -qfullpath
1949 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=-1 #-qflttrap=zerodivide:invalid:enable -qsigtrap
1950 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
1951 FCSUFFIX        =       -qsuffix=f=f90
1952 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1953 ESMF_LIB_FLAGS  =       -lC
1954 ESMF_IO_LIB     =       ESMFIOLIB
1955 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1956 INCLUDE_MODULES =       -I../external/io_netcdf  -I../external/io_phdf5 -I../external/io_int  -I../external/esmf_time_f90 \
1957                         -I../frame -I../share -I../phys -I../inc -I../chem
1958 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1959                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG CONFIGURE_PHDF5_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1960                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
1961 PERL            =       perl
1962 REGISTRY        =       Registry
1963 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PHDF5_LIB_PATH -L../external/RSL_LITE -lrsl_lite -lmass -lmassv \
1964                         -L../external/io_int -lwrfio_int  \
1965                         -L../external/io_grib1 -lio_grib1 \
1966                         CONFIGURE_GRIB2_LIB \
1967                         -L../external/io_grib_share -lio_grib_share \
1968                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
1969 LDFLAGS         =        CONFIGURE_LDFLAGS
1970 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1971 CPP             =       /lib/cpp
1972 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1973 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1974 MAX_PROC        =       1024
1975 AR              =       ar ru
1976 M4              =       m4 -B 14000
1977 RANLIB          =       ranlib
1978 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1979 CC_TOOLS        =       cc
1981 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 CONFIGURE_WRFIO_PHDF5 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
1983 gen_comms.c : ../external/RSL_LITE/gen_comms.c
1984         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
1986 module_dm.F : ../external/RSL_LITE/module_dm.F
1987         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
1989 wrfio_nf : 
1990         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
1992 wrfio_phdf5 : 
1993         ( cd ../external/io_phdf5 ; make PHDF5PATH=CONFIGURE_PHDF5_PATH FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qfree=F90 -qzerosize" ; /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc )
1995 wrfio_int : 
1996         ( cd ../external/io_int ; \
1997           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
1999 wrfio_grib_share :
2000         ( cd ../external/io_grib_share ; \
2001           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2003 wrfio_grib1 :
2004         ( cd ../external/io_grib1 ; \
2005           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2007 wrfio_grib2 :
2008         ( cd ../external/io_grib2 ; \
2009           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
2011 esmf_time : 
2012         ( cd ../external/esmf_time_f90 ; \
2013           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2015 ../external/RSL_LITE/librsl_lite.a :
2016         ( cd ../external/RSL_LITE ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2018 # compile these without high optimization
2019 wrf_bdyout.o : wrf_bdyout.F
2020 wrf_bdyin.o : wrf_bdyin.F
2021 wrf_restartout.o : wrf_restartout.F
2022 wrf_restartin.o : wrf_restartin.F
2023 wrf_inputin.o : wrf_inputin.F
2024 wrf_inputout.o : wrf_inputout.F
2025 wrf_histin.o : wrf_histin.F
2026 wrf_histout.o : wrf_histout.F
2027 module_io_mm5.o : module_io_mm5.F
2028 module_si_io.o : module_si_io.F
2029 module_io_wrf.o : module_io_wrf.F
2030 module_domain.o : module_domain.F
2031 module_start.o : module_start.F
2032 module_initialize.o : module_initialize.F
2033 module_initialize_b_wave.o : module_initialize_b_wave.F
2034 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2035 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2036 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2037 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2038 module_initialize_real.o : module_initialize_real.F
2039 module_dm.o : module_dm.F
2040 start_domain.o : start_domain.F
2041 mediation_integrate.o : mediation_integrate.F
2042 mediation_interp_domain.o : mediation_interp_domain.F
2043 mediation_force_domain.o : mediation_force_domain.F
2044 mediation_feedback_domain.o : mediation_feedback_domain.F
2045 convert_nmm.o : convert_nmm.F
2046 solve_interface.o : solve_interface.F
2047 shift_domain_em.o : shift_domain_em.F
2048 solve_em.o : solve_em.F
2049 solve_nmm.o : solve_nmm.F
2051 wrf_bdyout.o wrf_bdyin.o \
2052 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2053 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2054 module_start.o module_initialize.o module_initialize_b_wave.o  \
2055 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2056 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2057 module_initialize_real.o module_dm.o start_domain.o \
2058 mediation_force_domain.o \
2059 mediation_integrate.o \
2060 mediation_interp_domain.o \
2061 mediation_feedback_domain.o \
2062 solve_interface.o                                              \
2063 shift_domain_em.o                                              \
2064 solve_em.o                                              \
2065 solve_nmm.o                                                     \
2066 convert_nmm.o    :
2067         $(RM) $@
2068         $(SED_FTN) $*.F > $*.b 
2069         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2070         $(RM) $*.b
2071         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2073 ###########################################################
2074 #ARCH   AIX DM-Parallel/SM-Parallel (not recommended)  (RSL, IBM-MPI, OpenMP, allows nesting)
2076 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2077 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2079 DMPARALLEL      =       1
2080 OMP             =       -qsmp=noauto:noopt
2081 OMPCPP          =       -D_OPENMP
2082 SFC             =       xlf90_r
2083 SCC             =       cc_r
2084 FC              =       mpxlf90_r
2085 LD              =       mpxlf90_r
2086 CC              =       mpcc_r
2087 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2088 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2089 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
2090                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
2091 FCOPTIM         =       -O2 -qarch=auto
2092 #FCOPTIM         =       -O3 -qhot
2093 FCDEBUG         =       # -qnoopt -qfullpath
2094 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2095 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2096 FCSUFFIX        =       -qsuffix=f=f90
2097 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2098 ESMF_LIB_FLAGS  =       -lC
2099 ESMF_IO_LIB     =       ESMFIOLIB
2100 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2101 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
2102                         -I../frame -I../share -I../phys -I../chem -I../inc
2103 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2104                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
2105                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV
2106 PERL            =       CONFIGURE_PERL_PATH
2107 REGISTRY        =       Registry
2108 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lxlsmp -lmass -lmassv \
2109                         -L../external/io_int -lwrfio_int  \
2110                         -L../external/io_grib1 -lio_grib1 \
2111                         CONFIGURE_GRIB2_LIB \
2112                         -L../external/io_grib_share -lio_grib_share \
2113                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
2114 LDFLAGS         =       $(OMP) CONFIGURE_LDFLAGS
2115 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2116 CPP             =       /lib/cpp
2117 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2118 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2119 AR              =       ar ru
2120 M4              =       m4 -B 14000
2121 RANLIB          =       ranlib
2122 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2123 CC_TOOLS        =       cc
2124 MAX_PROC        =       1024
2126 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2128 gen_comms.c : ../external/RSL/gen_comms.c
2129         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2131 module_dm.F : ../external/RSL/module_dm.F
2132         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2134 wrfio_nf : 
2135         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2137 wrfio_int : 
2138         ( cd ../external/io_int ; \
2139           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2141 wrfio_grib_share :
2142         ( cd ../external/io_grib_share ; \
2143           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2145 wrfio_grib1 :
2146         ( cd ../external/io_grib1 ; \
2147           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2149 wrfio_grib2 :
2150         ( cd ../external/io_grib2 ; \
2151           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
2153 esmf_time : 
2154         ( cd ../external/esmf_time_f90 ; \
2155           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2157 ../external/RSL/RSL/librsl.a :
2158         ( cd ../external/RSL/RSL ; make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
2160 # compile these without high optimization to speed compile
2161 wrf_bdyout.o : wrf_bdyout.F
2162 wrf_bdyin.o : wrf_bdyin.F
2163 wrf_restartout.o : wrf_restartout.F
2164 wrf_restartin.o : wrf_restartin.F
2165 wrf_inputin.o : wrf_inputin.F
2166 wrf_inputout.o : wrf_inputout.F
2167 wrf_histin.o : wrf_histin.F
2168 wrf_histout.o : wrf_histout.F
2169 module_io_mm5.o : module_io_mm5.F
2170 module_si_io.o : module_si_io.F
2171 module_io_wrf.o : module_io_wrf.F
2172 module_start.o : module_start.F
2173 module_initialize.o : module_initialize.F
2174 module_initialize_b_wave.o : module_initialize_b_wave.F
2175 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2176 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2177 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2178 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2179 module_initialize_real.o : module_initialize_real.F
2180 module_dm.o : module_dm.F
2181 start_domain.o : start_domain.F
2182 mediation_integrate.o : mediation_integrate.F
2183 mediation_interp_domain.o : mediation_interp_domain.F
2184 mediation_force_domain.o : mediation_force_domain.F
2185 mediation_feedback_domain.o : mediation_feedback_domain.F
2186 convert_nmm.o : convert_nmm.F
2187 module_configure.o : module_configure.F
2188 shift_domain_em.o : shift_domain_em.F
2189 solve_em.o : solve_em.F
2190 solve_nmm.o : solve_nmm.F
2192 wrf_bdyout.o wrf_bdyin.o \
2193 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2194 module_io_mm5.o module_si_io.o module_io_wrf.o \
2195 module_start.o module_initialize.o module_initialize_b_wave.o  \
2196 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2197 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2198 module_initialize_real.o module_dm.o start_domain.o \
2199 convert_nmm.o \
2200 module_configure.o                                             \
2201 solve_interface.o                                              \
2202 shift_domain_em.o                                              \
2203 solve_em.o                                              \
2204 solve_nmm.o                                                     \
2205 mediation_integrate.o \
2206 mediation_interp_domain.o :
2207         $(RM) $@
2208         $(SED_FTN) $*.F > $*.b 
2209         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2210         $(RM) $*.b
2211         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2213 # to prevent having to call our service representative
2214 mediation_feedback_domain.o \
2215 mediation_force_domain.o start_domain.o :
2216         $(RM) $@
2217         $(SED_FTN) $*.F > $*.b
2218         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2219         $(RM) $*.b
2220         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2222 #       Compiled WITHOUT ANY SMP, needed Mar 2005
2223 module_domain.o : module_domain.F
2224         $(RM) $@
2225         $(SED_FTN) $*.F > $*.b
2226         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2227         $(RM) $*.b
2228         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2230 ###########################################################
2231 #ARCH   AIX DM-Parallel          (RSL, IBM-MPI, MCEL)   May 2003, EXPERIMENTAL
2233 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2234 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2236 DMPARALLEL      =       1
2237 SFC             =       xlf90_r
2238 SCC             =       cc_r
2239 FC              =       mpxlf90_r
2240 LD              =       mpCC_r
2241 CC              =       mpcc_r
2242 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2243 MCELHOME        =       /home/bluesky/bettenc/disttest
2244 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2245 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
2246                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DNCARIBM_NOC99
2247 FCOPTIM         =       -O2 -qarch=auto
2248 #FCOPTIM         =       -O3 -qhot
2249 FCDEBUG         =       # -qnoopt -qfullpath
2250 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2251 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2252 FCSUFFIX        =       -qsuffix=f=f90
2253 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2254 ESMF_LIB_FLAGS  =       -lC
2255 ESMF_IO_LIB     =       ESMFIOLIB
2256 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2257 INCLUDE_MODULES =       -I../../inc -I../external/io_int  -I../external/esmf_time_f90 \
2258                         -I../frame -I../share -I../phys -I../chem -I../inc
2259 ARCHFLAGS       =       $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2260                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DMCELIO -DLIMIT_ARGS \
2261                         -DNO_NAMELIST_PRINT -DNATIVE_MASSV
2262 PERL            =       perl
2263 REGISTRY        =       Registry
2264 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
2265                         -L../external/io_grib1 -lio_grib1 \
2266                         CONFIGURE_GRIB2_LIB \
2267                         -L../external/io_grib_share -lio_grib_share \
2268                         -L../external/RSL/RSL -lrsl -lmass -lmassv -lxlsmp \
2269                         -L../external/io_mcel -lwrfio_mcel  \
2270 -L$(MCELHOME)/MCELSystem/MCEL -lMCEL  \
2271 -L$(MCELHOME)/lib -lomniORB4  \
2272 -lomnithread -lomniDynamic4  -lnetcdf_c++ -lnetcdf  -lxlf90 -lxlopt  \
2273                         -lxlf -lxlomp_ser -lm -lc -lpthread \
2274                         -L../external/io_int -lwrfio_int  \
2275                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
2276 LDFLAGS         =        CONFIGURE_LDFLAGS
2277 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2278 CPP             =       /lib/cpp
2279 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2280 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2281 MAX_PROC        =       1024
2282 AR              =       ar ru
2283 M4              =       m4 -B 14000
2284 RANLIB          =       ranlib
2285 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2286 CC_TOOLS        =       cc
2288 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int wrfio_mcel gen_comms.c module_dm.F esmf_time
2290 gen_comms.c : ../external/RSL/gen_comms.c
2291         ( cat ../tools/gen_comms_warning ../external/RSL/gen_comms.c > ../tools/gen_comms.c )
2293 module_dm.F : ../external/RSL/module_dm.F
2294         ( cat module_dm_warning ../external/RSL/module_dm.F > module_dm.F )
2296 wrfio_nf : 
2297         ( cd ../external/io_netcdf ; \
2298           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2300 wrfio_int : 
2301         ( cd ../external/io_int ; \
2302           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2304 wrfio_grib_share :
2305         ( cd ../external/io_grib_share ; \
2306           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2308 wrfio_grib1 :
2309         ( cd ../external/io_grib1 ; \
2310           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2312 wrfio_grib2 :
2313         ( cd ../external/io_grib2 ; \
2314           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
2316 esmf_time : 
2317         ( cd ../external/esmf_time_f90 ; \
2318           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2320 wrfio_mcel : 
2321         ( cd ../external/io_mcel ; \
2322           make CC="$(CC)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -I../../inc -I../io_netcdf -I../../frame -I../../share \
2323                -I$(MCELHOME)/MCELSystem/MCEL -qfree=f90" all )
2326 ../external/RSL/RSL/librsl.a :
2327         ( cd ../external/RSL/RSL ; \
2328           make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sp2 )
2330 # compile these without high optimization
2331 wrf_bdyout.o : wrf_bdyout.F
2332 wrf_bdyin.o : wrf_bdyin.F
2333 wrf_restartout.o : wrf_restartout.F
2334 wrf_restartin.o : wrf_restartin.F
2335 wrf_inputin.o : wrf_inputin.F
2336 wrf_inputout.o : wrf_inputout.F
2337 wrf_histin.o : wrf_histin.F
2338 wrf_histout.o : wrf_histout.F
2339 module_io_mm5.o : module_io_mm5.F
2340 module_si_io.o : module_si_io.F
2341 module_io_wrf.o : module_io_wrf.F
2342 module_domain.o : module_domain.F
2343 module_start.o : module_start.F
2344 module_initialize.o : module_initialize.F
2345 module_initialize_b_wave.o : module_initialize_b_wave.F
2346 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2347 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2348 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2349 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2350 module_initialize_real.o : module_initialize_real.F
2351 module_dm.o : module_dm.F
2352 start_domain.o : start_domain.F
2353 mediation_integrate.o : mediation_integrate.F
2354 mediation_interp_domain.o : mediation_interp_domain.F
2355 mediation_force_domain.o : mediation_force_domain.F
2356 mediation_feedback_domain.o : mediation_feedback_domain.F
2357 convert_nmm.o : convert_nmm.F
2358 solve_interface.o : solve_interface.F
2359 shift_domain_em.o : shift_domain_em.F
2360 solve_em.o : solve_em.F
2361 solve_nmm.o : solve_nmm.F
2363 wrf_bdyout.o wrf_bdyin.o \
2364 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2365 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2366 module_start.o module_initialize.o module_initialize_b_wave.o  \
2367 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2368 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2369 module_initialize_real.o module_dm.o start_domain.o \
2370 mediation_force_domain.o \
2371 mediation_integrate.o \
2372 mediation_interp_domain.o \
2373 mediation_feedback_domain.o \
2374 solve_interface.o                                              \
2375 shift_domain_em.o                                              \
2376 solve_em.o                                              \
2377 solve_nmm.o                                                     \
2378 convert_nmm.o :
2379         $(RM) $@
2380         $(SED_FTN) $*.F > $*.b 
2381         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2382         $(RM) $*.b
2383         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2385 ###########################################################
2386 #ARCH   AIX                      (single-threaded, nesting using RSL without MPI)
2388 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2389 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2391 DMPARALLEL      =       1
2392 SFC             =       xlf90_r
2393 SCC             =       cc_r
2394 FC              =       xlf90_r
2395 LD              =       xlf90_r
2396 CC              =       cc_r
2397 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2398 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2399 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
2400                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
2401 FCOPTIM         =       -O2 -qarch=auto
2402 #FCOPTIM         =       -O3 -qhot
2403 FCDEBUG         =       # -qnoopt -qfullpath
2404 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2405 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2406 FCSUFFIX        =       -qsuffix=f=f90
2407 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2408 ESMF_LIB_FLAGS  =       -lC
2409 ESMF_IO_LIB     =       ESMFIOLIB
2410 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2411 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
2412                         -I../frame -I../share -I../phys -I../chem -I../inc
2413 ARCHFLAGS       =       $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2414                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2415                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
2416 PERL            =       perl
2417 REGISTRY        =       Registry
2418 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
2419                         -L../external/io_int -lwrfio_int  \
2420                         -L../external/io_grib1 -lio_grib1 \
2421                         CONFIGURE_GRIB2_LIB \
2422                         -L../external/io_grib_share -lio_grib_share \
2423                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
2424 LDFLAGS         =        CONFIGURE_LDFLAGS
2425 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2426 CPP             =       /lib/cpp -C -P
2427 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2428 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2429 MAX_PROC        =       1024
2430 AR              =       ar ru
2431 M4              =       m4 -B 14000
2432 RANLIB          =       ranlib
2433 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2434 CC_TOOLS        =       cc
2436 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2438 gen_comms.c : ../external/RSL/gen_comms.c
2439         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2441 module_dm.F : ../external/RSL/module_dm.F
2442         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2444 wrfio_nf : 
2445         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2447 wrfio_int : 
2448         ( cd ../external/io_int ; \
2449           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2451 wrfio_grib_share :
2452         ( cd ../external/io_grib_share ; \
2453           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2455 wrfio_grib1 :
2456         ( cd ../external/io_grib1 ; \
2457           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2459 wrfio_grib2 :
2460         ( cd ../external/io_grib2 ; \
2461           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
2463 esmf_time : 
2464         ( cd ../external/esmf_time_f90 ; \
2465           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2467 ../external/RSL/RSL/librsl.a :
2468         ( cd ../external/RSL/RSL ;  \
2469           make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
2470                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
2472 # compile these without high optimization
2473 wrf_bdyout.o : wrf_bdyout.F
2474 wrf_bdyin.o : wrf_bdyin.F
2475 wrf_restartout.o : wrf_restartout.F
2476 wrf_restartin.o : wrf_restartin.F
2477 wrf_inputin.o : wrf_inputin.F
2478 wrf_inputout.o : wrf_inputout.F
2479 wrf_histin.o : wrf_histin.F
2480 wrf_histout.o : wrf_histout.F
2481 module_io_mm5.o : module_io_mm5.F
2482 module_si_io.o : module_si_io.F
2483 module_io_wrf.o : module_io_wrf.F
2484 module_domain.o : module_domain.F
2485 module_start.o : module_start.F
2486 module_initialize.o : module_initialize.F
2487 module_initialize_b_wave.o : module_initialize_b_wave.F
2488 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2489 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2490 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2491 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2492 module_initialize_real.o : module_initialize_real.F
2493 module_dm.o : module_dm.F
2494 start_domain.o : start_domain.F
2495 mediation_integrate.o : mediation_integrate.F
2496 mediation_interp_domain.o : mediation_interp_domain.F
2497 mediation_force_domain.o : mediation_force_domain.F
2498 mediation_feedback_domain.o : mediation_feedback_domain.F
2499 convert_nmm.o : convert_nmm.F
2500 solve_interface.o : solve_interface.F
2501 shift_domain_em.o : shift_domain_em.F
2502 solve_em.o : solve_em.F
2503 solve_nmm.o : solve_nmm.F
2504 couple_or_uncouple_em.o : couple_or_uncouple_em.F
2506 wrf_bdyout.o wrf_bdyin.o \
2507 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2508 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2509 module_start.o module_initialize.o module_initialize_b_wave.o  \
2510 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2511 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2512 module_initialize_real.o module_dm.o start_domain.o \
2513 mediation_force_domain.o \
2514 mediation_integrate.o \
2515 mediation_interp_domain.o \
2516 mediation_feedback_domain.o \
2517 solve_interface.o                                              \
2518 shift_domain_em.o                                              \
2519 couple_or_uncouple_em.o \
2520 solve_em.o                                              \
2521 solve_nmm.o                                                     \
2522 convert_nmm.o    :
2523         $(RM) $@
2524         $(SED_FTN) $*.F > $*.b 
2525         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2526         $(RM) $*.b
2527         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2529 ###########################################################
2530 #ARCH   AIX                      (OpenMP, nesting using RSL without MPI)
2532 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2533 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2535 OMP             =       -qsmp=noauto:noopt
2536 OMPCPP          =       -D_OPENMP
2537 DMPARALLEL      =       1
2538 SFC             =       xlf90_r
2539 SCC             =       cc_r
2540 FC              =       xlf90_r
2541 LD              =       xlf90_r
2542 CC              =       cc_r
2543 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2544 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2545 CFLAGS          =       -DNOUNDERSCORE -DWRF_RSL_IO  -I../external/RSL/RSL -DDM_PARALLEL  \
2546                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI -DNCARIBM_NOC99
2547 FCOPTIM         =       -O2 -qarch=auto
2548 #FCOPTIM         =       -O3 -qhot
2549 FCDEBUG         =       # -qnoopt -qfullpath
2550 FCBASEOPTS      =       -w -qspill=20000 $(FCDEBUG) -qmaxmem=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2551 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2552 FCSUFFIX        =       -qsuffix=f=f90
2553 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2554 ESMF_LIB_FLAGS  =       -lC
2555 ESMF_IO_LIB     =       ESMFIOLIB
2556 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2557 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
2558                         -I../frame -I../share -I../phys -I../chem -I../inc
2559 ARCHFLAGS       =       $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
2560                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2561                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DSTUBMPI
2562 PERL            =       perl
2563 REGISTRY        =       Registry
2564 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl -lmass -lmassv \
2565                         -L../external/io_int -lwrfio_int  \
2566                         -L../external/io_grib1 -lio_grib1 \
2567                         CONFIGURE_GRIB2_LIB \
2568                         -L../external/io_grib_share -lio_grib_share \
2569                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
2570 LDFLAGS         =       $(OMP) CONFIGURE_LDFLAGS
2571 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2572 CPP             =       /lib/cpp -C -P
2573 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2574 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2575 MAX_PROC        =       1024
2576 AR              =       ar ru
2577 M4              =       m4 -B 14000
2578 RANLIB          =       ranlib
2579 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2580 CC_TOOLS        =       cc
2582 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
2584 gen_comms.c : ../external/RSL/gen_comms.c
2585         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
2587 module_dm.F : ../external/RSL/module_dm.F
2588         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
2590 wrfio_nf : 
2591         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2593 wrfio_int : 
2594         ( cd ../external/io_int ; \
2595           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2597 wrfio_grib_share :
2598         ( cd ../external/io_grib_share ; \
2599           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2601 wrfio_grib1 :
2602         ( cd ../external/io_grib1 ; \
2603           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive )
2605 wrfio_grib2 :
2606         ( cd ../external/io_grib2 ; \
2607           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive )
2609 esmf_time : 
2610         ( cd ../external/esmf_time_f90 ; \
2611           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2613 ../external/RSL/RSL/librsl.a :
2614         ( cd ../external/RSL/RSL ;  \
2615           make CC="$(CC)" CFLAGS='-DSTUBS -O -DNOUNDERSCORE' FC="$(FC) $(PROMOTION)" FFLAGS='-O -qfixed' \
2616                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
2618 # compile these without high optimization
2619 wrf_bdyout.o : wrf_bdyout.F
2620 wrf_bdyin.o : wrf_bdyin.F
2621 wrf_restartout.o : wrf_restartout.F
2622 wrf_restartin.o : wrf_restartin.F
2623 wrf_inputin.o : wrf_inputin.F
2624 wrf_inputout.o : wrf_inputout.F
2625 wrf_histin.o : wrf_histin.F
2626 wrf_histout.o : wrf_histout.F
2627 module_io_mm5.o : module_io_mm5.F
2628 module_si_io.o : module_si_io.F
2629 module_io_wrf.o : module_io_wrf.F
2630 module_start.o : module_start.F
2631 module_initialize.o : module_initialize.F
2632 module_initialize_b_wave.o : module_initialize_b_wave.F
2633 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2634 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2635 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2636 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2637 start_domain.o : start_domain.F
2638 convert_nmm.o : convert_nmm.F
2639 solve_interface.o : solve_interface.F
2640 shift_domain_em.o : shift_domain_em.F
2641 solve_em.o : solve_em.F
2642 solve_nmm.o : solve_nmm.F
2644 wrf_bdyout.o wrf_bdyin.o \
2645 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2646 module_io_mm5.o module_si_io.o module_io_wrf.o \
2647 module_start.o module_initialize.o module_initialize_b_wave.o  \
2648 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2649 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2650 start_domain.o \
2651 solve_interface.o                                              \
2652 shift_domain_em.o                                              \
2653 solve_em.o                                              \
2654 solve_nmm.o                                                     \
2655 convert_nmm.o    :
2656         $(RM) $@
2657         $(SED_FTN) $*.F > $*.b 
2658         $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
2659         $(RM) $*.b
2660         $(FC) -c $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2662 #       Compiled WITHOUT ANY SMP, needed Mar 2005
2663 module_domain.o : module_domain.F
2664 module_dm.o : module_dm.F
2665 mediation_integrate.o : mediation_integrate.F
2666 mediation_interp_domain.o : mediation_interp_domain.F
2667 mediation_force_domain.o : mediation_force_domain.F
2668 mediation_feedback_domain.o : mediation_feedback_domain.F
2669 module_initialize_real.o : module_initialize_real.F
2671 module_domain.o \
2672 module_dm.o \
2673 mediation_integrate.o \
2674 mediation_interp_domain.o \
2675 mediation_force_domain.o \
2676 mediation_feedback_domain.o \
2677 module_initialize_real.o :
2678         $(RM) $@
2679         $(SED_FTN) $*.F > $*.b
2680         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2681         $(RM) $*.b
2682         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt $*.f90
2684 ###########################################################
2685 #ARCH       Linux ppc64 BG (Blue Gene, RSL_LITE, IBM-MPI) 
2687 # from sheeba
2688 BGL_SYS         =       /bgl/BlueLight/ppcfloor/bglsys
2689 MPI_INC         =       -I$(BGL_SYS)/include
2690 MPI_LIB         =       -L$(BGL_SYS)/lib -lmpich.rts -lmsglayer.rts -lrts.rts -ldevices.rts
2691 TRACE_LIB       =       -L/contrib/bgl/mpi_trace  -lmpitrace_c
2693 SFC              =      blrts_xlf90
2694 SCC             =       blrts_xlc
2695 DMPARALLEL      =       1
2696 FC              =       $(SFC)
2697 LD              =       $(FC)
2698 CC              =       $(SCC)
2700 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2701 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2702 CFLAGS          =       -DNOUNDERSCORE -DNCARIBM_NOC99 $(MPI_INC) -I../external/RSL_LITE -DLANDREAD_STUB
2703 FCOPTIM         =       -O2 -qarch=440
2704 FCDEBUG         =       # -qnoopt -qfullpath -qarch=440
2706 FCBASEOPTS      =       -qspill=20000 $(FCDEBUG) -qmaxmem=64000  $(MPI_INC) -w #-qflttrap=zerodivide:invalid:enable -qsigtrap
2707 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2709 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_pnetcdf -I../external/io_int  -I../external/esmf_time_f90 \
2710                         -I../frame -I../share -I../phys -I../chem -I../inc 
2712 ARCHFLAGS       =       $(COREDEFS) -DDM_PARALLEL -DRSL_LITE -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2713                         CONFIGURE_NETCDF_FLAG CONFIGURE_PNETCDF_FLAG \
2714                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DLANDREAD_STUB
2716 PERL            =       perl
2717 REGISTRY        =       Registry
2718 LIB             =       CONFIGURE_NETCDF_LIB_PATH CONFIGURE_PNETCDF_LIB_PATH \
2719                         -L../external/RSL_LITE -lrsl_lite -L/bgl/local/lib -lmass -lmassv \
2720                         -L../external/io_int -lwrfio_int \
2721                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
2722                         $(TRACE_LIB) $(MPI_LIB)
2724 LDFLAGS         =       -Wl,--allow-multiple-definition -qstatic
2725 ENVCOMPDEFS     =       
2726 WRF_CHEM        =       0 
2727 CPP             =       /opt/ibmcmp/xlf/9.1/exe/cpp
2728 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DF90_STANDALONE -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2729 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2730 AR              =       ar ru
2731 #### this is a hand installed version of m4 on frost.ucar.edu
2732 #### a copy is available at http://www.mmm.ucar.edu/wrf/WG2/BG/m4
2733 M4              =       /home/janicec/m4 -B 12000
2734 RANLIB          =       ranlib
2735 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2736 PNETCDFPATH     =       CONFIGURE_PNETCDF_PATH
2737 CC_TOOLS        =       cc
2738 WRF_CONVERT = 0
2740 externals : wrf_ioapi_includes ../external/RSL_LITE/librsl_lite.a CONFIGURE_WRFIO_NF CONFIGURE_WRFIO_PNF wrfio_int module_dm.F esmf_time gen_comms.c
2742 gen_comms.c : ../external/RSL_LITE/gen_comms.c
2743         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
2745 module_dm.F : ../external/RSL_LITE/module_dm.F
2746         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
2748 wrfio_nf : 
2749         ( cd ../external/io_netcdf ; make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2751 wrfio_pnf :
2752         ( cd ../external/io_pnetcdf ; make NETCDFPATH=CONFIGURE_PNETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(MPI_INC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2754 wrfio_int : 
2755         ( cd ../external/io_int ; \
2756           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2758 wrfio_grib1 :
2759         ( cd ../external/io_grib1 ; \
2760           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2762 esmf_time : 
2763         ( cd ../external/esmf_time_f90 ; \
2764           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2766 ../external/RSL_LITE/librsl_lite.a :
2767         ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2769 solve_interface.o : solve_interface.F
2770         $(RM) $@
2771         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
2772         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
2774 # compile these without high optimization to speed compile
2775 wrf_bdyout.o : wrf_bdyout.F
2776 wrf_bdyin.o : wrf_bdyin.F
2777 wrf_restartout.o : wrf_restartout.F
2778 wrf_restartin.o : wrf_restartin.F
2779 wrf_inputin.o : wrf_inputin.F
2780 wrf_inputout.o : wrf_inputout.F
2781 wrf_histin.o : wrf_histin.F
2782 wrf_histout.o : wrf_histout.F
2783 shift_domain_em.o : shift_domain_em.F
2784 module_io_mm5.o : module_io_mm5.F
2785 module_si_io.o : module_si_io.F
2786 module_io_wrf.o : module_io_wrf.F
2787 module_domain.o : module_domain.F
2788 module_start.o : module_start.F
2789 module_initialize.o : module_initialize.F
2790 module_initialize_b_wave.o : module_initialize_b_wave.F
2791 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2792 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2793 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2794 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2795 module_initialize_real.o : module_initialize_real.F
2796 module_dm.o : module_dm.F
2797 start_domain.o : start_domain.F
2798 mediation_integrate.o : mediation_integrate.F
2799 mediation_interp_domain.o : mediation_interp_domain.F
2800 mediation_force_domain.o : mediation_force_domain.F
2801 mediation_feedback_domain.o : mediation_feedback_domain.F
2802 convert_nmm.o : convert_nmm.F
2803 module_configure.o : module_configure.F
2804 solve_em.o : solve_em.F
2805 start_em.o : start_em.F
2807 wrf_bdyout.o wrf_bdyin.o \
2808 wrf_restartout.o wrf_restartin.o wrf_inputin.o wrf_inputout.o wrf_histin.o wrf_histout.o \
2809 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2810 module_start.o module_initialize.o module_initialize_b_wave.o  \
2811 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2812 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2813 module_initialize_real.o module_dm.o \
2814 mediation_integrate.o \
2815 mediation_interp_domain.o \
2816 module_configure.o                                             \
2817 solve_em.o                                              \
2818 start_em.o                                              \
2819 shift_domain_em.o                                              \
2820 convert_nmm.o :
2821         $(RM) $@
2822         $(SED_FTN) $*.F > $*.b 
2823         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2824         $(RM) $*.b
2825         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
2827 # to prevent having to call our service representative
2828 mediation_feedback_domain.o \
2829 mediation_force_domain.o start_domain.o :
2830         $(RM) $@
2831         $(SED_FTN) $*.F > $*.b
2832         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2833         $(RM) $*.b
2834         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -qnoopt $*.f90
2836 ###########################################################
2837 #ARCH       Compaq OSF1 alpha          (single-threaded, no nesting)
2839 OMP             =       
2840 OMPCPP          =       
2841 FC              =       f90
2842 SFC             =       $(FC)
2843 LD              =       f90
2844 CC              =       cc
2845 SCC             =       $(CC)
2846 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2847 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2848 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
2849                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2850                         -DLIMIT_ARGS -DFLOATSAFE
2851 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2852 CFLAGS          =       $(ARCHFLAGS)
2853 FCOPTIM         =       -fast -O4
2854 FCDEBUG         =       # -g
2855 FCDEBUG_ESMF    =       # -O0
2856 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2857 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2858 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2859 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
2860 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2861 ESMF_LIB_FLAGS  =       
2862 ESMF_IO_LIB     =       ESMFIOLIB
2863 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2864 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
2865                         -I../frame -I../share -I../phys -I../chem -I../inc
2866 PERL            =       CONFIGURE_PERL_PATH
2867 REGISTRY        =       Registry
2868 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
2869                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time  \
2870                         -L../external/io_grib1 -lio_grib1 \
2871                         CONFIGURE_GRIB2_LIB \
2872                         -L../external/io_grib_share -lio_grib_share
2873 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
2874 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2875 CPP             =       /usr/bin/cpp -C -P
2876 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2877 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2878 AR              =       ar ru
2879 M4              =       m4 -B 14000
2880 RANLIB          =       ranlib
2881 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2882 CC_TOOLS        =       cc
2884 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
2886 module_dm.F :
2887         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2889 wrfio_nf : 
2890         ( cd ../external/io_netcdf ; \
2891           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
2893 wrfio_int : 
2894         ( cd ../external/io_int ; \
2895           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
2897 wrfio_grib_share :
2898         ( cd ../external/io_grib_share ; \
2899           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2901 wrfio_grib1 :
2902         ( cd ../external/io_grib1 ; \
2903           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2905 wrfio_grib2 :
2906         ( cd ../external/io_grib2 ; \
2907           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
2909 esmf_time : 
2910         ( cd ../external/esmf_time_f90 ; \
2911           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
2913 nest_init_utils.o : nest_init_utils.F
2914 module_optional_si_input.o : module_optional_si_input.F
2916 nest_init_utils.o module_optional_si_input.o :
2917         $(RM) $@
2918         $(SED_FTN) $*.F > $*.b 
2919         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2920         $(RM) $*.b
2921         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
2923 # compile these without high optimization to speed compile
2924 module_io_mm5.o : module_io_mm5.F
2925 module_si_io.o : module_si_io.F
2926 module_io_wrf.o : module_io_wrf.F
2927 module_domain.o : module_domain.F
2928 module_start.o : module_start.F
2929 module_initialize.o : module_initialize.F
2930 module_initialize_b_wave.o : module_initialize_b_wave.F
2931 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2932 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2933 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2934 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2935 module_initialize_real.o : module_initialize_real.F
2936 start_domain.o : start_domain.F
2937 module_configure.o : module_configure.F
2938 mediation_interp_domain.o : mediation_interp_domain.F
2939 mediation_force_domain.o : mediation_force_domain.F
2940 mediation_feedback_domain.o : mediation_feedback_domain.F
2942 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2943 module_start.o module_initialize.o module_initialize_b_wave.o  \
2944 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2945 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2946 module_configure.o                                             \
2947 mediation_interp_domain.o  \
2948 mediation_force_domain.o  \
2949 mediation_feedback_domain.o  \
2950 module_initialize_real.o start_domain.o :
2951         $(RM) $@
2952         $(SED_FTN) $*.F > $*.b 
2953         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2954         $(RM) $*.b
2955         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
2957 mediation_integrate.o : mediation_integrate.F
2958 module_dm.o : module_dm.F
2959 mediation_wrfmain.o : mediation_wrfmain.F
2960 solve_em.o : solve_em.F
2962 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
2963         $(RM) $@
2964         $(SED_FTN) $*.F > $*.b
2965         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
2966         $(RM) $*.b
2967         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
2969 ###########################################################
2970 #ARCH       Compaq OSF1 alpha          (single-threaded, nesting using RSL without MPI )
2972 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2973 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2976 DM_PARALLEL     =       1
2977 OMP             =       
2978 OMPCPP          =       
2979 FC              =       f90
2980 SFC             =       $(FC)
2981 LD              =       f90
2982 CC              =       cc
2983 SCC             =       $(CC)
2984 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2985 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
2986 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
2987                         -DDM_PARALLEL -DRSL \
2988                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2989                         -DLIMIT_ARGS -DFLOATSAFE \
2990                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
2991 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
2992 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
2993 FCOPTIM         =       -fast -O4
2994 FCDEBUG         =       # -g
2995 FCDEBUG_ESMF    =       # -O0
2996 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
2997 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
2998 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2999 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3000 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3001 ESMF_LIB_FLAGS  =       
3002 ESMF_IO_LIB     =       ESMFIOLIB
3003 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3004 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3005                         -I../frame -I../share -I../phys -I../chem -I../inc
3006 PERL            =       CONFIGURE_PERL_PATH
3007 REGISTRY        =       Registry
3008 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3009                         -L../external/RSL/RSL -lrsl \
3010                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time  \
3011                         -L../external/io_grib1 -lio_grib1 \
3012                         CONFIGURE_GRIB2_LIB \
3013                         -L../external/io_grib_share -lio_grib_share
3014 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3015 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3016 CPP             =       /usr/bin/cpp -C -P
3017 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3018 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3019 MAX_PROC        =       1
3020 AR              =       ar ru
3021 M4              =       m4 -B 14000
3022 RANLIB          =       ranlib
3023 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3024 CC_TOOLS        =       cc
3026 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
3028 gen_comms.c : ../external/RSL/gen_comms.c
3029         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3030           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3032 module_dm.F : ../external/RSL/module_dm.F
3033         ( /bin/cp module_dm_warning module_dm.F ; \
3034           cat ../external/RSL/module_dm.F >> module_dm.F )
3036 wrfio_nf : 
3037         ( cd ../external/io_netcdf ; \
3038           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3040 wrfio_int : 
3041         ( cd ../external/io_int ; \
3042           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3044 wrfio_grib_share :
3045         ( cd ../external/io_grib_share ; \
3046           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3048 wrfio_grib1 :
3049         ( cd ../external/io_grib1 ; \
3050           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
3052 wrfio_grib2 :
3053         ( cd ../external/io_grib2 ; \
3054           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
3056 esmf_time : 
3057         ( cd ../external/esmf_time_f90 ; \
3058           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3060 ../external/RSL/RSL/librsl.a :
3061         ( cd ../external/RSL/RSL ; \
3062           make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS='-O -convert big_endian' \
3063                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
3065 nest_init_utils.o : nest_init_utils.F
3066 module_optional_si_input.o : module_optional_si_input.F
3068 nest_init_utils.o module_optional_si_input.o :
3069         $(RM) $@
3070         $(SED_FTN) $*.F > $*.b 
3071         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3072         $(RM) $*.b
3073         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3075 # compile these without high optimization to speed compile
3076 module_io_mm5.o : module_io_mm5.F
3077 module_si_io.o : module_si_io.F
3078 module_io_wrf.o : module_io_wrf.F
3079 module_domain.o : module_domain.F
3080 module_start.o : module_start.F
3081 module_initialize.o : module_initialize.F
3082 module_initialize_b_wave.o : module_initialize_b_wave.F
3083 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3084 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3085 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3086 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3087 module_initialize_real.o : module_initialize_real.F
3088 start_domain.o : start_domain.F
3089 module_configure.o : module_configure.F
3090 mediation_interp_domain.o : mediation_interp_domain.F
3091 mediation_force_domain.o : mediation_force_domain.F
3092 mediation_feedback_domain.o : mediation_feedback_domain.F
3094 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3095 module_start.o module_initialize.o module_initialize_b_wave.o  \
3096 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3097 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3098 module_configure.o                                             \
3099 mediation_interp_domain.o  \
3100 mediation_force_domain.o  \
3101 mediation_feedback_domain.o  \
3102 module_initialize_real.o start_domain.o :
3103         $(RM) $@
3104         $(SED_FTN) $*.F > $*.b 
3105         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3106         $(RM) $*.b
3107         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3109 mediation_integrate.o : mediation_integrate.F
3110 module_dm.o : module_dm.F
3111 mediation_wrfmain.o : mediation_wrfmain.F
3112 solve_em.o : solve_em.F
3114 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
3115         $(RM) $@
3116         $(SED_FTN) $*.F > $*.b
3117         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3118         $(RM) $*.b
3119         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3121 ###########################################################
3122 #ARCH       Compaq OSF1 alpha SM       (OpenMP, no nesting)
3124 OMP             =       -omp
3125 OMPCPP          =       -D_OPENMP
3126 FC              =       f90
3127 SFC             =       $(FC)
3128 LD              =       f90
3129 CC              =       cc
3130 SCC             =       $(CC)
3131 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3132 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3133 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
3134                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3135                         -DLIMIT_ARGS -DFLOATSAFE
3136 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3137 CFLAGS          =       $(ARCHFLAGS)
3138 FCOPTIM         =       -fast -O4
3139 FCDEBUG         =       # -g
3140 FCDEBUG_ESMF    =       # -O0
3141 FCREAL8OMP      =       -align records -align dcommons -granularity quadword
3142 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3143 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3144 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3145 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3146 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3147 ESMF_LIB_FLAGS  =       
3148 ESMF_IO_LIB     =       ESMFIOLIB
3149 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3150 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3151                         -I../frame -I../share -I../phys -I../chem -I../inc
3152 PERL            =       CONFIGURE_PERL_PATH
3153 REGISTRY        =       Registry
3154 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3155                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3156                         -L../external/io_grib1 -lio_grib1 \
3157                         CONFIGURE_GRIB2_LIB \
3158                         -L../external/io_grib_share -lio_grib_share
3159 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3160 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3161 CPP             =       /usr/bin/cpp -C -P
3162 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3163 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3164 AR              =       ar ru
3165 M4              =       m4 -B 14000
3166 RANLIB          =       ranlib
3167 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3168 CC_TOOLS        =       cc
3170 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
3172 module_dm.F :
3173         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3175 wrfio_nf : 
3176         ( cd ../external/io_netcdf ; \
3177           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3179 wrfio_int : 
3180         ( cd ../external/io_int ; \
3181           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3183 wrfio_grib_share :
3184         ( cd ../external/io_grib_share ; \
3185           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3187 wrfio_grib1 :
3188         ( cd ../external/io_grib1 ; \
3189           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
3191 wrfio_grib2 :
3192         ( cd ../external/io_grib2 ; \
3193           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive)
3195 esmf_time : 
3196         ( cd ../external/esmf_time_f90 ; \
3197           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3199 nest_init_utils.o : nest_init_utils.F
3200 module_optional_si_input.o : module_optional_si_input.F
3202 nest_init_utils.o module_optional_si_input.o :
3203         $(RM) $@
3204         $(SED_FTN) $*.F > $*.b 
3205         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3206         $(RM) $*.b
3207         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3209 # compile these without high optimization to speed compile
3210 module_io_mm5.o : module_io_mm5.F
3211 module_si_io.o : module_si_io.F
3212 module_io_wrf.o : module_io_wrf.F
3213 module_domain.o : module_domain.F
3214 module_start.o : module_start.F
3215 module_initialize.o : module_initialize.F
3216 module_initialize_b_wave.o : module_initialize_b_wave.F
3217 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3218 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3219 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3220 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3221 module_initialize_real.o : module_initialize_real.F
3222 start_domain.o : start_domain.F
3223 module_configure.o : module_configure.F
3224 mediation_interp_domain.o : mediation_interp_domain.F
3225 mediation_force_domain.o : mediation_force_domain.F
3226 mediation_feedback_domain.o : mediation_feedback_domain.F
3228 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3229 module_start.o module_initialize.o module_initialize_b_wave.o  \
3230 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3231 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3232 module_configure.o                                             \
3233 mediation_interp_domain.o  \
3234 mediation_force_domain.o  \
3235 mediation_feedback_domain.o  \
3236 module_initialize_real.o start_domain.o :
3237         $(RM) $@
3238         $(SED_FTN) $*.F > $*.b 
3239         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3240         $(RM) $*.b
3241         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3243 mediation_integrate.o : mediation_integrate.F
3244 module_dm.o : module_dm.F
3245 mediation_wrfmain.o : mediation_wrfmain.F
3246 solve_em.o : solve_em.F
3248 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
3249         $(RM) $@
3250         $(SED_FTN) $*.F > $*.b
3251         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3252         $(RM) $*.b
3253         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3255 ###########################################################
3256 #ARCH       Compaq OSF1 alpha SM-Parallel       (OpenMP, nesting using RSL without MPI )
3258 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3259 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3262 DM_PARALLEL     =       1
3263 OMP             =       -omp
3264 OMPCPP          =       -D_OPENMP
3265 FC              =       f90
3266 SFC             =       $(FC)
3267 LD              =       f90
3268 CC              =       cc
3269 SCC             =       $(CC)
3270 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3271 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3272 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3273                         -DDM_PARALLEL -DRSL \
3274                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3275                         -DLIMIT_ARGS -DFLOATSAFE \
3276                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
3277 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3278 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
3279 FCOPTIM         =       -fast -O4
3280 FCDEBUG         =       # -g
3281 FCDEBUG_ESMF    =       # -O0
3282 FCREAL8OMP      =       -align records -align dcommons -granularity quadword
3283 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3284 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3285 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3286 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3287 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3288 ESMF_LIB_FLAGS  =       
3289 ESMF_IO_LIB     =       ESMFIOLIB
3290 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3291 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3292                         -I../frame -I../share -I../phys -I../chem -I../inc
3293 PERL            =       CONFIGURE_PERL_PATH
3294 REGISTRY        =       Registry
3295 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3296                         -L../external/RSL/RSL -lrsl \
3297                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3298                         -L../external/io_grib1 -lio_grib1 \
3299                         CONFIGURE_GRIB2_LIB \
3300                         -L../external/io_grib_share -lio_grib_share
3301 LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3302 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3303 CPP             =       /usr/bin/cpp -C -P
3304 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3305 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3306 MAX_PROC        =       1
3307 AR              =       ar ru
3308 M4              =       m4 -B 14000
3309 RANLIB          =       ranlib
3310 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3311 CC_TOOLS        =       cc
3313 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time
3315 gen_comms.c : ../external/RSL/gen_comms.c
3316         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3317           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3319 module_dm.F : ../external/RSL/module_dm.F
3320         ( /bin/cp module_dm_warning module_dm.F ; \
3321           cat ../external/RSL/module_dm.F >> module_dm.F )
3323 wrfio_nf : 
3324         ( cd ../external/io_netcdf ; \
3325           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3327 wrfio_int : 
3328         ( cd ../external/io_int ; \
3329           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3331 wrfio_grib_share :
3332         ( cd ../external/io_grib_share ; \
3333           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3335 wrfio_grib1 :
3336         ( cd ../external/io_grib1 ; \
3337           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3339 wrfio_grib2 :
3340         ( cd ../external/io_grib2 ; \
3341           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3343 esmf_time : 
3344         ( cd ../external/esmf_time_f90 ; \
3345           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3347 ../external/RSL/RSL/librsl.a :
3348         ( cd ../external/RSL/RSL ; \
3349           make CC="$(CC)" CFLAGS='-DSTUBS -DSWAPBYTES -O' FC="$(FC) $(PROMOTION)" FFLAGS="-O -convert big_endian $(FCREAL8OMP)" \
3350                MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
3352 nest_init_utils.o : nest_init_utils.F
3353 module_optional_si_input.o : module_optional_si_input.F
3355 nest_init_utils.o module_optional_si_input.o :
3356         $(RM) $@
3357         $(SED_FTN) $*.F > $*.b 
3358         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3359         $(RM) $*.b
3360         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3362 # compile these without high optimization to speed compile
3363 module_io_mm5.o : module_io_mm5.F
3364 module_si_io.o : module_si_io.F
3365 module_io_wrf.o : module_io_wrf.F
3366 module_domain.o : module_domain.F
3367 module_start.o : module_start.F
3368 module_initialize.o : module_initialize.F
3369 module_initialize_b_wave.o : module_initialize_b_wave.F
3370 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3371 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3372 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3373 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3374 module_initialize_real.o : module_initialize_real.F
3375 start_domain.o : start_domain.F
3376 module_configure.o : module_configure.F
3377 mediation_interp_domain.o : mediation_interp_domain.F
3378 mediation_force_domain.o : mediation_force_domain.F
3379 mediation_feedback_domain.o : mediation_feedback_domain.F
3381 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3382 module_start.o module_initialize.o module_initialize_b_wave.o  \
3383 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3384 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3385 module_configure.o                                             \
3386 mediation_interp_domain.o  \
3387 mediation_force_domain.o  \
3388 mediation_feedback_domain.o  \
3389 module_initialize_real.o start_domain.o :
3390         $(RM) $@
3391         $(SED_FTN) $*.F > $*.b 
3392         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3393         $(RM) $*.b
3394         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3396 mediation_integrate.o : mediation_integrate.F
3397 module_dm.o : module_dm.F
3398 mediation_wrfmain.o : mediation_wrfmain.F
3399 solve_em.o : solve_em.F
3401 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
3402         $(RM) $@
3403         $(SED_FTN) $*.F > $*.b
3404         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3405         $(RM) $*.b
3406         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3408 ###########################################################
3409 #ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows nesting)
3411 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3412 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3414 DMPARALLEL      =       1
3415 OMP             =
3416 OMPCPP          =
3417 FC              =       mpif90
3418 SFC             =       f90
3419 LD              =       mpif90
3420 CC              =       mpicc
3421 SCC             =       cc
3422 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3423 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3424 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
3425                         -DDM_PARALLEL -DRSL_LITE \
3426                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3427                         -DLIMIT_ARGS -DFLOATSAFE \
3428                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3429 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3430 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL_LITE
3431 FCOPTIM         =       -fast -O4
3432 FCDEBUG         =       #-g
3433 FCDEBUG_ESMF    =       # -O0
3434 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
3435 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
3436 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3437 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3438 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3439 ESMF_LIB_FLAGS  =       
3440 ESMF_IO_LIB     =       ESMFIOLIB
3441 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3442 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3443                         -I../frame -I../share -I../phys -I../chem -I../inc
3444 PERL            =       CONFIGURE_PERL_PATH
3445 REGISTRY        =       Registry
3446 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3447                         -L../external/RSL_LITE -lrsl_lite  \
3448                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3449                         -L../external/io_grib1 -lio_grib1 \
3450                         CONFIGURE_GRIB2_LIB \
3451                         -L../external/io_grib_share -lio_grib_share
3452 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3453 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3454 CPP             =       /usr/bin/cpp -C -P
3455 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3456 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3457 MAX_PROC        =       1024
3458 AR              =       ar ru
3459 M4              =       m4 -B 14000
3460 RANLIB          =       ranlib
3461 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3462 CC_TOOLS        =       cc
3464 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
3466 gen_comms.c : ../external/RSL_LITE/gen_comms.c
3467         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3468           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
3470 module_dm.F : ../external/RSL_LITE/module_dm.F
3471         ( /bin/cp module_dm_warning module_dm.F ; \
3472           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
3474 wrfio_nf : 
3475         ( cd ../external/io_netcdf ; \
3476           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3478 wrfio_int : 
3479         ( cd ../external/io_int ; \
3480           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3482 wrfio_grib_share :
3483         ( cd ../external/io_grib_share ; \
3484           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3486 wrfio_grib1 :
3487         ( cd ../external/io_grib1 ; \
3488           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
3490 wrfio_grib2 :
3491         ( cd ../external/io_grib2 ; \
3492           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
3494 esmf_time : 
3495         ( cd ../external/esmf_time_f90 ; \
3496           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3498 ../external/RSL_LITE/librsl_lite.a :
3499         ( cd ../external/RSL_LITE ; \
3500           make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
3502 nest_init_utils.o : nest_init_utils.F
3503 module_optional_si_input.o : module_optional_si_input.F
3504 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
3506 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
3507         $(RM) $@
3508         $(SED_FTN) $*.F > $*.b 
3509         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3510         $(RM) $*.b
3511         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3513 # compile these without high optimization to speed compile
3514 module_io_mm5.o : module_io_mm5.F
3515 module_si_io.o : module_si_io.F
3516 module_io_wrf.o : module_io_wrf.F
3517 module_domain.o : module_domain.F
3518 module_start.o : module_start.F
3519 module_initialize.o : module_initialize.F
3520 module_initialize_b_wave.o : module_initialize_b_wave.F
3521 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3522 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3523 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3524 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3525 module_initialize_real.o : module_initialize_real.F
3526 start_domain.o : start_domain.F
3527 start_domain_nmm.o : start_domain_nmm.F
3528 module_configure.o : module_configure.F
3529 mediation_interp_domain.o : mediation_interp_domain.F
3530 mediation_force_domain.o : mediation_force_domain.F
3531 mediation_feedback_domain.o : mediation_feedback_domain.F
3533 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3534 module_start.o module_initialize.o module_initialize_b_wave.o  \
3535 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3536 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3537 module_configure.o                                             \
3538 mediation_interp_domain.o  \
3539 mediation_force_domain.o  \
3540 mediation_feedback_domain.o  \
3541 module_initialize_real.o start_domain.o start_domain_nmm.o :
3542         $(RM) $@
3543         $(SED_FTN) $*.F > $*.b 
3544         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3545         $(RM) $*.b
3546         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3548 mediation_integrate.o : mediation_integrate.F
3549 module_dm.o : module_dm.F
3550 mediation_wrfmain.o : mediation_wrfmain.F
3551 solve_em.o : solve_em.F
3553 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
3554         $(RM) $@
3555         $(SED_FTN) $*.F > $*.b
3556         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3557         $(RM) $*.b
3558         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3560 ###########################################################
3561 #ARCH       Compaq OSF1 alpha DM-Parallel       (RSL, MPICH, allows nesting)
3563 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3564 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3567 DMPARALLEL      =       1
3568 OMP             =
3569 OMPCPP          =
3570 FC              =       mpif90
3571 SFC             =       f90
3572 LD              =       mpif90
3573 CC              =       mpicc
3574 SCC             =       cc
3575 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3576 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3577 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3578                         -DDM_PARALLEL -DRSL \
3579                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3580                         -DLIMIT_ARGS -DFLOATSAFE \
3581                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3582 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3583 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
3584 FCOPTIM         =       -fast -O4
3585 FCDEBUG         =       # -g
3586 FCDEBUG_ESMF    =       # -O0
3587 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
3588 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
3589 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3590 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3591 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3592 ESMF_LIB_FLAGS  =       
3593 ESMF_IO_LIB     =       ESMFIOLIB
3594 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3595 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3596                         -I../frame -I../share -I../phys -I../chem -I../inc
3597 PERL            =       CONFIGURE_PERL_PATH
3598 REGISTRY        =       Registry
3599 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3600                         -L../external/RSL/RSL -lrsl \
3601                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time  \
3602                         -L../external/io_grib1 -lio_grib1 \
3603                         CONFIGURE_GRIB2_LIB \
3604                         -L../external/io_grib_share -lio_grib_share
3605 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3606 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3607 CPP             =       /usr/bin/cpp -C -P
3608 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3609 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3610 MAX_PROC        =       1024
3611 AR              =       ar ru
3612 M4              =       m4 -B 14000
3613 RANLIB          =       ranlib
3614 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3615 CC_TOOLS        =       cc
3617 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3619 gen_comms.c : ../external/RSL/gen_comms.c
3620         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3621           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3623 module_dm.F : ../external/RSL/module_dm.F
3624         ( /bin/cp module_dm_warning module_dm.F ; \
3625           cat ../external/RSL/module_dm.F >> module_dm.F )
3627 wrfio_nf : 
3628         ( cd ../external/io_netcdf ; \
3629           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
3631 wrfio_int : 
3632         ( cd ../external/io_int ; \
3633           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
3635 wrfio_grib_share :
3636         ( cd ../external/io_grib_share ; \
3637           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3639 wrfio_grib1 :
3640         ( cd ../external/io_grib1 ; \
3641           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3643 wrfio_grib2 :
3644         ( cd ../external/io_grib2 ; \
3645           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3647 esmf_time : 
3648         ( cd ../external/esmf_time_f90 ; \
3649           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3651 ../external/RSL/RSL/librsl.a :
3652         ( cd ../external/RSL/RSL ; \
3653           make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3655 nest_init_utils.o : nest_init_utils.F
3656 module_optional_si_input.o : module_optional_si_input.F
3658 nest_init_utils.o module_optional_si_input.o :
3659         $(RM) $@
3660         $(SED_FTN) $*.F > $*.b 
3661         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3662         $(RM) $*.b
3663         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3665 # compile these without high optimization to speed compile
3666 module_io_mm5.o : module_io_mm5.F
3667 module_si_io.o : module_si_io.F
3668 module_io_wrf.o : module_io_wrf.F
3669 module_domain.o : module_domain.F
3670 module_start.o : module_start.F
3671 module_initialize.o : module_initialize.F
3672 module_initialize_b_wave.o : module_initialize_b_wave.F
3673 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3674 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3675 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3676 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3677 module_initialize_real.o : module_initialize_real.F
3678 start_domain.o : start_domain.F
3679 module_configure.o : module_configure.F
3680 mediation_interp_domain.o : mediation_interp_domain.F
3681 mediation_force_domain.o : mediation_force_domain.F
3682 mediation_feedback_domain.o : mediation_feedback_domain.F
3684 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3685 module_start.o module_initialize.o module_initialize_b_wave.o  \
3686 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3687 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3688 module_configure.o                                             \
3689 mediation_interp_domain.o  \
3690 mediation_force_domain.o  \
3691 mediation_feedback_domain.o  \
3692 module_initialize_real.o start_domain.o :
3693         $(RM) $@
3694         $(SED_FTN) $*.F > $*.b 
3695         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3696         $(RM) $*.b
3697         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3699 mediation_integrate.o : mediation_integrate.F
3700 module_dm.o : module_dm.F
3701 mediation_wrfmain.o : mediation_wrfmain.F
3702 solve_em.o : solve_em.F
3703 start_em.o : start_em.F
3704 start_domain_nmm.o : start_domain_nmm.F
3706 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o start_em.o start_domain_nmm.o : 
3707         $(RM) $@
3708         $(SED_FTN) $*.F > $*.b
3709         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3710         $(RM) $*.b
3711         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3713 ###########################################################
3714 #ARCH       Compaq OSF1 alpha DM-Parallel/SM-Parallel    (RSL, MPICH, OpenMP, allows nesting)
3716 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3717 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3720 DMPARALLEL      =       1
3721 OMP             =       -omp
3722 OMPCPP          =       -D_OPENMP
3723 FC              =       mpif90
3724 SFC             =       f90
3725 LD              =       mpif90
3726 CC              =       mpicc
3727 SCC             =       cc
3728 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3729 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3730 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3731                         -DDM_PARALLEL -DRSL \
3732                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3733                         -DLIMIT_ARGS -DFLOATSAFE \
3734                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3735 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3736 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
3737 FCOPTIM         =       -fast -O4
3738 FCDEBUG         =       # -g
3739 FCDEBUG_ESMF    =       # -O0
3740 FCREAL8OMP      =       -align records -align dcommons -granularity quadword
3741 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3742 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3743 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3744 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3745 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3746 ESMF_LIB_FLAGS  =       
3747 ESMF_IO_LIB     =       ESMFIOLIB
3748 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3749 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3750                         -I../frame -I../share -I../phys -I../chem -I../inc
3751 PERL            =       CONFIGURE_PERL_PATH
3752 REGISTRY        =       Registry
3753 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3754                         -L../external/RSL/RSL -lrsl \
3755                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3756                         -L../external/io_grib1 -lio_grib1 \
3757                         CONFIGURE_GRIB2_LIB \
3758                         -L../external/io_grib_share -lio_grib_share
3759 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3760 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3761 CPP             =       /usr/bin/cpp -C -P
3762 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3763 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3764 MAX_PROC        =       1024
3765 AR              =       ar ru
3766 M4              =       m4 -B 14000
3767 RANLIB          =       ranlib
3768 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3769 CC_TOOLS        =       cc
3771 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3773 gen_comms.c : ../external/RSL/gen_comms.c
3774         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3775           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3777 module_dm.F : ../external/RSL/module_dm.F
3778         ( /bin/cp module_dm_warning module_dm.F ; \
3779           cat ../external/RSL/module_dm.F >> module_dm.F )
3781 wrfio_nf : 
3782         ( cd ../external/io_netcdf ; \
3783           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3785 wrfio_int : 
3786         ( cd ../external/io_int ; \
3787           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3789 wrfio_grib_share :
3790         ( cd ../external/io_grib_share ; \
3791           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3793 wrfio_grib1 :
3794         ( cd ../external/io_grib1 ; \
3795           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3797 wrfio_grib2 :
3798         ( cd ../external/io_grib2 ; \
3799           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3801 esmf_time : 
3802         ( cd ../external/esmf_time_f90 ; \
3803           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3805 ../external/RSL/RSL/librsl.a :
3806         ( cd ../external/RSL/RSL ; \
3807           make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3809 nest_init_utils.o : nest_init_utils.F
3810 module_optional_si_input.o : module_optional_si_input.F
3812 nest_init_utils.o module_optional_si_input.o :
3813         $(RM) $@
3814         $(SED_FTN) $*.F > $*.b 
3815         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3816         $(RM) $*.b
3817         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3819 # compile these without high optimization to speed compile
3820 module_io_mm5.o : module_io_mm5.F
3821 module_si_io.o : module_si_io.F
3822 module_io_wrf.o : module_io_wrf.F
3823 module_domain.o : module_domain.F
3824 module_start.o : module_start.F
3825 module_initialize.o : module_initialize.F
3826 module_initialize_b_wave.o : module_initialize_b_wave.F
3827 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3828 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3829 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3830 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3831 module_initialize_real.o : module_initialize_real.F
3832 start_domain.o : start_domain.F
3833 module_configure.o : module_configure.F
3834 mediation_interp_domain.o : mediation_interp_domain.F
3835 mediation_force_domain.o : mediation_force_domain.F
3836 mediation_feedback_domain.o : mediation_feedback_domain.F
3838 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3839 module_start.o module_initialize.o module_initialize_b_wave.o  \
3840 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3841 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3842 module_configure.o                                             \
3843 mediation_interp_domain.o  \
3844 mediation_force_domain.o  \
3845 mediation_feedback_domain.o  \
3846 module_initialize_real.o start_domain.o :
3847         $(RM) $@
3848         $(SED_FTN) $*.F > $*.b 
3849         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3850         $(RM) $*.b
3851         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
3853 mediation_integrate.o : mediation_integrate.F
3854 module_dm.o : module_dm.F
3855 mediation_wrfmain.o : mediation_wrfmain.F
3856 solve_em.o : solve_em.F
3858 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
3859         $(RM) $@
3860         $(SED_FTN) $*.F > $*.b
3861         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3862         $(RM) $*.b
3863         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
3865 ###########################################################
3866 #ARCH       Compaq OSF1 alpha DM-Parallel/SM-Parallel    (RSL, DECMPI, OpenMP, allows nesting)
3868 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3869 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3872 DMPARALLEL      =       1
3873 OMP             =       -omp
3874 OMPCPP          =       -D_OPENMP
3875 FC              =       f90
3876 SFC             =       $(FC)
3877 LD              =       f90
3878 CC              =       cc
3879 SCC             =       $(CC)
3880 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
3881 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
3882 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
3883                         -DDM_PARALLEL -DRSL \
3884                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3885                         -DLIMIT_ARGS -DFLOATSAFE \
3886                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
3887 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
3888 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
3889 FCOPTIM         =       -fast -O4
3890 FCDEBUG         =       # -g
3891 FCDEBUG_ESMF    =       # -O0
3892 FCREAL8OMP      =       -align records -align dcommons -granularity quadword
3893 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
3894 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
3895 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3896 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
3897 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3898 ESMF_LIB_FLAGS  =       
3899 ESMF_IO_LIB     =       ESMFIOLIB
3900 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3901 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
3902                         -I../frame -I../share -I../phys -I../chem -I../inc
3903 PERL            =       CONFIGURE_PERL_PATH
3904 REGISTRY        =       Registry
3905 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
3906                         -L../external/RSL/RSL -lrsl -lmpi \
3907                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
3908                         -L../external/io_grib1 -lio_grib1 \
3909                         CONFIGURE_GRIB2_LIB \
3910                         -L../external/io_grib_share -lio_grib_share
3911 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
3912 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3913 CPP             =       /usr/bin/cpp -C -P
3914 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3915 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
3916 MAX_PROC        =       1024
3917 AR              =       ar ru
3918 M4              =       m4 -B 14000
3919 RANLIB          =       ranlib
3920 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3921 CC_TOOLS        =       cc
3923 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
3925 gen_comms.c : ../external/RSL/gen_comms.c
3926         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
3927           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
3929 module_dm.F : ../external/RSL/module_dm.F
3930         ( /bin/cp module_dm_warning module_dm.F ; \
3931           cat ../external/RSL/module_dm.F >> module_dm.F )
3933 wrfio_nf : 
3934         ( cd ../external/io_netcdf ; \
3935           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
3937 wrfio_int : 
3938         ( cd ../external/io_int ; \
3939           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" all )
3941 wrfio_grib_share :
3942         ( cd ../external/io_grib_share ; \
3943           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
3945 wrfio_grib1 :
3946         ( cd ../external/io_grib1 ; \
3947           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3949 wrfio_grib2 :
3950         ( cd ../external/io_grib2 ; \
3951           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w " archive )
3953 esmf_time : 
3954         ( cd ../external/esmf_time_f90 ; \
3955           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
3957 ../external/RSL/RSL/librsl.a :
3958         ( cd ../external/RSL/RSL ; \
3959           make CC=cc FC="$(SFC) $(PROMOTION) $(FCREAL8OMP)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
3961 nest_init_utils.o : nest_init_utils.F
3962 module_optional_si_input.o : module_optional_si_input.F
3964 nest_init_utils.o module_optional_si_input.o :
3965         $(RM) $@
3966         $(SED_FTN) $*.F > $*.b 
3967         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
3968         $(RM) $*.b
3969         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
3971 # compile these without high optimization to speed compile
3972 module_io_mm5.o : module_io_mm5.F
3973 module_si_io.o : module_si_io.F
3974 module_io_wrf.o : module_io_wrf.F
3975 module_domain.o : module_domain.F
3976 module_start.o : module_start.F
3977 module_initialize.o : module_initialize.F
3978 module_initialize_b_wave.o : module_initialize_b_wave.F
3979 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3980 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3981 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3982 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3983 module_initialize_real.o : module_initialize_real.F
3984 start_domain.o : start_domain.F
3985 module_configure.o : module_configure.F
3986 mediation_interp_domain.o : mediation_interp_domain.F
3987 mediation_force_domain.o : mediation_force_domain.F
3988 mediation_feedback_domain.o : mediation_feedback_domain.F
3990 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3991 module_start.o module_initialize.o module_initialize_b_wave.o  \
3992 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3993 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3994 module_configure.o                                             \
3995 mediation_interp_domain.o  \
3996 mediation_force_domain.o  \
3997 mediation_feedback_domain.o  \
3998 module_initialize_real.o start_domain.o :
3999         $(RM) $@
4000         $(SED_FTN) $*.F > $*.b 
4001         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4002         $(RM) $*.b
4003         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4005 mediation_integrate.o : mediation_integrate.F
4006 module_dm.o : module_dm.F
4007 mediation_wrfmain.o : mediation_wrfmain.F
4008 solve_em.o : solve_em.F
4010 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
4011         $(RM) $@
4012         $(SED_FTN) $*.F > $*.b
4013         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4014         $(RM) $*.b
4015         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4017 ###########################################################
4018 #ARCH       Compaq OSF1 alpha DM-Parallel       (RSL, MPICH, MCEL EXPERIMENTAL)
4020 DMPARALLEL      =       1
4021 OMP             =
4022 OMPCPP          =
4023 FC              =       mpif90
4024 SFC             =       f90
4025 LD              =       mpif90 -f90=cxx
4026 CC              =       mpicc
4027 SCC             =       cc
4028 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4029 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4030 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
4031                         -DDM_PARALLEL -DRSL -DFLOATSAFE \
4032                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4033                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMCELIO
4034 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4035 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
4036 FCOPTIM         =       -fast -O4
4037 FCDEBUG         =       # -g
4038 FCDEBUG_ESMF    =       # -O0
4039 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4040 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4041 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4042 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4043 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4044 ESMF_LIB_FLAGS  =       
4045 ESMF_IO_LIB     =       ESMFIOLIB
4046 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4047 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4048                         -I../frame -I../share -I../phys -I../chem -I../inc
4049 PERL            =       CONFIGURE_PERL_PATH
4050 REGISTRY        =       Registry
4052 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4053                         -L../external/RSL/RSL -lrsl \
4054                         ../frame/module_internal_header_util.o ../frame/pack_utils.o \
4055                         -L../external/io_grib1 -lio_grib1 \
4056                         CONFIGURE_GRIB2_LIB \
4057                         -L../external/io_grib_share -lio_grib_share \
4058 -L../external/io_mcel -lwrfio_mcel  \
4059 -L/users/bettenc/MCELSystem/MCEL -lMCEL \
4060 -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread \
4061 -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc -L/users/michalak/mpich/lib -lfmpich -lmpichfsup \
4062 /usr/lib/cmplrs/fortrtl/libUfor.a -L../external/esmf_time_f90 -lesmf_time 
4063 LDFLAGS         =       $(FCOPTIM) -pthread -ieee -ptr /users/bettenc/ptr -L/users/bettenc/MCELSystem/MCEL -lMCEL -L/users/bettenc/lib -lOB -lJTC -lrt -lpthread -lfor -lm -lnetcdf_c++ -lnetcdf -lpthread -lc CONFIGURE_LDFLAGS
4064 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4065 CPP             =       /usr/bin/cpp -C -P
4066 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4067 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4068 MAX_PROC        =       1024
4069 AR              =       ar ru
4070 M4              =       m4 -B 14000
4071 RANLIB          =       ranlib
4072 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4073 CC_TOOLS        =       cc
4075 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a wrfio_mcel gen_comms.c module_dm.F esmf_time
4077 gen_comms.c : ../external/RSL/gen_comms.c
4078         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4079           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4081 module_dm.F : ../external/RSL/module_dm.F
4082         ( /bin/cp module_dm_warning module_dm.F ; \
4083           cat ../external/RSL/module_dm.F >> module_dm.F )
4085 wrfio_nf : 
4086         ( cd ../external/io_netcdf ; \
4087           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4089 wrfio_int : 
4090         ( cd ../external/io_int ; \
4091           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4093 wrfio_grib_share :
4094         ( cd ../external/io_grib_share ; \
4095           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
4097 wrfio_grib1 :
4098         ( cd ../external/io_grib1 ; \
4099           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4101 wrfio_grib2 :
4102         ( cd ../external/io_grib2 ; \
4103           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4105 esmf_time : 
4106         ( cd ../external/esmf_time_f90 ; \
4107           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4109 wrfio_mcel :
4110         ( cd ../external/io_mcel ; \
4111           make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -I../io_netcdf -I../../frame -I../../share \
4112           -I/users/bettenc/MCELSystem/MCEL -convert big_endian -automatic -cpp -free" all )
4114 ../external/RSL/RSL/librsl.a :
4115         ( cd ../external/RSL/RSL ; \
4116           make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
4118 nest_init_utils.o : nest_init_utils.F
4119 module_optional_si_input.o : module_optional_si_input.F
4121 nest_init_utils.o module_optional_si_input.o :
4122         $(RM) $@
4123         $(SED_FTN) $*.F > $*.b 
4124         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4125         $(RM) $*.b
4126         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
4128 # compile these without high optimization to speed compile
4129 module_io_mm5.o : module_io_mm5.F
4130 module_si_io.o : module_si_io.F
4131 module_io_wrf.o : module_io_wrf.F
4132 module_domain.o : module_domain.F
4133 module_start.o : module_start.F
4134 module_initialize.o : module_initialize.F
4135 module_initialize_b_wave.o : module_initialize_b_wave.F
4136 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4137 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4138 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4139 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4140 module_initialize_real.o : module_initialize_real.F
4141 start_domain.o : start_domain.F
4142 module_configure.o : module_configure.F
4143 mediation_interp_domain.o : mediation_interp_domain.F
4144 mediation_force_domain.o : mediation_force_domain.F
4145 mediation_feedback_domain.o : mediation_feedback_domain.F
4147 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4148 module_start.o module_initialize.o module_initialize_b_wave.o  \
4149 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4150 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4151 module_configure.o                                             \
4152 mediation_interp_domain.o  \
4153 mediation_force_domain.o  \
4154 mediation_feedback_domain.o  \
4155 module_initialize_real.o start_domain.o :
4156         $(RM) $@
4157         $(SED_FTN) $*.F > $*.b 
4158         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4159         $(RM) $*.b
4160         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4162 mediation_integrate.o : mediation_integrate.F
4163 module_dm.o : module_dm.F
4164 mediation_wrfmain.o : mediation_wrfmain.F
4165 solve_em.o : solve_em.F
4167 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
4168         $(RM) $@
4169         $(SED_FTN) $*.F > $*.b
4170         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4171         $(RM) $*.b
4172         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4174 ###########################################################
4175 #ARCH       Compaq OSF1 alpha DM/SM    (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
4177 DMPARALLEL      =       1
4178 OMP             =
4179 OMPCPP          =
4180 FC              =       echo # mpif90
4181 SFC             =       echo # mpif90
4182 LD              =       echo # mpif90
4183 CC              =       echo # mpicc
4184 SCC             =       echo # cc
4185 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4186 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4187 ARCHFLAGS       =       $(COREDEFS) -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
4188                         -DDM_PARALLEL="'<b>DM_PARALLEL</b>'" -DRSL="'<b>RSL</b>'" \
4189                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4190                         -DLIMIT_ARGS -DFLOATSAFE \
4191                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
4192 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4193 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL/RSL
4194 FCOPTIM         =       -fast -O4
4195 FCDEBUG         =       # -g
4196 FCDEBUG_ESMF    =       # -O0
4197 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4198 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4199 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4200 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4201 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4202 ESMF_LIB_FLAGS  =       
4203 ESMF_IO_LIB     =       ESMFIOLIB
4204 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4205 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4206                         -I../frame -I../share -I../phys -I../inc -I../chem
4207 PERL            =       CONFIGURE_PERL_PATH
4208 REGISTRY        =       Registry
4209 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4210                         -L../external/RSL/RSL -lrsl \
4211                         -L../external/io_grib1 -lio_grib1 \
4212                         CONFIGURE_GRIB2_LIB \
4213                         -L../external/io_grib_share -lio_grib_share \
4214                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
4215 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
4216 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4217 CPP             =       /usr/bin/cpp -C -P
4218 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4219 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4220 MAX_PROC        =       1024
4221 AR              =       ar ru
4222 M4              =       m4 -B 14000
4223 RANLIB          =       ranlib
4224 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4225 CC_TOOLS        =       cc
4227 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
4229 gen_comms.c : ../external/RSL/gen_comms.c
4230         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4231           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4233 module_dm.F : ../external/RSL/module_dm.F
4234         ( /bin/cp module_dm_warning module_dm.F ; \
4235           cat ../external/RSL/module_dm.F >> module_dm.F )
4237 wrfio_nf : 
4238         ( cd ../external/io_netcdf ; \
4239           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4241 wrfio_int : 
4242         ( cd ../external/io_int ; \
4243           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4245 wrfio_grib_share :
4246         ( cd ../external/io_grib_share ; \
4247           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
4249 wrfio_grib1 :
4250         ( cd ../external/io_grib1 ; \
4251           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4253 wrfio_grib2 :
4254         ( cd ../external/io_grib2 ; \
4255           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4257 esmf_time : 
4258         ( cd ../external/esmf_time_f90 ; \
4259           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4261 ../external/RSL/RSL/librsl.a :
4262         ( cd ../external/RSL/RSL ; \
4263           make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST alpha )
4265 # compile these without high optimization to speed compile
4266 module_io_mm5.o : module_io_mm5.F
4267 module_si_io.o : module_si_io.F
4268 module_io_wrf.o : module_io_wrf.F
4269 module_domain.o : module_domain.F
4270 module_start.o : module_start.F
4271 module_initialize.o : module_initialize.F
4272 module_initialize_b_wave.o : module_initialize_b_wave.F
4273 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4274 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4275 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4276 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4277 module_initialize_real.o : module_initialize_real.F
4278 start_domain.o : start_domain.F
4279 module_configure.o : module_configure.F
4281 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4282 module_start.o module_initialize.o module_initialize_b_wave.o  \
4283 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4284 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4285 module_configure.o                                             \
4286 module_initialize_real.o start_domain.o :
4287         $(RM) $@
4288         $(SED_FTN) $*.F > $*.b 
4289         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4290         $(RM) $*.b
4291         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4293 mediation_integrate.o : mediation_integrate.F
4294 module_dm.o : module_dm.F
4295 mediation_wrfmain.o : mediation_wrfmain.F
4296 solve_em.o : solve_em.F
4298 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
4299         $(RM) $@
4300         $(SED_FTN) $*.F > $*.b
4301         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4302         $(RM) $*.b
4303         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4305 ###########################################################
4306 #ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows nesting, UNOPT shift_domain)
4308 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4309 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4311 DMPARALLEL      =       1
4312 OMP             =
4313 OMPCPP          =
4314 FC              =       mpif90
4315 SFC             =       f90
4316 LD              =       mpif90
4317 CC              =       mpicc
4318 SCC             =       cc
4319 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4320 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
4321 ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
4322                         -DDM_PARALLEL -DRSL_LITE \
4323                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4324                         -DLIMIT_ARGS -DFLOATSAFE \
4325                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
4326 PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
4327 CFLAGS          =       $(ARCHFLAGS) -I../external/RSL_LITE
4328 FCOPTIM         =       -fast -O4
4329 FCDEBUG         =       #-g
4330 FCDEBUG_ESMF    =       # -O0
4331 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
4332 FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
4333 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4334 FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
4335 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4336 ESMF_LIB_FLAGS  =       
4337 ESMF_IO_LIB     =       ESMFIOLIB
4338 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4339 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4340                         -I../frame -I../share -I../phys -I../chem -I../inc
4341 PERL            =       CONFIGURE_PERL_PATH
4342 REGISTRY        =       Registry
4343 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4344                         -L../external/RSL_LITE -lrsl_lite  \
4345                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
4346                         -L../external/io_grib1 -lio_grib1 \
4347                         CONFIGURE_GRIB2_LIB \
4348                         -L../external/io_grib_share -lio_grib_share
4349 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
4350 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4351 CPP             =       /usr/bin/cpp -C -P
4352 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4353 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4354 MAX_PROC        =       1024
4355 AR              =       ar ru
4356 M4              =       m4 -B 14000
4357 RANLIB          =       ranlib
4358 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4359 CC_TOOLS        =       cc
4361 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time
4363 gen_comms.c : ../external/RSL_LITE/gen_comms.c
4364         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4365           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
4367 module_dm.F : ../external/RSL_LITE/module_dm.F
4368         ( /bin/cp module_dm_warning module_dm.F ; \
4369           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
4371 wrfio_nf : 
4372         ( cd ../external/io_netcdf ; \
4373           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
4375 wrfio_int : 
4376         ( cd ../external/io_int ; \
4377           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
4379 wrfio_grib_share :
4380         ( cd ../external/io_grib_share ; \
4381           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive)
4383 wrfio_grib1 :
4384         ( cd ../external/io_grib1 ; \
4385           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4387 wrfio_grib2 :
4388         ( cd ../external/io_grib2 ; \
4389           make IO_GRIB_SHARE_DIR="$(WRF_SRC_ROOT_DIR)/external/io_grib_share/" CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w " archive )
4391 esmf_time : 
4392         ( cd ../external/esmf_time_f90 ; \
4393           make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4395 ../external/RSL_LITE/librsl_lite.a :
4396         ( cd ../external/RSL_LITE ; \
4397           make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
4399 nest_init_utils.o : nest_init_utils.F
4400 module_optional_si_input.o : module_optional_si_input.F
4401 module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
4403 nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
4404         $(RM) $@
4405         $(SED_FTN) $*.F > $*.b 
4406         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4407         $(RM) $*.b
4408         $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
4410 # compile these without high optimization to speed compile
4411 module_io_mm5.o : module_io_mm5.F
4412 module_si_io.o : module_si_io.F
4413 module_io_wrf.o : module_io_wrf.F
4414 module_domain.o : module_domain.F
4415 module_start.o : module_start.F
4416 module_initialize.o : module_initialize.F
4417 module_initialize_b_wave.o : module_initialize_b_wave.F
4418 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4419 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4420 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4421 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4422 module_initialize_real.o : module_initialize_real.F
4423 start_domain.o : start_domain.F
4424 start_domain_nmm.o : start_domain_nmm.F
4425 module_configure.o : module_configure.F
4426 mediation_interp_domain.o : mediation_interp_domain.F
4427 mediation_force_domain.o : mediation_force_domain.F
4428 mediation_feedback_domain.o : mediation_feedback_domain.F
4429 shift_domain_em.o : shift_domain_em.F
4431 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4432 module_start.o module_initialize.o module_initialize_b_wave.o  \
4433 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4434 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4435 module_configure.o                                             \
4436 mediation_interp_domain.o  \
4437 mediation_force_domain.o  \
4438 mediation_feedback_domain.o  \
4439 shift_domain_em.o \
4440 module_initialize_real.o start_domain.o start_domain_nmm.o :
4441         $(RM) $@
4442         $(SED_FTN) $*.F > $*.b 
4443         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4444         $(RM) $*.b
4445         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
4447 mediation_integrate.o : mediation_integrate.F
4448 module_dm.o : module_dm.F
4449 mediation_wrfmain.o : mediation_wrfmain.F
4450 solve_em.o : solve_em.F
4452 mediation_integrate.o module_dm.o mediation_wrfmain.o solve_em.o : 
4453         $(RM) $@
4454         $(SED_FTN) $*.F > $*.b
4455         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4456         $(RM) $*.b
4457         $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
4459 ###########################################################
4460 #ARCH       Alpha Linux alpha DM  (single-threaded, no nesting)
4462 FC              =       fort
4463 SFC             =       $(FC)
4464 LD              =       fort
4465 CC              =       cc
4466 SCC             =       $(CC)
4467 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4468 PROMOTION       =       -r$(RWORDSIZE) -i4
4469 CFLAGS          =       -DF2CSTYLE 
4470 FCOPTIM         =       -fast -O4
4471 FCDEBUG         =       # -g
4472 FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4473 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
4474                         -arch host $(FCDEBUG)
4475 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4476 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4477                         CONFIGURE_NETCDF_FLAG 
4478 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4479 ESMF_LIB_FLAGS  =       
4480 ESMF_IO_LIB     =       ESMFIOLIB
4481 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4482 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4483                         -I../frame -I../share -I../phys -I../chem -I../inc
4484 PERL            =       CONFIGURE_PERL_PATH
4485 REGISTRY        =       Registry
4486 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4487                         -L../external/io_grib1 -lio_grib1 \
4488                         CONFIGURE_GRIB2_LIB \
4489                         -L../external/io_grib_share -lio_grib_share \
4490                         ../frame/module_internal_header_util.o ../frame/pack_utils.o  -L../external/esmf_time_f90 -lesmf_time 
4491 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4492 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4493 CPP             =       /lib/cpp -C -P
4494 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4495 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional  $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4496 AR              =       ar ru
4497 M4              =       m4 -B 14000
4498 RANLIB          =       ranlib
4499 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4500 CC_TOOLS        =       cc
4502 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4504 module_dm.F :
4505         ( /bin/cp module_dm_warning module_dm.F ; \
4506           cat  module_dm_stubs.F >> module_dm.F )
4508 wrfio_nf : 
4509         ( cd ../external/io_netcdf ; \
4510           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4512 wrfio_int : 
4513         ( cd ../external/io_int ; \
4514           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4515           TRADFLAG="-traditional" all )
4517 wrfio_grib_share :
4518         ( cd ../external/io_grib_share ; \
4519           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4520           TRADFLAG="-traditional" archive)
4522 wrfio_grib1 : 
4523         ( cd ../external/io_grib1 ; \
4524           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4525           TRADFLAG="-traditional" archive )
4527 wrfio_grib2 : 
4528         ( cd ../external/io_grib2 ; \
4529           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4530           TRADFLAG="-traditional" archive )
4532 esmf_time : 
4533         ( cd ../external/esmf_time_f90 ; \
4534           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4536 # compile these without high optimization to speed compile
4537 module_io_mm5.o : module_io_mm5.F
4538 module_si_io.o : module_si_io.F
4539 module_io_wrf.o : module_io_wrf.F
4540 module_domain.o : module_domain.F
4541 module_start.o : module_start.F
4542 module_initialize.o : module_initialize.F
4543 module_initialize_b_wave.o : module_initialize_b_wave.F
4544 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4545 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4546 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4547 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4548 module_initialize_real.o : module_initialize_real.F
4549 module_dm.o : module_dm.F
4550 start_domain.o : start_domain.F
4551 module_configure.o : module_configure.F
4553 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4554 module_start.o module_initialize.o module_initialize_b_wave.o  \
4555 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4556 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4557 module_configure.o                                             \
4558 module_initialize_real.o module_dm.o start_domain.o :
4559         $(RM) $@
4560         $(SED_FTN) $*.F > $*.b 
4561         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4562         $(RM) $*.b
4563         $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4565 ###########################################################
4566 #ARCH       Alpha Linux alpha SM  (DOES NOT WORK ON JET! No nesting)
4568 FC              =       fort
4569 SFC             =       $(FC)
4570 LD              =       fort
4571 CC              =       cc
4572 SCC             =       $(CC)
4573 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4574 PROMOTION       =       -r$(RWORDSIZE) -i4
4575 CFLAGS          =       -DF2CSTYLE 
4576 FCOPTIM         =       -fast -O4
4577 FCDEBUG         =       # -g
4578 FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4579 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
4580                         -arch host $(FCDEBUG)
4581 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4582 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4583                         CONFIGURE_NETCDF_FLAG 
4584 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4585 ESMF_LIB_FLAGS  =       
4586 ESMF_IO_LIB     =       ESMFIOLIB
4587 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4588 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4589                         -I../frame -I../share -I../phys -I../chem -I../inc
4590 PERL            =       CONFIGURE_PERL_PATH
4591 REGISTRY        =       Registry
4592 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
4593                         -L../external/io_grib1 -lio_grib1 \
4594                         CONFIGURE_GRIB2_LIB \
4595                         -L../external/io_grib_share -lio_grib_share \
4596                         ../frame/module_internal_header_util.o ../frame/pack_utils.o  -L../external/esmf_time_f90 -lesmf_time 
4597 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4598 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4599 CPP             =       /lib/cpp -C -P
4600 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4601 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4602 AR              =       ar ru
4603 M4              =       m4 -B 14000
4604 RANLIB          =       ranlib
4605 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4606 CC_TOOLS        =       cc
4608 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4610 module_dm.F :
4611         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4612           /bin/cp module_dm_warning module_dm.F )
4614 wrfio_nf : 
4615         ( cd ../external/io_netcdf ; \
4616           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4618 wrfio_int : 
4619         ( cd ../external/io_int ; \
4620           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4621           TRADFLAG="-traditional" all )
4623 wrfio_grib_share :
4624         ( cd ../external/io_grib_share ; \
4625           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4626           TRADFLAG="-traditional" archive)
4628 wrfio_grib1 : 
4629         ( cd ../external/io_grib1 ; \
4630           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4631           TRADFLAG="-traditional" archive )
4632 wrfio_grib2 : 
4633         ( cd ../external/io_grib2 ; \
4634           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4635           TRADFLAG="-traditional" archive )
4637 esmf_time : 
4638         ( cd ../external/esmf_time_f90 ; \
4639           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4641 # compile these without high optimization to speed compile
4642 module_io_mm5.o : module_io_mm5.F
4643 module_si_io.o : module_si_io.F
4644 module_io_wrf.o : module_io_wrf.F
4645 module_domain.o : module_domain.F
4646 module_start.o : module_start.F
4647 module_initialize.o : module_initialize.F
4648 module_initialize_b_wave.o : module_initialize_b_wave.F
4649 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4650 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4651 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4652 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4653 module_initialize_real.o : module_initialize_real.F
4654 module_dm.o : module_dm.F
4655 start_domain.o : start_domain.F
4656 module_configure.o : module_configure.F
4658 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4659 module_start.o module_initialize.o module_initialize_b_wave.o  \
4660 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4661 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4662 module_configure.o                                             \
4663 module_initialize_real.o module_dm.o start_domain.o :
4664         $(RM) $@
4665         $(SED_FTN) $*.F > $*.b 
4666         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4667         $(RM) $*.b
4668         $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4670 ###########################################################
4671 #ARCH       Alpha Linux alpha DM-Parallel  (RSL, MPICH, Allows nesting)
4673 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
4674 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
4676 DMPARALLEL      =       1
4677 MAX_PROC        =       1024
4678 FC              =       mpif90
4679 SFC             =       f90
4680 LD              =       mpif90
4681 CC              =       mpicc
4682 SCC             =       cc
4683 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4684 PROMOTION       =       -r$(RWORDSIZE) -i4
4685 CFLAGS          =       -DDM_PARALLEL -DWRF_RSL_IO -DF2CSTYLE \
4686                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
4687                         -I../external/RSL/RSL
4688 FCOPTIM         =       -fast -O4
4689 FCDEBUG         =       # -g
4690 FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
4691 FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
4692                         -arch host $(FCDEBUG)
4693 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
4694 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
4695                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4696                         CONFIGURE_NETCDF_FLAG 
4697 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4698 ESMF_LIB_FLAGS  =       
4699 ESMF_IO_LIB     =       ESMFIOLIB
4700 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4701 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
4702                         -I../frame -I../share -I../phys -I../chem -I../inc
4703 PERL            =       CONFIGURE_PERL_PATH
4704 REGISTRY        =       Registry
4705 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
4706                         -L../external/io_grib1 -lio_grib1 \
4707                         CONFIGURE_GRIB2_LIB \
4708                         -L../external/io_grib_share -lio_grib_share \
4709                         ../frame/module_internal_header_util.o ../frame/pack_utils.o \
4710                         -L../external/io_int -lwrfio_int -L../external/esmf_time_f90 -lesmf_time 
4711 LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
4712 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4713 CPP             =       /lib/cpp -C -P
4714 POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4715 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4716 AR              =       ar ru
4717 M4              =       m4 -B 14000
4718 RANLIB          =       ranlib
4719 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4720 CC_TOOLS        =       cc
4722 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
4724 gen_comms.c : ../external/RSL/gen_comms.c
4725         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
4726           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
4728 module_dm.F : ../external/RSL/module_dm.F
4729         ( /bin/cp module_dm_warning module_dm.F ;                   \
4730           cat ../external/RSL/module_dm.F >> module_dm.F )
4732 wrfio_nf : 
4733         ( cd ../external/io_netcdf ; \
4734           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
4736 wrfio_int : 
4737         ( cd ../external/io_int ; \
4738           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4739           TRADFLAG="-traditional" all )
4741 wrfio_grib_share :
4742         ( cd ../external/io_grib_share ; \
4743           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4744           TRADFLAG="-traditional" archive)
4746 wrfio_grib1 : 
4747         ( cd ../external/io_grib1 ; \
4748           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4749           TRADFLAG="-traditional" archive )
4750 wrfio_grib2 : 
4751         ( cd ../external/io_grib2 ; \
4752           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
4753           TRADFLAG="-traditional" archive )
4755 esmf_time : 
4756         ( cd ../external/esmf_time_f90 ; \
4757           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4759 ../external/RSL/RSL/librsl.a :
4760         ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" \
4761           MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
4762           UNDERSCORE=-DF2CSTYLE LEARN_BCAST=-DLEARN_BCAST alpha )
4764 # compile these without high optimization to speed compile
4765 module_io_mm5.o : module_io_mm5.F
4766 module_si_io.o : module_si_io.F
4767 module_io_wrf.o : module_io_wrf.F
4768 module_domain.o : module_domain.F
4769 module_start.o : module_start.F
4770 module_initialize.o : module_initialize.F
4771 module_initialize_b_wave.o : module_initialize_b_wave.F
4772 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4773 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4774 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4775 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4776 module_initialize_real.o : module_initialize_real.F
4777 module_dm.o : module_dm.F
4778 start_domain.o : start_domain.F
4779 module_configure.o : module_configure.F
4781 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
4782 module_start.o module_initialize.o module_initialize_b_wave.o  \
4783 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
4784 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
4785 module_configure.o                                             \
4786 module_initialize_real.o module_dm.o start_domain.o :
4787         $(RM) $@
4788         $(SED_FTN) $*.F > $*.b 
4789         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
4790         $(RM) $*.b
4791         $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
4793 ###########################################################
4794 #ARCH       VPP UNIX_System_V F300 5000
4796 FC              =       frt
4797 SFC             =       $(FC)
4798 LD              =       frt
4799 CC              =       vcc
4800 SCC             =       $(CC)
4801 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4802 PROMOTION       =       -r$(RWORDSIZE) -i4
4803 CFLAGS          =
4804 FCFLAGS         =       -Free -X9 -Am
4805 FCFLAGS         =       -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
4806 FCDEBUG         =       # -g
4807 FCBASEOPTS      =       $(FCFLAGS)
4808 ARCHFLAGS       = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4809                         -DLIMIT_ARGS
4810 PERL            =       CONFIGURE_PERL_PATH
4811 REGISTRY        =       Registry
4812 LIB             =       ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
4813                         -L../external/io_grib1 -lio_grib1 \
4814                         CONFIGURE_GRIB2_LIB \
4815                         -L../external/io_grib_share -lio_grib_share
4816 LDFLAGS         =      -Wl,-P -J CONFIGURE_LDFLAGS
4817 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4818 LDFLAGS         =      -J CONFIGURE_LDFLAGS
4819 CPP             =       /lib/cpp -C -P
4820 POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4821 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4822 AR              =       ar ru
4823 M4              =       m4 -B 14000
4824 RANLIB          =       ranlib
4825 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4826 CC_TOOLS        =       $(CC)
4828 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  module_dm.F esmf_time
4830 module_dm.F :
4831         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4833 wrfio_nf : 
4834         ( cd ../external/io_netcdf ; \
4835           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
4837 wrfio_grib_share :
4838         ( cd ../external/io_grib_share ; \
4839           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
4841 wrfio_grib1 : 
4842         ( cd ../external/io_grib1 ; \
4843           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
4845 wrfio_grib2 : 
4846         ( cd ../external/io_grib2 ; \
4847           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
4849 ###########################################################
4850 #ARCH   Cray
4852 FC              =       f90
4853 SFC             =       $(FC)
4854 CC              =       cc
4855 SCC             =       $(CC)
4856 NATIVE_RWORDSIZE =      8
4857 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4858 # does this PROMOTION flag work on Cray?  
4859 PROMOTION       =       -r$(RWORDSIZE) -i4
4860 CFLAGS          =
4861 FCFLAGS         =       -f free -N 255 -I.
4862 FCDEBUG         =       # -g
4863 FCBASEOPTS      =       $(FCFLAGS)
4864 ARCHFLAGS       =       $(COREDEFS) -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
4865                         -DLIMIT_ARGS
4866 LDFLAGS         = CONFIGURE_LDFLAGS
4867 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4868 CPP             =       /opt/ctl/bin/cpp
4869 POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4870 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
4871 PERL            =       CONFIGURE_PERL_PATH
4872 REGISTRY        =       Registry
4873 #LIB             =       CONFIGURE_NETCDF_LIB_PATH 
4874 LIB             =       ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time  \
4875                         -L../external/io_grib1 -lio_grib1 \
4876                         CONFIGURE_GRIB2_LIB \
4877                         -L../external/io_grib_share -lio_grib_share
4878 AR              =       ar ru
4879 M4              =       m4 -B 14000
4880 RANLIB          =       ranlib
4881 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4882 CC_TOOLS        =       $(CC)
4884 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  esmf_time
4885         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4887 wrfio_nf : 
4888         ( cd ../external/io_netcdf ; \
4889           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
4891 wrfio_grib_share :
4892         ( cd ../external/io_grib_share ; \
4893           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
4895 wrfio_grib1 : 
4896         ( cd ../external/io_grib1 ; \
4897           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
4899 wrfio_grib2 : 
4900         ( cd ../external/io_grib2 ; \
4901           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
4903 solve_interface.o : solve_interface.F
4904         $(RM) $@
4905         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
4906         $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
4908 ###########################################################
4909 #ARCH    PC Linux i486 i586 i686, PGI compiler  (Single-threaded, no nesting)
4911 FC              =       pgf90
4912 LD              =       pgf90
4913 CC              =       gcc
4914 SCC             =       $(CC)
4915 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
4916 SFC             =       $(FC)
4917 PROMOTION       =       -r$(RWORDSIZE) -i4
4918 CFLAGS          =
4919 FCOPTIM         =       -O2 # -fast
4920 FCDEBUG         =       #-g
4921 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
4922 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
4923 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
4924 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
4925 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
4926                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
4927                         -DLIMIT_ARGS
4928 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
4929 ESMF_LIB_FLAGS  =       
4930 ESMF_IO_LIB     =       ESMFIOLIB
4931 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
4932 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
4933                         -I../frame -I../share -I../phys -I../chem -I../inc
4934 PERL            =       perl
4935 REGISTRY        =       Registry
4936 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
4937                         -L../external/io_grib1 -lio_grib1 \
4938                         CONFIGURE_GRIB2_LIB \
4939                         -L../external/io_grib_share -lio_grib_share \
4940                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
4941 LDFLAGS         =       $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
4942 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
4943 CPP             =       /lib/cpp -C -P -traditional
4944 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
4945 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
4946 AR              =       ar ru
4947 M4              =       m4 -B 14000
4948 RANLIB          =       ranlib
4949 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
4950 CC_TOOLS        =       $(CC)
4952 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
4954 module_dm.F :
4955         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
4957 wrfio_nf : 
4958         ( cd ../external/io_netcdf ; \
4959           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
4961 wrfio_grib_share :
4962         ( cd ../external/io_grib_share ; \
4963           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
4965 wrfio_grib1 :
4966         ( cd ../external/io_grib1 ; \
4967           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
4969 wrfio_grib2 :
4970         ( cd ../external/io_grib2 ; \
4971           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
4973 wrfio_int : 
4974         ( cd ../external/io_int ; \
4975           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
4976           TRADFLAG="-traditional" all )
4978 esmf_time : 
4979         ( cd ../external/esmf_time_f90 ; \
4980           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
4982 # compile these without high optimization to speed compile
4983 solve_interface.o : solve_interface.F
4984 shift_domain_em.o : shift_domain_em.F
4985 module_io_mm5.o : module_io_mm5.F
4986 module_si_io.o : module_si_io.F
4987 module_io_wrf.o : module_io_wrf.F
4988 module_domain.o : module_domain.F
4989 module_start.o : module_start.F
4990 module_initialize.o : module_initialize.F
4991 module_initialize_b_wave.o : module_initialize_b_wave.F
4992 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
4993 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
4994 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
4995 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
4996 module_initialize_real.o : module_initialize_real.F
4997 module_dm.o : module_dm.F
4998 start_domain.o : start_domain.F
4999 mediation_integrate.o : mediation_integrate.F
5000 module_configure.o : module_configure.F
5002 solve_interface.o                                              \
5003 shift_domain_em.o                                              \
5004 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5005 module_start.o module_initialize.o module_initialize_b_wave.o  \
5006 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5007 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5008 mediation_integrate.o \
5009 module_configure.o                                             \
5010 module_initialize_real.o module_dm.o start_domain.o :
5011         $(RM) $@
5012         $(SED_FTN) $*.F > $*.b 
5013         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5014         $(RM) $*.b
5015         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5016 #PGI    if [ ! -e $@ ] ; then \
5017 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5018 #PGI    fi
5019 #PGI    if [ ! -e $@ ] ; then \
5020 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5021 #PGI    fi
5022 #PGI    if [ ! -e $@ ] ; then \
5023 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5024 #PGI    fi
5026 ###########################################################
5027 #ARCH    PC Linux i486 i586 i686, PGI compiler  (single threaded, allows nesting using RSL without MPI)
5029 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5030 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5032 DMPARALLEL      =       1
5033 MAX_PROC        =       1024
5034 FC              =       pgf90
5035 LD              =       pgf90
5036 CC              =       gcc
5037 SCC             =       $(CC)
5038 SFC             =       pgf90
5039 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5040 FCOPTIM         =       -O2 # -fast
5041 FCDEBUG         =       #-g
5042 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5043 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5044 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
5045 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5046                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5047                         -DLIMIT_ARGS -DSTUBMPI
5048 PROMOTION       =       -r$(RWORDSIZE) -i4
5049 CFLAGS          =       -DDM_PARALLEL -DWRF_RSL_IO \
5050                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
5051 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5052 ESMF_LIB_FLAGS  =       
5053 ESMF_IO_LIB     =       ESMFIOLIB
5054 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5055 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5056                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5057 PERL            =       perl
5058 REGISTRY        =       Registry
5059 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5060                         -L../external/io_grib1 -lio_grib1 \
5061                         CONFIGURE_GRIB2_LIB \
5062                         -L../external/io_grib_share -lio_grib_share \
5063                         -L../external/io_int -lwrfio_int \
5064                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5065 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5066 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5067 CPP             =       /lib/cpp -C -P -traditional
5068 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5069 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5070 AR              =       ar ru
5071 M4              =       m4 -B 14000
5072 RANLIB          =       ranlib
5073 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5074 CC_TOOLS        =       cc
5076 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5078 gen_comms.c : ../external/RSL/gen_comms.c
5079         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5080           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5082 module_dm.F : ../external/RSL/module_dm.F
5083         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5085 wrfio_nf : 
5086         ( cd ../external/io_netcdf ; \
5087           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5089 wrfio_grib_share :
5090         ( cd ../external/io_grib_share ; \
5091           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5093 wrfio_grib1 :
5094         ( cd ../external/io_grib1 ; \
5095           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5097 wrfio_grib2 :
5098         ( cd ../external/io_grib2 ; \
5099           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
5101 wrfio_int : 
5102         ( cd ../external/io_int ; \
5103           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5105 esmf_time : 
5106         ( cd ../external/esmf_time_f90 ; \
5107           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5109 ../external/RSL/RSL/librsl.a :
5110         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5112 # compile these without high optimization to speed compile
5113 solve_interface.o : solve_interface.F
5114 shift_domain_em.o : shift_domain_em.F
5115 module_io_mm5.o : module_io_mm5.F
5116 module_si_io.o : module_si_io.F
5117 module_io_wrf.o : module_io_wrf.F
5118 module_domain.o : module_domain.F
5119 module_start.o : module_start.F
5120 module_initialize.o : module_initialize.F
5121 module_initialize_b_wave.o : module_initialize_b_wave.F
5122 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5123 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5124 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5125 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5126 module_initialize_real.o : module_initialize_real.F
5127 module_dm.o : module_dm.F
5128 start_domain.o : start_domain.F
5129 mediation_integrate.o : mediation_integrate.F
5130 module_configure.o : module_configure.F
5132 solve_interface.o                                              \
5133 shift_domain_em.o                                              \
5134 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5135 module_start.o module_initialize.o module_initialize_b_wave.o  \
5136 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5137 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5138 module_configure.o                                             \
5139 mediation_integrate.o \
5140 module_initialize_real.o module_dm.o start_domain.o :
5141         $(RM) $@
5142         $(SED_FTN) $*.F > $*.b 
5143         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5144         $(RM) $*.b
5145         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5146 #PGI    if [ ! -e $@ ] ; then \
5147 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5148 #PGI    fi
5149 #PGI    if [ ! -e $@ ] ; then \
5150 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5151 #PGI    fi
5152 #PGI    if [ ! -e $@ ] ; then \
5153 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5154 #PGI    fi
5156 ###########################################################
5157 #ARCH   PC Linux i486 i586 i686, PGI compiler  SM-Parallel (OpenMP, no nesting)
5159 OMP             =       -mp
5160 OMPCPP          =       -D_OPENMP
5161 FC              =       pgf90
5162 LD              =       pgf90
5163 CC              =       gcc
5164 SCC             =       $(CC)
5165 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5166 SFC             =       $(FC)
5167 PROMOTION       =       -r$(RWORDSIZE) -i4
5168 CFLAGS          =
5169 FCOPTIM         =       -O2 # -fast
5170 FCDEBUG         =       #-g
5171 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5172 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5173 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5174 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
5175                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
5176                         -DLIMIT_ARGS
5177 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5178 ESMF_LIB_FLAGS  =       
5179 ESMF_IO_LIB     =       ESMFIOLIB
5180 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5181 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5182                         -I../frame -I../share -I../phys -I../chem -I../inc
5183 PERL            =       perl
5184 REGISTRY        =       Registry
5185 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
5186                         -L../external/io_grib1 -lio_grib1 \
5187                         CONFIGURE_GRIB2_LIB \
5188                         -L../external/io_grib_share -lio_grib_share \
5189                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5190 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
5191 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5192 CPP             =       /lib/cpp -C -P -traditional
5193 POUND_DEF       =       $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5194 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
5195 AR              =       ar ru
5196 M4              =       m4 -B 14000
5197 RANLIB          =       ranlib
5198 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5199 CC_TOOLS        =       $(CC)
5201 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
5203 module_dm.F :
5204         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
5206 wrfio_nf : 
5207         ( cd ../external/io_netcdf ; \
5208           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5210 wrfio_grib_share :
5211         ( cd ../external/io_grib_share ; \
5212           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5214 wrfio_grib1 :
5215         ( cd ../external/io_grib1 ; \
5216           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5218 wrfio_grib2 :
5219         ( cd ../external/io_grib2 ; \
5220           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
5222 wrfio_int : 
5223         ( cd ../external/io_int ; \
5224           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
5225           TRADFLAG="-traditional" all )
5227 esmf_time : 
5228         ( cd ../external/esmf_time_f90 ; \
5229           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5231 # compile these without high optimization to speed compile
5232 solve_interface.o : solve_interface.F
5233 shift_domain_em.o : shift_domain_em.F
5234 module_io_mm5.o : module_io_mm5.F
5235 module_si_io.o : module_si_io.F
5236 module_io_wrf.o : module_io_wrf.F
5237 module_domain.o : module_domain.F
5238 module_start.o : module_start.F
5239 module_initialize.o : module_initialize.F
5240 module_initialize_b_wave.o : module_initialize_b_wave.F
5241 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5242 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5243 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5244 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5245 module_initialize_real.o : module_initialize_real.F
5246 module_dm.o : module_dm.F
5247 start_domain.o : start_domain.F
5248 mediation_integrate.o : mediation_integrate.F
5249 module_configure.o : module_configure.F
5251 solve_interface.o                                              \
5252 shift_domain_em.o                                              \
5253 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5254 module_start.o module_initialize.o module_initialize_b_wave.o  \
5255 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5256 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5257 module_configure.o                                             \
5258 mediation_integrate.o \
5259 module_initialize_real.o module_dm.o start_domain.o :
5260         $(RM) $@
5261         $(SED_FTN) $*.F > $*.b 
5262         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5263         $(RM) $*.b
5264         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5265 #PGI    if [ ! -e $@ ] ; then \
5266 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5267 #PGI    fi
5268 #PGI    if [ ! -e $@ ] ; then \
5269 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5270 #PGI    fi
5271 #PGI    if [ ! -e $@ ] ; then \
5272 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5273 #PGI    fi
5275 ###########################################################
5276 #ARCH    PC Linux i486 i586 i686, PGI compiler  SM-Parallel (OpenMP, allows nesting using RSL without MPI)
5278 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5279 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5281 OMP             =       -mp
5282 OMPCPP          =       -D_OPENMP
5283 DMPARALLEL      =       1
5284 MAX_PROC        =       1024
5285 FC              =       pgf90
5286 LD              =       pgf90
5287 CC              =       gcc
5288 SCC             =       $(CC)
5289 SFC             =       pgf90
5290 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5291 FCOPTIM         =       -O2 # -fast
5292 FCDEBUG         =       #-g
5293 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5294 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5295 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
5296 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5297                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5298                         -DLIMIT_ARGS -DSTUBMPI
5299 PROMOTION       =       -r$(RWORDSIZE) -i4
5300 CFLAGS          =       -DDM_PARALLEL -DWRF_RSL_IO \
5301                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
5302 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5303 ESMF_LIB_FLAGS  =       
5304 ESMF_IO_LIB     =       ESMFIOLIB
5305 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5306 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5307                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5308 PERL            =       perl
5309 REGISTRY        =       Registry
5310 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5311                         -L../external/io_grib1 -lio_grib1 \
5312                         CONFIGURE_GRIB2_LIB \
5313                         -L../external/io_grib_share -lio_grib_share \
5314                         -L../external/io_int -lwrfio_int \
5315                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5316 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
5317 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5318 CPP             =       /lib/cpp -C -P -traditional
5319 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(OMPCPP) -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5320 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5321 AR              =       ar ru
5322 M4              =       m4 -B 14000
5323 RANLIB          =       ranlib
5324 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5325 CC_TOOLS        =       cc
5327 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5329 gen_comms.c : ../external/RSL/gen_comms.c
5330         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5331           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5333 module_dm.F : ../external/RSL/module_dm.F
5334         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5336 wrfio_nf : 
5337         ( cd ../external/io_netcdf ; \
5338           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5340 wrfio_int : 
5341         ( cd ../external/io_int ; \
5342           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5344 wrfio_grib_share :
5345         ( cd ../external/io_grib_share ; \
5346           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5348 wrfio_grib1 :
5349         ( cd ../external/io_grib1 ; \
5350           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
5352 wrfio_grib2 :
5353         ( cd ../external/io_grib2 ; \
5354           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
5356 esmf_time : 
5357         ( cd ../external/esmf_time_f90 ; \
5358           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5360 ../external/RSL/RSL/librsl.a :
5361         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5363 # compile these without high optimization to speed compile
5364 solve_interface.o : solve_interface.F
5365 shift_domain_em.o : shift_domain_em.F
5366 module_io_mm5.o : module_io_mm5.F
5367 module_si_io.o : module_si_io.F
5368 module_io_wrf.o : module_io_wrf.F
5369 module_domain.o : module_domain.F
5370 module_start.o : module_start.F
5371 module_initialize.o : module_initialize.F
5372 module_initialize_b_wave.o : module_initialize_b_wave.F
5373 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5374 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5375 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5376 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5377 module_initialize_real.o : module_initialize_real.F
5378 module_dm.o : module_dm.F
5379 start_domain.o : start_domain.F
5380 mediation_integrate.o : mediation_integrate.F
5381 module_configure.o : module_configure.F
5383 solve_interface.o                                              \
5384 shift_domain_em.o                                              \
5385 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5386 module_start.o module_initialize.o module_initialize_b_wave.o  \
5387 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5388 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5389 module_configure.o                                             \
5390 mediation_integrate.o \
5391 module_initialize_real.o module_dm.o start_domain.o :
5392         $(RM) $@
5393         $(SED_FTN) $*.F > $*.b 
5394         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5395         $(RM) $*.b
5396         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5397 #PGI    if [ ! -e $@ ] ; then \
5398 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5399 #PGI    fi
5400 #PGI    if [ ! -e $@ ] ; then \
5401 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5402 #PGI    fi
5403 #PGI    if [ ! -e $@ ] ; then \
5404 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5405 #PGI    fi
5407 ###########################################################
5408 #ARCH    PC Linux i486 i586 i686, PGI compiler  DM-Parallel (RSL, MPICH, Allows nesting)
5410 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5411 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5413 DMPARALLEL      =       1
5414 MAX_PROC        =       1024
5415 FC              =       mpif90 -f90=pgf90
5416 LD              =       mpif90 -f90=pgf90
5417 CC              =       mpicc -cc=gcc
5418 SCC             =       gcc
5419 SFC             =       pgf90
5420 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5421 PROMOTION       =       -r$(RWORDSIZE) -i4
5422 CFLAGS          =       -DDM_PARALLEL -DWRF_RSL_IO \
5423                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
5424 FCOPTIM         =       -O2 # -fast
5425 FCDEBUG         =       #-g
5426 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5427 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5428 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
5429 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5430                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5431                         -DLIMIT_ARGS
5432 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5433 ESMF_LIB_FLAGS  =       
5434 ESMF_IO_LIB     =       ESMFIOLIB
5435 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5436 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5437                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
5438 PERL            =       perl
5439 REGISTRY        =       Registry
5440 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
5441                         -L../external/io_grib1 -lio_grib1 \
5442                         CONFIGURE_GRIB2_LIB \
5443                         -L../external/io_grib_share -lio_grib_share \
5444                         -L../external/io_int -lwrfio_int \
5445                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5446 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5447 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5448 CPP             =       /lib/cpp -C -P -traditional
5449 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5450 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5451 AR              =       ar ru
5452 M4              =       m4 -B 14000
5453 RANLIB          =       ranlib
5454 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5455 CC_TOOLS        =       cc
5457 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5459 gen_comms.c : ../external/RSL/gen_comms.c
5460         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5461           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5463 module_dm.F : ../external/RSL/module_dm.F
5464         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
5466 wrfio_nf : 
5467         ( cd ../external/io_netcdf ; \
5468           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5470 wrfio_grib_share :
5471         ( cd ../external/io_grib_share ; \
5472           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5474 wrfio_grib1 :
5475         ( cd ../external/io_grib1 ; \
5476           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5478 wrfio_grib2 :
5479         ( cd ../external/io_grib2 ; \
5480           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
5482 wrfio_int : 
5483         ( cd ../external/io_int ; \
5484           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5486 esmf_time : 
5487         ( cd ../external/esmf_time_f90 ; \
5488           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5490 ../external/RSL/RSL/librsl.a :
5491         ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
5493 # compile these without high optimization to speed compile
5494 solve_interface.o : solve_interface.F
5495 shift_domain_em.o : shift_domain_em.F
5496 module_io_mm5.o : module_io_mm5.F
5497 module_si_io.o : module_si_io.F
5498 module_io_wrf.o : module_io_wrf.F
5499 module_domain.o : module_domain.F
5500 module_start.o : module_start.F
5501 module_initialize.o : module_initialize.F
5502 module_initialize_b_wave.o : module_initialize_b_wave.F
5503 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5504 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5505 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5506 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5507 module_initialize_real.o : module_initialize_real.F
5508 module_dm.o : module_dm.F
5509 start_domain.o : start_domain.F
5510 mediation_integrate.o : mediation_integrate.F
5511 module_configure.o : module_configure.F
5513 solve_interface.o                                              \
5514 shift_domain_em.o                                              \
5515 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5516 module_start.o module_initialize.o module_initialize_b_wave.o  \
5517 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5518 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5519 module_configure.o                                             \
5520 mediation_integrate.o \
5521 module_initialize_real.o module_dm.o start_domain.o :
5522         $(RM) $@
5523         $(SED_FTN) $*.F > $*.b 
5524         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5525         $(RM) $*.b
5526         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5527 #PGI    if [ ! -e $@ ] ; then \
5528 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5529 #PGI    fi
5530 #PGI    if [ ! -e $@ ] ; then \
5531 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5532 #PGI    fi
5533 #PGI    if [ ! -e $@ ] ; then \
5534 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5535 #PGI    fi
5537 ###########################################################
5538 #ARCH     PC Linux i486 i586 i686, PGI compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting)
5540 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5541 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5543 DMPARALLEL      =       1
5544 MAX_PROC        =       1024
5545 FC              =       mpif90 -f90=pgf90
5546 LD              =       mpif90 -f90=pgf90
5547 CC              =       mpicc -cc=gcc
5548 SCC             =       gcc
5549 SFC             =       pgf90
5550 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5551 PROMOTION       =       -r$(RWORDSIZE) -i4
5552 CFLAGS          =       -DDM_PARALLEL \
5553                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
5554 #FCOPTIM                =       -fastsse 
5555 FCOPTIM         =       -O2 # -fast
5556 FCDEBUG         =       #-g
5557 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5558 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
5559 #Options for Debian Sarge systems
5560 #FCBASEOPTS      =       -w -byteswapio -Mfree -Mipa=fast,inline,safe  $(FCDEBUG) # -Mlfs
5561 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
5562 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
5563                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
5564                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST)
5565 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5566 ESMF_LIB_FLAGS  =       
5567 ESMF_IO_LIB     =       ESMFIOLIB
5568 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5569 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5570                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
5571 PERL            =       perl
5572 REGISTRY        =       Registry
5573 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
5574                         -L../external/io_grib1 -lio_grib1 \
5575                         CONFIGURE_GRIB2_LIB \
5576                         -L../external/io_grib_share -lio_grib_share \
5577                         -L../external/io_int -lwrfio_int \
5578                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5579 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
5580 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5581 CPP             =       /lib/cpp -C -P -traditional
5582 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5583 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5584 AR              =       ar ru
5585 M4              =       m4 -B 14000
5586 RANLIB          =       ranlib
5587 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5588 CC_TOOLS        =       cc
5590 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
5592 gen_comms.c : ../external/RSL_LITE/gen_comms.c
5593         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5594           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
5596 module_dm.F : ../external/RSL_LITE/module_dm.F
5597         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
5599 wrfio_nf : 
5600         ( cd ../external/io_netcdf ; \
5601           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5603 wrfio_grib_share :
5604         ( cd ../external/io_grib_share ; \
5605           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5607 wrfio_grib1 :
5608         ( cd ../external/io_grib1 ; \
5609           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5611 wrfio_grib2 :
5612         ( cd ../external/io_grib2 ; \
5613           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
5615 wrfio_int : 
5616         ( cd ../external/io_int ; \
5617           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
5619 esmf_time : 
5620         ( cd ../external/esmf_time_f90 ; \
5621           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5623 ../external/RSL_LITE/librsl_lite.a :
5624         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
5626 # compile these without high optimization to speed compile
5627 solve_interface.o : solve_interface.F
5628 shift_domain_em.o : shift_domain_em.F
5629 module_io_mm5.o : module_io_mm5.F
5630 module_si_io.o : module_si_io.F
5631 module_io_wrf.o : module_io_wrf.F
5632 module_domain.o : module_domain.F
5633 module_start.o : module_start.F
5634 module_initialize.o : module_initialize.F
5635 module_initialize_b_wave.o : module_initialize_b_wave.F
5636 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5637 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5638 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5639 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5640 module_initialize_real.o : module_initialize_real.F
5641 module_dm.o : module_dm.F
5642 start_domain.o : start_domain.F
5643 mediation_integrate.o : mediation_integrate.F
5644 module_configure.o : module_configure.F
5646 solve_interface.o                                              \
5647 shift_domain_em.o                                              \
5648 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5649 module_start.o module_initialize.o module_initialize_b_wave.o  \
5650 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
5651 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
5652 module_configure.o                                             \
5653 mediation_integrate.o \
5654 module_initialize_real.o module_dm.o start_domain.o :
5655         $(RM) $@
5656         $(SED_FTN) $*.F > $*.b 
5657         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
5658         $(RM) $*.b
5659         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
5660 #PGI    if [ ! -e $@ ] ; then \
5661 #PGI    sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5662 #PGI    fi
5663 #PGI    if [ ! -e $@ ] ; then \
5664 #PGI    sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5665 #PGI    fi
5666 #PGI    if [ ! -e $@ ] ; then \
5667 #PGI    sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
5668 #PGI    fi
5670 ###########################################################
5671 #ARCH    Intel Itanium2 ia64 madison Linux DM-Parallel (e.g. mpp2 at PNNL), efc71 compiler (RSL, MPICH, nesting)
5673 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5674 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5677 DMPARALLEL = 1
5678 MAX_PROC = 2000
5679 FC = mpif90
5680 LD = mpif90
5681 CC = mpicc
5682 SCC = cc
5683 SFC = efc
5684 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5685 PROMOTION       =       -r$(RWORDSIZE) -i4
5686 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -w \
5687          -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64 \
5688          -I/usr/lib/mpi/mpi_intel/include
5689 FCOPTIM = -O2 -ftz
5690 FCDEBUG = #-g
5691 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -w -cm 
5692 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm 
5693 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 
5694 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5695             -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
5696             -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS 
5697 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5698 ESMF_LIB_FLAGS  =       
5699 ESMF_IO_LIB     =       ESMFIOLIB
5700 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5701 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
5702                   -I../external -I../frame -I../share -I../phys -I../chem -I../inc \
5703                   -I/usr/lib/mpi/mpi_intel/include
5704 PERL = perl
5705 REGISTRY = Registry
5706 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
5707                         -L../external/io_grib1 -lio_grib1 \
5708                         CONFIGURE_GRIB2_LIB \
5709                         -L../external/io_grib_share -lio_grib_share \
5710       -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
5711       -L../external/esmf_time_f90 -lesmf_time -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 \
5712       -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
5713 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
5714 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5715 CPP             =  /lib/cpp -traditional -C -P
5716 POUND_DEF       =  -DNO_RRTM_PHYSICS \
5717                    -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5718 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP)  \
5719            -I../external/RSL/RSL -C -EP `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5720 AR = ar ru
5721 M4 = m4 -B 14000
5722 RANLIB = ranlib
5723 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5724 CC_TOOLS        =       ecc
5726 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5728 gen_comms.c : ../external/RSL/gen_comms.c
5729         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5730           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5732 wrfio_nf :
5733         ( cd ../external/io_netcdf ; \
5734           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5736 module_dm.F : ../external/RSL/module_dm.F
5737         ( /bin/cp module_dm_warning module_dm.F ; \
5738           cat ../external/RSL/module_dm.F >> module_dm.F )
5740 wrfio_int : 
5741         ( cd ../external/io_int ; \
5742           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
5744 wrfio_grib_share :
5745         ( cd ../external/io_grib_share ; \
5746           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5748 wrfio_grib1 :
5749         ( cd ../external/io_grib1 ; \
5750           make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5752 wrfio_grib2 :
5753         ( cd ../external/io_grib2 ; \
5754           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5756 esmf_time : 
5757         ( cd ../external/esmf_time_f90 ; \
5758           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5760 ../external/RSL/RSL/librsl.a :
5761         ( cd ../external/RSL/RSL ; make CC='mpicc -w -I. '\
5762           FC="$(FC) $(PROMOTION) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
5764 # compile these without high optimization to speed compile
5765 solve_interface.o : solve_interface.F
5766 shift_domain_em.o : shift_domain_em.F
5767 module_io_mm5.o : module_io_mm5.F
5768 module_si_io.o : module_si_io.F
5769 module_io_wrf.o : module_io_wrf.F
5770 module_domain.o : module_domain.F
5771 module_start.o : module_start.F
5772 module_initialize.o : module_initialize.F
5773 module_initialize_b_wave.o : module_initialize_b_wave.F
5774 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5775 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5776 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5777 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5778 module_initialize_real.o : module_initialize_real.F
5779 module_dm.o : module_dm.F
5780 start_domain.o : start_domain.F
5781 module_configure.o : module_configure.F
5783 solve_interface.o \
5784 shift_domain_em.o                                              \
5785 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5786 module_start.o module_initialize.o module_initialize_b_wave.o \
5787 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5788 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5789 module_configure.o                                             \
5790 module_initialize_real.o module_dm.o start_domain.o :
5791         $(RM) $@
5792         $(SED_FTN) $*.F > $*.b 
5793         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5794         $(RM) $*.b
5795         $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
5797 ###########################################################
5798 #ARCH      Intel Itanium2 ia64 Linux (eg. Jacaranda), ifort compiler (RSL, no-MPI, allows nesting)
5800 #          On Jacaranda, setenv NETCDF /jacaranda/users/michalak/netcdf-3.5.1
5801 #          Built this netcdf by first setenv FC efc and CPPFLAGS '-DNDEBUG -DpgiFortran'
5802 #          before typing configure and make and make install   20040506. JM
5804 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
5805 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
5808 DMPARALLEL = 1
5809 MAX_PROC = 1
5810 # for multithreading, uncomment the following
5811 #OMP =    -openmp
5812 #OMPCPP = -DOPEN_MP
5813 FC = ifort
5814 LD = ifort
5815 CC = cc
5816 SCC = $(CC)
5817 SFC = ifort
5818 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5819 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
5820 PROMOTION       =       -real_size $(RSIZEBITS)
5821 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO -cm -w \
5822          -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
5823 FCOPTIM = -O2 -ftz
5824 FCDEBUG = #-g
5825 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm -convert big_endian -mp
5826 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm 
5827 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 
5828 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
5829             -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
5830             -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS -DSTUBMPI 
5831 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5832 ESMF_LIB_FLAGS  =       
5833 ESMF_IO_LIB     =       ESMFIOLIB
5834 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5835 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
5836                   -I../external -I../frame -I../share -I../phys -I../inc -I../chem
5837 PERL = perl
5838 REGISTRY = Registry
5839 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf \
5840                         -L../external/io_grib1 -lio_grib1 \
5841                         CONFIGURE_GRIB2_LIB \
5842                         -L../external/io_grib_share -lio_grib_share \
5843       -L../external/RSL/RSL -lrsl ../frame/module_internal_header_util.o ../frame/pack_utils.o \
5844       -L../external/esmf_time_f90 -lesmf_time 
5845 LDFLAGS = $(OMP) -convert big_endian CONFIGURE_LDFLAGS
5846 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5847 CPP             =  /lib/cpp -traditional -C -P
5848 POUND_DEF       =  -DNO_RRTM_PHYSICS \
5849                    -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5850 CPPFLAGS = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP)  \
5851            -I../external/RSL/RSL -C `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
5852 AR = ar ru
5853 M4 = m4 -B 14000
5854 RANLIB = ranlib
5855 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5856 CC_TOOLS        =       $(CC)
5858 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
5860 gen_comms.c : ../external/RSL/gen_comms.c
5861         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
5862           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
5864 wrfio_nf :
5865         ( cd ../external/io_netcdf ; \
5866           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5868 module_dm.F : ../external/RSL/module_dm.F
5869         ( /bin/cp module_dm_warning module_dm.F ; \
5870           cat ../external/RSL/module_dm.F >> module_dm.F )
5872 wrfio_int : 
5873         ( cd ../external/io_int ; \
5874           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
5876 wrfio_grib_share :
5877         ( cd ../external/io_grib_share ; \
5878           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5880 wrfio_grib1 :
5881         ( cd ../external/io_grib1 ; \
5882           make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
5884 wrfio_grib2 :
5885         ( cd ../external/io_grib2 ; \
5886           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
5888 esmf_time : 
5889         ( cd ../external/esmf_time_f90 ; \
5890           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
5892 ../external/RSL/RSL/librsl.a :
5893         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="-DSTUBS -O" \
5894           FC="$(FC) $(PROMOTION)" FCFLAGS="$(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
5896 # compile these without high optimization to speed compile
5897 solve_interface.o : solve_interface.F
5898 shift_domain_em.o : shift_domain_em.F
5899 module_io_mm5.o : module_io_mm5.F
5900 module_si_io.o : module_si_io.F
5901 module_io_wrf.o : module_io_wrf.F
5902 module_domain.o : module_domain.F
5903 module_start.o : module_start.F
5904 module_initialize.o : module_initialize.F
5905 module_initialize_b_wave.o : module_initialize_b_wave.F
5906 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
5907 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
5908 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
5909 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
5910 module_initialize_real.o : module_initialize_real.F
5911 mediation_interp_domain.o : mediation_interp_domain.F 
5912 mediation_force_domain.o : mediation_force_domain.F 
5913 mediation_feedback_domain.o : mediation_feedback_domain.F 
5914 mediation_integrate.o : mediation_integrate.F
5915 module_dm.o : module_dm.F
5916 start_domain.o : start_domain.F
5917 module_configure.o : module_configure.F
5919 solve_interface.o \
5920 shift_domain_em.o                                              \
5921 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
5922 module_start.o module_initialize.o module_initialize_b_wave.o \
5923 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
5924 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
5925 mediation_interp_domain.o  \
5926 mediation_force_domain.o  \
5927 mediation_feedback_domain.o  \
5928 mediation_integrate.o \
5929 module_configure.o                                             \
5930 module_initialize_real.o module_dm.o start_domain.o :
5931         $(RM) $@
5932         $(SED_FTN) $*.F > $*.b 
5933         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
5934         $(RM) $*.b
5935         $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
5937 ###########################################################
5938 #ARCH    (WALNUT) PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher  (Single-threaded, no nesting) (optimized)
5939 #        Note that for 5.1.x comment out -Mpia=fast
5941 FC              =       pgf90
5942 LD              =       pgf90
5943 CC              =       gcc
5944 SCC             =       $(CC)
5945 SFC             =       $(FC)
5946 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
5947 PROMOTION       =       -r$(RWORDSIZE) -i4
5948 CFLAGS          =       -DLANDREAD_STUB
5949 FCOPTIM         =       -O2 -fastsse #-Mipa=fast
5950 FCDEBUG         =       #-g -C 
5951 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
5952 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
5953 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
5954 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
5955                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
5956                         -DLIMIT_ARGS -DLANDREAD_STUB
5957 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
5958 ESMF_LIB_FLAGS  =       
5959 ESMF_IO_LIB     =       ESMFIOLIB
5960 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
5961 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
5962                         -I../frame -I../share -I../phys -I../inc -I../chem
5963 PERL            =       perl
5964 REGISTRY        =       Registry
5965 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
5966                         -L../external/io_grib1 -lio_grib1 \
5967                         CONFIGURE_GRIB2_LIB \
5968                         -L../external/io_grib_share -lio_grib_share \
5969                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
5970 LDFLAGS         =       CONFIGURE_LDFLAGS
5971 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
5972 CPP             =       /lib/cpp -C -P -traditional
5973 POUND_DEF       =       -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
5974 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
5975 AR              =       ar ru
5976 M4              =       m4 -B 14000
5977 RANLIB          =       ranlib
5978 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
5979 CC_TOOLS        =       $(CC)
5981 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
5983 module_dm.F :
5984         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
5986 wrfio_nf :
5987         ( cd ../external/io_netcdf ; \
5988           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
5990 wrfio_grib_share :
5991         ( cd ../external/io_grib_share ; \
5992           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5994 wrfio_grib1 :
5995         ( cd ../external/io_grib1 ; \
5996           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
5998 wrfio_grib2 :
5999         ( cd ../external/io_grib2 ; \
6000           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
6002 wrfio_int :
6003         ( cd ../external/io_int ; \
6004           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
6005           TRADFLAG="-traditional" all )
6007 esmf_time : 
6008         ( cd ../external/esmf_time_f90 ; \
6009           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6011 # compile these without high optimization to speed compile
6012 solve_interface.o : solve_interface.F
6013 shift_domain_em.o : shift_domain_em.F
6014 module_io_mm5.o : module_io_mm5.F
6015 module_si_io.o : module_si_io.F
6016 module_io_wrf.o : module_io_wrf.F
6017 module_domain.o : module_domain.F
6018 module_start.o : module_start.F
6019 module_initialize.o : module_initialize.F
6020 module_initialize_b_wave.o : module_initialize_b_wave.F
6021 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6022 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6023 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6024 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6025 module_initialize_real.o : module_initialize_real.F
6026 module_dm.o : module_dm.F
6027 start_domain.o : start_domain.F
6028 mediation_integrate.o : mediation_integrate.F
6029 module_configure.o : module_configure.F
6031 solve_interface.o                                              \
6032 shift_domain_em.o                                              \
6033 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6034 module_start.o module_initialize.o module_initialize_b_wave.o  \
6035 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6036 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6037 mediation_integrate.o \
6038 module_configure.o                                             \
6039 module_initialize_real.o module_dm.o start_domain.o :
6040         $(RM) $@
6041         $(SED_FTN) $*.F > $*.b 
6042         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
6043         $(RM) $*.b
6044         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6046 ###########################################################
6047 #ARCH    (WALNUT) PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher  (Single-threaded, no nesting) (debug)
6048 #        Note that for 5.1.x comment out -Mpia=fast
6050 FC              =       pgf90
6051 LD              =       pgf90
6052 CC              =       gcc
6053 SCC             =       $(CC)
6054 SFC             =       $(FC)
6055 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6056 PROMOTION       =       -r$(RWORDSIZE) -i4
6057 CFLAGS          =       -DLANDREAD_STUB
6058 FCOPTIM         =       #-fastsse #-Mipa=fast
6059 FCDEBUG         =       -g -C 
6060 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6061 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
6062 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
6063 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
6064                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
6065                         -DLIMIT_ARGS -DLANDREAD_STUB
6066 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6067 ESMF_LIB_FLAGS  =       
6068 ESMF_IO_LIB     =       ESMFIOLIB
6069 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6070 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6071                         -I../frame -I../share -I../phys -I../inc -I../chem
6072 PERL            =       perl
6073 REGISTRY        =       Registry
6074 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
6075                         -L../external/io_grib1 -lio_grib1 \
6076                         CONFIGURE_GRIB2_LIB \
6077                         -L../external/io_grib_share -lio_grib_share \
6078                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
6079 LDFLAGS         =       CONFIGURE_LDFLAGS
6080 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6081 CPP             =       /lib/cpp -C -P -traditional
6082 POUND_DEF       =       -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6083 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
6084 AR              =       ar ru
6085 M4              =       m4 -B 14000
6086 RANLIB          =       ranlib
6087 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6088 CC_TOOLS        =       $(CC)
6090 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
6092 module_dm.F :
6093         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6095 wrfio_nf :
6096         ( cd ../external/io_netcdf ; \
6097           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6099 wrfio_grib_share :
6100         ( cd ../external/io_grib_share ; \
6101           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6103 wrfio_grib1 :
6104         ( cd ../external/io_grib1 ; \
6105           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6107 wrfio_grib2 :
6108         ( cd ../external/io_grib2 ; \
6109           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
6111 wrfio_int :
6112         ( cd ../external/io_int ; \
6113           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
6114           TRADFLAG="-traditional" all )
6116 esmf_time : 
6117         ( cd ../external/esmf_time_f90 ; \
6118           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6120 # compile these without high optimization to speed compile
6121 solve_interface.o : solve_interface.F
6122 shift_domain_em.o : shift_domain_em.F
6123 module_io_mm5.o : module_io_mm5.F
6124 module_si_io.o : module_si_io.F
6125 module_io_wrf.o : module_io_wrf.F
6126 module_domain.o : module_domain.F
6127 module_start.o : module_start.F
6128 module_initialize.o : module_initialize.F
6129 module_initialize_b_wave.o : module_initialize_b_wave.F
6130 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6131 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6132 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6133 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6134 module_initialize_real.o : module_initialize_real.F
6135 module_dm.o : module_dm.F
6136 start_domain.o : start_domain.F
6137 mediation_integrate.o : mediation_integrate.F
6138 module_configure.o : module_configure.F
6140 solve_interface.o                                              \
6141 shift_domain_em.o                                              \
6142 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6143 module_start.o module_initialize.o module_initialize_b_wave.o  \
6144 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6145 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6146 mediation_integrate.o \
6147 module_configure.o                                             \
6148 module_initialize_real.o module_dm.o start_domain.o :
6149         $(RM) $@
6150         $(SED_FTN) $*.F > $*.b 
6151         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
6152         $(RM) $*.b
6153         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6155 ###########################################################
6156 #ARCH    PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher, DM-Parallel  (RSL, MPICH, Allows nesting)
6158 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6159 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6161 #        Note that for 5.1.x comment out -Mpia=fast
6163 DMPARALLEL      =       1
6164 MAX_PROC        =       1024
6165 FC              =       mpif90
6166 LD              =       mpif90
6167 CC              =       mpicc
6168 SCC             =       gcc
6169 SFC             =       pgf90
6170 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6171 PROMOTION       =       -r$(RWORDSIZE) -i4
6172 CFLAGS          =       -DDM_PARALLEL -DWRF_RSL_IO \
6173                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL \
6174                         -DLANDREAD_STUB
6175 FCOPTIM         =       -fastsse #-Mipa=fast
6176 FCDEBUG         =       #-g
6177 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6178 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
6179 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
6180 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6181                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6182                         -DLIMIT_ARGS -DLANDREAD_STUB
6183 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6184 ESMF_LIB_FLAGS  =       
6185 ESMF_IO_LIB     =       ESMFIOLIB
6186 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6187 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6188                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6189 PERL            =       perl
6190 REGISTRY        =       Registry
6191 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
6192                         -L../external/io_grib1 -lio_grib1 \
6193                         CONFIGURE_GRIB2_LIB \
6194                         -L../external/io_grib_share -lio_grib_share \
6195                         -L../external/io_int -lwrfio_int \
6196                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
6197 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
6198 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6199 CPP             =       /lib/cpp -C -P -traditional
6200 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6201 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6202 AR              =       ar ru
6203 M4              =       m4 -B 14000
6204 RANLIB          =       ranlib
6205 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6206 CC_TOOLS        =       cc
6208 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
6210 gen_comms.c : ../external/RSL/gen_comms.c
6211         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6212           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6214 module_dm.F : ../external/RSL/module_dm.F
6215         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
6217 wrfio_nf :
6218         ( cd ../external/io_netcdf ; \
6219           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6221 wrfio_int :
6222         ( cd ../external/io_int ; \
6223           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6225 wrfio_grib_share :
6226         ( cd ../external/io_grib_share ; \
6227           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6229 wrfio_grib1 :
6230         ( cd ../external/io_grib1 ; \
6231           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6233 wrfio_grib2 :
6234         ( cd ../external/io_grib2 ; \
6235           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
6237 esmf_time : 
6238         ( cd ../external/esmf_time_f90 ; \
6239           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6241 ../external/RSL/RSL/librsl.a :
6242         ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
6244 # compile these without high optimization to speed compile
6245 solve_interface.o : solve_interface.F
6246 shift_domain_em.o : shift_domain_em.F
6247 module_io_mm5.o : module_io_mm5.F
6248 module_si_io.o : module_si_io.F
6249 module_io_wrf.o : module_io_wrf.F
6250 module_domain.o : module_domain.F
6251 module_start.o : module_start.F
6252 module_initialize.o : module_initialize.F
6253 module_initialize_b_wave.o : module_initialize_b_wave.F
6254 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6255 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6256 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6257 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6258 module_initialize_real.o : module_initialize_real.F
6259 module_dm.o : module_dm.F
6260 start_domain.o : start_domain.F
6261 mediation_integrate.o : mediation_integrate.F
6262 module_configure.o : module_configure.F
6264 solve_interface.o                                              \
6265 shift_domain_em.o                                              \
6266 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6267 module_start.o module_initialize.o module_initialize_b_wave.o  \
6268 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6269 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6270 mediation_integrate.o \
6271 module_configure.o                                             \
6272 module_initialize_real.o module_dm.o start_domain.o :
6273         $(RM) $@
6274         $(SED_FTN) $*.F > $*.b 
6275         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
6276         $(RM) $*.b
6277         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6279 ###########################################################
6280 #ARCH    PC Linux x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel   (RSL_LITE, MPICH, Allows nesting, No periodic LBCs)
6281 #        Note that for 5.1.x comment out -Mpia=fast
6283 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6284 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6286 DMPARALLEL      =       1
6287 MAX_PROC        =       1024
6288 FC              =       mpif90
6289 LD              =       mpif90
6290 CC              =       mpicc
6291 SCC             =       gcc
6292 SFC             =       pgf90
6293 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6294 PROMOTION       =       -r$(RWORDSIZE) -i4
6295 CFLAGS          =       -DDM_PARALLEL \
6296                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
6297                         -DLANDREAD_STUB
6298 FCOPTIM         =       -fastsse #-Mipa=fast
6299 FCDEBUG         =       #-g
6300 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6301 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
6302 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
6303 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
6304                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6305                         -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST)
6306 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6307 ESMF_LIB_FLAGS  =       
6308 ESMF_IO_LIB     =       ESMFIOLIB
6309 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6310 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6311                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6312 PERL            =       perl
6313 REGISTRY        =       Registry
6314 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
6315                         -L../external/io_grib1 -lio_grib1 \
6316                         CONFIGURE_GRIB2_LIB \
6317                         -L../external/io_grib_share -lio_grib_share \
6318                         -L../external/io_int -lwrfio_int \
6319                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
6320 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
6321 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6322 CPP             =       /lib/cpp -C -P -traditional
6323 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6324 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6325 AR              =       ar ru
6326 M4              =       m4 -B 14000
6327 RANLIB          =       ranlib
6328 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6329 CC_TOOLS        =       cc
6331 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6333 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6334         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6335           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6337 module_dm.F : ../external/RSL_LITE/module_dm.F
6338         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6340 wrfio_nf :
6341         ( cd ../external/io_netcdf ; \
6342           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6344 wrfio_grib_share :
6345         ( cd ../external/io_grib_share ; \
6346           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6348 wrfio_grib1 :
6349         ( cd ../external/io_grib1 ; \
6350           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6352 wrfio_grib2 :
6353         ( cd ../external/io_grib2 ; \
6354           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
6356 wrfio_int :
6357         ( cd ../external/io_int ; \
6358           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6360 esmf_time : 
6361         ( cd ../external/esmf_time_f90 ; \
6362           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6364 ../external/RSL_LITE/librsl_lite.a :
6365         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
6367 # compile these without high optimization to speed compile
6368 solve_interface.o : solve_interface.F
6369 shift_domain_em.o : shift_domain_em.F
6370 module_io_mm5.o : module_io_mm5.F
6371 module_si_io.o : module_si_io.F
6372 module_io_wrf.o : module_io_wrf.F
6373 module_domain.o : module_domain.F
6374 module_start.o : module_start.F
6375 module_initialize.o : module_initialize.F
6376 module_initialize_b_wave.o : module_initialize_b_wave.F
6377 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6378 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6379 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6380 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6381 module_initialize_real.o : module_initialize_real.F
6382 module_dm.o : module_dm.F
6383 start_domain.o : start_domain.F
6384 mediation_integrate.o : mediation_integrate.F
6385 module_configure.o : module_configure.F
6387 solve_interface.o                                              \
6388 shift_domain_em.o                                              \
6389 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6390 module_start.o module_initialize.o module_initialize_b_wave.o  \
6391 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6392 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6393 mediation_integrate.o \
6394 module_configure.o                                             \
6395 module_initialize_real.o module_dm.o start_domain.o :
6396         $(RM) $@
6397         $(SED_FTN) $*.F > $*.b 
6398         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
6399         $(RM) $*.b
6400         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6402 ###########################################################
6404 #ARCH    PC Linux x86_64 (IA64 and Opteron), PGI compiler 5.2 or higher  (Single-threaded, RSL, Allows nesting)
6405 #        Note that for 5.1.x comment out -Mpia=fast
6407 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6408 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6410 DMPARALLEL      =       1
6411 MAX_PROC        =       1024
6412 FC              =       pgf90
6413 LD              =       pgf90
6414 CC              =       gcc
6415 SCC             =       $(CC)
6416 SFC             =       pgf90
6417 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6418 FCOPTIM         =       -fastsse # -Mipa=fast
6419 FCDEBUG         =       #-g
6420 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
6421 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG) # -Mlfs
6422 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
6423 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6424                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
6425                         -DLIMIT_ARGS -DSTUBMPI
6426 PROMOTION       =       -r$(RWORDSIZE) -i4
6427 CFLAGS          =       -DLANDREADSTUB -DDM_PARALLEL -DWRF_RSL_IO \
6428                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
6429 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6430 ESMF_LIB_FLAGS  =       
6431 ESMF_IO_LIB     =       ESMFIOLIB
6432 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6433 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6434                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
6435 PERL            =       perl
6436 REGISTRY        =       Registry
6437 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
6438                         -L../external/io_grib1 -lio_grib1 \
6439                         -L../external/io_int -lwrfio_int \
6440                         -L../external/io_grib_share -lio_grib_share \
6441                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
6442 LDFLAGS         =       -byteswapio $(FCFLAGS) CONFIGURE_LDFLAGS
6443 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6444 CPP             =       /lib/cpp -C -P -traditional
6445 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6446 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
6447 AR              =       ar ru
6448 M4              =       m4 -B 14000
6449 RANLIB          =       ranlib
6450 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6451 CC_TOOLS        =       cc
6453 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
6455 gen_comms.c : ../external/RSL/gen_comms.c
6456         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6457           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6459 module_dm.F : ../external/RSL/module_dm.F
6460         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
6462 wrfio_nf : 
6463         ( cd ../external/io_netcdf ; \
6464           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6466 wrfio_grib_share :
6467         ( cd ../external/io_grib_share ; \
6468           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6470 wrfio_grib1 :
6471         ( cd ../external/io_grib1 ; \
6472           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6474 wrfio_grib2 :
6475         ( cd ../external/io_grib2 ; \
6476           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
6478 wrfio_int : 
6479         ( cd ../external/io_int ; \
6480           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
6482 esmf_time : 
6483         ( cd ../external/esmf_time_f90 ; \
6484           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6486 ../external/RSL/RSL/librsl.a :
6487         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS='-DSTUBS' FC="$(FC) $(PROMOTION)" FFLAGS='-byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
6489 # compile these without high optimization to speed compile
6490 solve_interface.o : solve_interface.F
6491 shift_domain_em.o : shift_domain_em.F
6492 module_io_mm5.o : module_io_mm5.F
6493 module_si_io.o : module_si_io.F
6494 module_io_wrf.o : module_io_wrf.F
6495 module_domain.o : module_domain.F
6496 module_start.o : module_start.F
6497 module_initialize.o : module_initialize.F
6498 module_initialize_b_wave.o : module_initialize_b_wave.F
6499 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6500 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6501 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6502 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6503 module_initialize_real.o : module_initialize_real.F
6504 module_dm.o : module_dm.F
6505 start_domain.o : start_domain.F
6506 mediation_integrate.o : mediation_integrate.F
6507 module_configure.o : module_configure.F
6509 solve_interface.o                                              \
6510 shift_domain_em.o                                              \
6511 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6512 module_start.o module_initialize.o module_initialize_b_wave.o  \
6513 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
6514 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
6515 module_configure.o                                             \
6516 mediation_integrate.o \
6517 module_initialize_real.o module_dm.o start_domain.o :
6518         $(RM) $@
6519         $(SED_FTN) $*.F > $*.b 
6520         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
6521         $(RM) $*.b
6522         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6523 #       if [ ! -e $@ ] ; then \
6524 #       sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6525 #       fi
6526 #       if [ ! -e $@ ] ; then \
6527 #       sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6528 #       fi
6529 #       if [ ! -e $@ ] ; then \
6530 #       sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
6531 #       fi
6533 ###########################################################
6534 #ARCH    Intel Itanium2 ia64 madison Linux  (e.g. mpp2 at PNNL) , efc71 compiler DM-Parallel (RSL_LITE, MPICH, Allows nesting )
6535 # Notes for running on PNNL cluster:
6537 # 1. source /home/oehmen/.mycshrc
6538 # 2. source /home/mscf/intel7.1/compiler70/ia64/bin/efcvars.csh
6540 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6541 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6543 DMPARALLEL = 1
6544 MAX_PROC   = 2000
6545 FC         = mpif90
6546 LD         = mpif90
6547 CC         = mpicc
6548 SCC        = gcc
6549 SFC        = efc
6550 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6551 PROMOTION       =       -r$(RWORDSIZE) -i4
6552 CFLAGS     = -DDM_PARALLEL -w -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
6553              -I../external/RSL_LITE -size_lp64 -I/usr/lib/mpi/mpi_intel/include
6554 FCOPTIM = -O2 -ftz
6555 FCDEBUG = #-g
6556 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -cm 
6557 FCNOOPTS = -O0 $(FCDEBUG) -FR -I$(INCLUDE) -w -cm 
6558 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64 
6559 ARCHFLAGS = $(COREDEFS) -DDM_PARALLEL \
6560             -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6561             -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS 
6562 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6563 ESMF_LIB_FLAGS  =       
6564 ESMF_IO_LIB     =       ESMFIOLIB
6565 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6566 INCLUDE_MODULES = ../main -I../external/io_int -I../external/esmf_time_f90 \
6567                   -I../external -I../frame -I../share -I../phys -I../inc  -I../chem \
6568                   -I/usr/lib/mpi/mpi_intel/include
6569 PERL = perl
6570 REGISTRY = Registry
6571 LIB = -L../external/io_netcdf -lwrfio_nf $(OMP) -LCONFIGURE_NETCDF_PATH/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
6572                         -L../external/io_grib1 -lio_grib1 \
6573                         CONFIGURE_GRIB2_LIB \
6574                         -L../external/io_grib_share -lio_grib_share \
6575       ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time \
6576       -lmpifarg -lmpi -lelan -lintrins -lPEPCF90 -limf -lguide -lunwind -lpthread -L/opt/mlib/lib/linux -lveclib8
6577 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6578 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6579 CPP        = /lib/cpp -traditional -C -P -traditional
6580 POUND_DEF  = -DNO_RRTM_PHYSICS -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) \
6581              -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6582 CPPFLAGS   = -I$(LIBINCLUDE) $(ARCHFLAGS) $(COREDEFS) $(OMPCPP) -I$(INCLUDE) \
6583              -I../external/RSL_LITE -C -EP `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
6584 AR = ar ru
6585 M4 = m4 -B 14000
6586 RANLIB = ranlib
6587 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6588 CC_TOOLS        =       ecc
6590 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6592 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6593         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6594           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6596 wrfio_nf :
6597         ( cd ../external/io_netcdf ; \
6598           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
6600 module_dm.F : ../external/RSL_LITE/module_dm.F
6601         ( /bin/cp module_dm_warning module_dm.F ; \
6602           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6604 wrfio_grib_share :
6605         ( cd ../external/io_grib_share ; \
6606           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6608 wrfio_grib1 :
6609         ( cd ../external/io_grib1 ; \
6610           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6612 wrfio_grib2 :
6613         ( cd ../external/io_grib2 ; \
6614           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6616 wrfio_int : 
6617         ( cd ../external/io_int ; \
6618           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
6620 esmf_time : 
6621         ( cd ../external/esmf_time_f90 ; \
6622           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6624 ../external/RSL_LITE/librsl_lite.a :
6625         ( cd ../external/RSL_LITE ; make CC='mpicc -w -I.' \
6626           FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
6628 # compile these without high optimization to speed compile
6629 solve_interface.o : solve_interface.F
6630 shift_domain_em.o : shift_domain_em.F
6631 module_io_mm5.o : module_io_mm5.F
6632 module_si_io.o : module_si_io.F
6633 module_io_wrf.o : module_io_wrf.F
6634 module_domain.o : module_domain.F
6635 module_start.o : module_start.F
6636 module_initialize.o : module_initialize.F
6637 module_initialize_b_wave.o : module_initialize_b_wave.F
6638 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6639 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6640 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6641 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6642 module_initialize_real.o : module_initialize_real.F
6643 module_dm.o : module_dm.F
6644 start_domain.o : start_domain.F
6645 module_configure.o : module_configure.F
6647 solve_interface.o \
6648 shift_domain_em.o                                              \
6649 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6650 module_start.o module_initialize.o module_initialize_b_wave.o \
6651 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6652 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6653 module_configure.o                                             \
6654 module_initialize_real.o module_dm.o start_domain.o :
6655         $(RM) $@
6656         $(SED_FTN) $*.F > $*.b 
6657         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6658         $(RM) $*.b
6659         $(FC) -c $(PROMOTION) $(FCNOOPTS) $(MODULE_DIRS) $*.f90
6661 ###########################################################
6662 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL, VMI, allows nesting) 
6664 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
6665 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
6667 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6668 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6671 DMPARALLEL = 1
6672 #OMP = -openmp
6673 #OMPCPP = -D_OPENMP
6674 INCLUDE = ../external/io_netcdf/
6675 MAX_PROC = 256
6676 FC = efc -I.. -I/usr/local/vmi/mpich/include
6677 LD = efc
6678 CC = ecc -I. -I/usr/local/vmi/mpich/include
6679 SCC             =       $(CC)
6680 SFC = efc
6681 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6682 PROMOTION       =       -r$(RWORDSIZE) -i4
6683 CFLAGS = -DDM_PARALLEL -DWRF_RSL_IO \
6684 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL -size_lp64
6685 FCOPTIM = -O3 -ftz
6686 FCDEBUG = #-g
6687 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
6688 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
6689 ARCHFLAGS = $(COREDEFS) -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
6690 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6691 -DGRIB1 CONFIGURE_GRIB2_FLAG 
6692 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6693 ESMF_LIB_FLAGS  =       
6694 ESMF_IO_LIB     =       ESMFIOLIB
6695 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6696 INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6697 -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6698 PERL = perl
6699 REGISTRY = Registry
6700 LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL/RSL -lrsl \
6701                         -L../external/io_grib1 -lio_grib1 \
6702                         CONFIGURE_GRIB2_LIB \
6703                         -L../external/io_grib_share -lio_grib_share \
6704 -L../external/io_int -lwrfio_int \
6705 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time 
6706 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6707 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6708 CPP = /lib/cpp -C -P -traditional
6709 POUND_DEF = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6710 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
6711 AR = ar ru
6712 M4 = m4 -B 14000
6713 RANLIB = ranlib
6714 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6715 CC_TOOLS        =       ecc
6717 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time io_grib1
6719 gen_comms.c : ../external/RSL/gen_comms.c
6720         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6721           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
6723 module_dm.F : ../external/RSL/module_dm.F
6724         ( /bin/cp module_dm_warning module_dm.F ; \
6725           cat ../external/RSL/module_dm.F >> module_dm.F )
6727 wrfio_nf : 
6728         ( cd ../external/io_netcdf ; \
6729           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
6731 wrfio_grib_share :
6732         ( cd ../external/io_grib_share ; \
6733           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6735 wrfio_grib1 :
6736         ( cd ../external/io_grib1 ; \
6737           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6739 wrfio_grib2 :
6740         ( cd ../external/io_grib2 ; \
6741           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
6743 wrfio_int : 
6744         ( cd ../external/io_int ; \
6745           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="efc -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
6747 esmf_time : 
6748         ( cd ../external/esmf_time_f90 ; \
6749           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6751 #../external/RSL/RSL/librsl.a :
6752 #       ( cd ../external/RSL/RSL ; \
6753 #          make MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
6754 #               LEARN_BCAST=-DLEARN_BCAST o2k )
6756 ../external/RSL/RSL/librsl.a :
6757         ( cd ../external/RSL/RSL ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include '\
6758           FC="$(SFC) $(PROMOTION) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
6760 # compile these without high optimization to speed compile
6761 solve_interface.o : solve_interface.F
6762 shift_domain_em.o : shift_domain_em.F
6763 module_io_mm5.o : module_io_mm5.F
6764 module_si_io.o : module_si_io.F
6765 module_io_wrf.o : module_io_wrf.F
6766 module_domain.o : module_domain.F
6767 module_start.o : module_start.F
6768 module_initialize.o : module_initialize.F
6769 module_initialize_b_wave.o : module_initialize_b_wave.F
6770 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6771 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6772 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6773 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6774 module_initialize_real.o : module_initialize_real.F
6775 module_dm.o : module_dm.F
6776 start_domain.o : start_domain.F
6777 module_configure.o : module_configure.F
6779 solve_interface.o \
6780 shift_domain_em.o                                              \
6781 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6782 module_start.o module_initialize.o module_initialize_b_wave.o \
6783 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6784 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6785 module_configure.o                                             \
6786 module_initialize_real.o module_dm.o start_domain.o :
6787         $(RM) $@
6788         $(SED_FTN) $*.F > $*.b 
6789         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6790         $(RM) $*.b
6791         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6793 ###########################################################
6794 #ARCH titan.ncsa.uiuc.edu specific Intel Itanium2 ia64 mckinley Linux, efc compiler DM-Parallel (RSL_LITE, VMI, allows nesting)
6796 # Consider 'setenv F_UFMTENDIAN big' in your run scripts for big-endian output
6797 # Note hard-coded paths to Mark Straka's accounts and ecc6 libs
6799 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
6800 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
6802 DMPARALLEL = 1
6803 INCLUDE = ../external/io_netcdf/
6804 MAX_PROC = 256
6805 FC = efc -I.. -I/usr/local/vmi/mpich/include
6806 LD = efc
6807 CC = ecc -I. -I/usr/local/vmi/mpich/include
6808 SCC             =       $(CC)
6809 SFC = efc
6810 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6811 PROMOTION       =       -r$(RWORDSIZE) -i4
6812 CFLAGS = -DDM_PARALLEL -I../external/RSL_LITE \
6813 -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -size_lp64
6814 FCOPTIM = -O3 -ftz
6815 FCDEBUG = #-g
6816 FCBASEOPTS = $(FCDEBUG) -w -FR -I$(INCLUDE) -I. -cm
6817 FCFLAGS = $(FCOPTIM) $(FCBASEOPTS) $(OMP) -size_lp64
6818 ARCHFLAGS = $(COREDEFS) -DRSL_LITE -DDM_PARALLEL \
6819 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
6820 -DGRIB1 CONFIGURE_GRIB2_FLAG 
6821 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6822 ESMF_LIB_FLAGS  =       
6823 ESMF_IO_LIB     =       ESMFIOLIB
6824 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6825 INCLUDE_MODULES = ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6826 -I../external -I../frame -I../share -I../phys -I../chem -I../inc
6827 PERL = perl
6828 REGISTRY = Registry
6829 LIB = -Vaxlib -L../external/io_netcdf -lwrfio_nf $(OMP) -L/u/ncsa/straka/AUGUST.test/WRFV1/netcdfintel7/lib -lnetcdf -L../external/RSL_LITE -lrsl_lite \
6830                         -L../external/io_grib1 -lio_grib1 \
6831                         CONFIGURE_GRIB2_LIB \
6832                         -L../external/io_grib_share -lio_grib_share \
6833 -L../external/io_int -lwrfio_int \
6834 ../frame/module_internal_header_util.o ../frame/pack_utils.o -L/usr/local/vmi/mpich/lib/ecc6 -lmpich -lfmpich -lvmi -ldl -lpthread -L../external/esmf_time_f90 -lesmf_time 
6835 LDFLAGS = $(OMP) CONFIGURE_LDFLAGS
6836 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6837 CPP = /lib/cpp -C -P -traditional
6838 POUND_DEF = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6839 CPPFLAGS = -traditional -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) $(COREDEFS)
6840 AR = ar ru
6841 M4 = m4 -B 14000
6842 RANLIB = ranlib
6843 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6844 CC_TOOLS        =       ecc
6846 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
6848 gen_comms.c : ../external/RSL_LITE/gen_comms.c
6849         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
6850           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
6852 module_dm.F : ../external/RSL_LITE/module_dm.F
6853         ( /bin/cp module_dm_warning module_dm.F ; \
6854           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
6856 wrfio_nf : 
6857         ( cd ../external/io_netcdf ; \
6858           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Vaxlib -I../.. $(FCFLAGS) -w" )
6860 wrfio_int : 
6861         ( cd ../external/io_int ; \
6862           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" all )
6864 wrfio_grib_share :
6865         ( cd ../external/io_grib_share ; \
6866           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
6868 wrfio_grib1 :
6869         ( cd ../external/io_grib1 ; \
6870           make CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
6872 wrfio_grib2 :
6873         ( cd ../external/io_grib2 ; \
6874           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" RANLIB="$(RANLIB)" FC="$(SFC) $(PROMOTION) -Vaxlib -I/usr/local/vmi/mpich/include $(FCDEBUG) $(FCFLAGS) -w" archive)
6876 esmf_time : 
6877         ( cd ../external/esmf_time_f90 ; \
6878           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6880 ../external/RSL_LITE/librsl_lite.a :
6881         ( cd ../external/RSL_LITE ; make CC='ecc -Vaxlib -I. -cm -w -I/usr/local/vmi/mpich/include' \
6882         FC="$(FC) $(PROMOTION) $(FCFLAGS) -cm -w -Vaxlib -I../../.. " MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
6884 # compile these without high optimization to speed compile
6885 solve_interface.o : solve_interface.F
6886 shift_domain_em.o : shift_domain_em.F
6887 module_io_mm5.o : module_io_mm5.F
6888 module_si_io.o : module_si_io.F
6889 module_io_wrf.o : module_io_wrf.F
6890 module_domain.o : module_domain.F
6891 module_start.o : module_start.F
6892 module_initialize.o : module_initialize.F
6893 module_initialize_b_wave.o : module_initialize_b_wave.F
6894 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
6895 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
6896 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
6897 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
6898 module_initialize_real.o : module_initialize_real.F
6899 module_dm.o : module_dm.F
6900 start_domain.o : start_domain.F
6901 module_configure.o : module_configure.F
6903 solve_interface.o \
6904 shift_domain_em.o                                              \
6905 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
6906 module_start.o module_initialize.o module_initialize_b_wave.o \
6907 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
6908 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
6909 module_configure.o                                             \
6910 module_initialize_real.o module_dm.o start_domain.o :
6911         $(RM) $@
6912         $(SED_FTN) $*.F > $*.b 
6913         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
6914         $(RM) $*.b
6915         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
6917 ###########################################################
6918 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting) debug
6920 OMP             =
6921 OMPCPP          =
6922 FC              =       ifort -g  -debug extended -debug-parameters all -traceback -fpe0
6923 CC              =       gcc
6924 SCC             =       $(CC)
6925 SFC             =       $(FC)
6926 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
6927 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
6928 PROMOTION       =       -real_size $(RSIZEBITS)
6929 FCDEBUG         =       
6930 FCBASEOPTS      =       -w -FR -cm -I. -Vaxlib -convert big_endian -mp
6931 FCOPTIM         =       -O0
6932 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
6933 CFLAGS          =       -w
6934 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
6935 ESMF_LIB_FLAGS  =       
6936 ESMF_IO_LIB     =       ESMFIOLIB
6937 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
6938 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
6939                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
6940 ARCHFLAGS       =       $(COREDEFS)  -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
6941                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
6942 LD              =       $(FC)
6943 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
6944 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
6945 CPP             =       /lib/cpp -traditional
6946 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
6947                         -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
6948 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
6949 PERL            =       CONFIGURE_PERL_PATH
6950 REGISTRY        =       Registry
6951 LIB             =       CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
6952                         -L../external/esmf_time_f90 -lesmf_time \
6953                         -L../external/io_grib1 -lio_grib1 \
6954                         CONFIGURE_GRIB2_LIB \
6955                         -L../external/io_grib_share -lio_grib_share
6956 AR              =       ar ru
6957 M4              =       m4 -B14000
6958 RANLIB          =       ranlib
6959 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
6960 CC_TOOLS        =       $(CC)
6962 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
6964 module_dm.F :
6965         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
6967 wrfio_nf : 
6968         ( cd ../external/io_netcdf ; \
6969           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
6971 wrfio_grib_share : 
6972         ( cd ../external/io_grib_share ; \
6973           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
6974           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
6976 wrfio_grib1 : 
6977         ( cd ../external/io_grib1 ; \
6978           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
6980 wrfio_grib2 : 
6981         ( cd ../external/io_grib2 ; \
6982           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
6984 wrfio_int : 
6985         ( cd ../external/io_int ; \
6986           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
6988 esmf_time : 
6989         ( cd ../external/esmf_time_f90 ; \
6990           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
6992 # compile these without high optimization to speed compile
6993 solve_interface.o : solve_interface.F
6994 shift_domain_em.o : shift_domain_em.F
6995 module_io_mm5.o : module_io_mm5.F
6996 module_si_io.o : module_si_io.F
6997 module_io_wrf.o : module_io_wrf.F
6998 module_domain.o : module_domain.F
6999 module_start.o : module_start.F
7000 module_initialize.o : module_initialize.F
7001 module_initialize_b_wave.o : module_initialize_b_wave.F
7002 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7003 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7004 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7005 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7006 module_initialize_real.o : module_initialize_real.F
7007 start_domain.o : start_domain.F
7008 wrf_bdyin.o : wrf_bdyin.F
7009 wrf_bdyout.o : wrf_bdyout.F
7010 wrf_histin.o : wrf_histin.F
7011 wrf_histout.o : wrf_histout.F
7012 wrf_inputin.o : wrf_inputin.F
7013 wrf_inputout.o : wrf_inputout.F
7014 wrf_restartin.o : wrf_restartin.F
7015 wrf_restartout.o : wrf_restartout.F
7017 wrf_bdyin.o wrf_bdyout.o  \
7018 wrf_histin.o wrf_histout.o  \
7019 wrf_inputin.o wrf_inputout.o  \
7020 wrf_restartin.o wrf_restartout.o  \
7021 solve_interface.o                                              \
7022 shift_domain_em.o                                              \
7023 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7024 module_start.o module_initialize.o module_initialize_b_wave.o  \
7025 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7026 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7027 module_initialize_real.o module_dm.o  start_domain.o :
7028         $(RM) $@
7029         $(SED_FTN) $*.F > $*.b 
7030         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7031         $(RM) $*.b
7032         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
7034 module_dm.o : module_dm.F
7035 module_configure.o : module_configure.F
7037 module_configure.o \
7038 module_dm.o :
7039         $(RM) $@
7040         $(SED_FTN) $*.F > $*.b 
7041         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7042         $(RM) $*.b
7043         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7047 ###########################################################
7048 #ARCH AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (single-threaded, no nesting) -03
7050 OMP             =
7051 OMPCPP          =
7052 FC              =       ifort
7053 CC              =       gcc
7054 SCC             =       $(CC)
7055 SFC             =       $(FC)
7056 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7057 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7058 PROMOTION       =       -real_size $(RSIZEBITS)
7059 FCDEBUG         =       # -g
7060 FCBASEOPTS      =       -w -FR -cm -I. -Vaxlib -convert big_endian -mp
7061 FCOPTIM         =       -O3 -no-ipo
7062 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7063 CFLAGS          =       -w
7064 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7065 ESMF_LIB_FLAGS  =       
7066 ESMF_IO_LIB     =       ESMFIOLIB
7067 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7068 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7069                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7070 ARCHFLAGS       =       $(COREDEFS)  -DLIMIT_ARGS -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
7071                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG
7072 LD              =       $(FC)
7073 LDFLAGS         =       $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7074 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7075 CPP             =       /lib/cpp -traditional
7076 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM \
7077                         -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7078 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7079 PERL            =       CONFIGURE_PERL_PATH
7080 REGISTRY        =       Registry
7081 LIB             =       CONFIGURE_NETCDF_LIB_PATH ../frame/module_internal_header_util.o ../frame/pack_utils.o \
7082                         -L../external/esmf_time_f90 -lesmf_time \
7083                         -L../external/io_grib1 -lio_grib1 \
7084                         CONFIGURE_GRIB2_LIB \
7085                         -L../external/io_grib_share -lio_grib_share
7086 AR              =       ar ru
7087 M4              =       m4 -B14000
7088 RANLIB          =       ranlib
7089 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7090 CC_TOOLS        =       $(CC)
7092 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
7094 module_dm.F :
7095         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7097 wrfio_nf : 
7098         ( cd ../external/io_netcdf ; \
7099           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -FR -I. -w" )
7101 wrfio_grib_share : 
7102         ( cd ../external/io_grib_share ; \
7103           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7104           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7106 wrfio_grib1 : 
7107         ( cd ../external/io_grib1 ; \
7108           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7110 wrfio_grib2 : 
7111         ( cd ../external/io_grib2 ; \
7112           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7114 wrfio_int : 
7115         ( cd ../external/io_int ; \
7116           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" all )
7118 esmf_time : 
7119         ( cd ../external/esmf_time_f90 ; \
7120           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7122 # compile these without high optimization to speed compile
7123 solve_interface.o : solve_interface.F
7124 shift_domain_em.o : shift_domain_em.F
7125 module_io_mm5.o : module_io_mm5.F
7126 module_si_io.o : module_si_io.F
7127 module_io_wrf.o : module_io_wrf.F
7128 module_domain.o : module_domain.F
7129 module_start.o : module_start.F
7130 module_initialize.o : module_initialize.F
7131 module_initialize_b_wave.o : module_initialize_b_wave.F
7132 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7133 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7134 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7135 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7136 module_initialize_real.o : module_initialize_real.F
7137 start_domain.o : start_domain.F
7138 wrf_bdyin.o : wrf_bdyin.F
7139 wrf_bdyout.o : wrf_bdyout.F
7140 wrf_histin.o : wrf_histin.F
7141 wrf_histout.o : wrf_histout.F
7142 wrf_inputin.o : wrf_inputin.F
7143 wrf_inputout.o : wrf_inputout.F
7144 wrf_restartin.o : wrf_restartin.F
7145 wrf_restartout.o : wrf_restartout.F
7147 wrf_bdyin.o wrf_bdyout.o  \
7148 wrf_histin.o wrf_histout.o  \
7149 wrf_inputin.o wrf_inputout.o  \
7150 wrf_restartin.o wrf_restartout.o  \
7151 solve_interface.o                                              \
7152 shift_domain_em.o                                              \
7153 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7154 module_start.o module_initialize.o module_initialize_b_wave.o  \
7155 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7156 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7157 module_initialize_real.o module_dm.o  start_domain.o :
7158         $(RM) $@
7159         $(SED_FTN) $*.F > $*.b 
7160         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7161         $(RM) $*.b
7162         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
7164 module_dm.o : module_dm.F
7165 module_configure.o : module_configure.F
7167 module_configure.o \
7168 module_dm.o :
7169         $(RM) $@
7170         $(SED_FTN) $*.F > $*.b 
7171         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7172         $(RM) $*.b
7173         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7175 ###########################################################
7176 #ARCH    AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler  (single threaded, allows nesting using RSL without MPI) -03
7178 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
7179 #       has been identified to produce wrong results occationally.
7180 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7181 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7183 OMP             =
7184 OMPCPP          =
7185 DMPARALLEL      =       1
7186 MAX_PROC        =       1024
7187 FC              =       ifort
7188 LD              =       ifort
7189 CC              =       gcc
7190 SCC             =       $(CC)
7191 SFC             =       ifort
7192 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7193 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7194 PROMOTION       =       -real_size $(RSIZEBITS)
7195 FCOPTIM         =       -O3 # -xW
7196 FCDEBUG         =       #-g
7197 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7198 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7199 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7200                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7201                         -DLIMIT_ARGS -DSTUBMPI \
7202 CFLAGS          =       -w -DDM_PARALLEL -DWRF_RSL_IO \
7203                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
7204 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7205 ESMF_LIB_FLAGS  =       
7206 ESMF_IO_LIB     =       ESMFIOLIB
7207 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7208 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7209                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7210 PERL            =       perl
7211 REGISTRY        =       Registry
7212 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7213                         -L../external/io_int -lwrfio_int \
7214                         -L../external/io_grib1 -lio_grib1 \
7215                         CONFIGURE_GRIB2_LIB \
7216                         -L../external/io_grib_share -lio_grib_share \
7217                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
7218 LDFLAGS         =       $(FCOPTIM) $(OMP) -convert big_endian CONFIGURE_LDFLAGS
7219 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7220 CPP             =       /lib/cpp -traditional
7221 POUND_DEF       =       -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7222 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7223 AR              =       ar ru
7224 M4              =       m4 -B 14000
7225 RANLIB          =       ranlib
7226 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7227 CC_TOOLS        =       gcc
7229 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7231 gen_comms.c : ../external/RSL/gen_comms.c
7232         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7233           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7235 module_dm.F : ../external/RSL/module_dm.F
7236         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7238 wrfio_nf : 
7239         ( cd ../external/io_netcdf ; \
7240           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7242 wrfio_grib_share : 
7243         ( cd ../external/io_grib_share ; \
7244           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7245           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7247 wrfio_grib1 : 
7248         ( cd ../external/io_grib1 ; \
7249           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" \
7250           CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7251 wrfio_grib2 : 
7252         ( cd ../external/io_grib2 ; \
7253           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
7254           CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7256 wrfio_int : 
7257         ( cd ../external/io_int ; \
7258           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7260 esmf_time : 
7261         ( cd ../external/esmf_time_f90 ; \
7262           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7264 ../external/RSL/RSL/librsl.a :
7265         ( cd ../external/RSL/RSL ; \
7266           make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
7268 # compile these without high optimization to speed compile
7269 solve_interface.o : solve_interface.F
7270 shift_domain_em.o : shift_domain_em.F
7271 module_io_mm5.o : module_io_mm5.F
7272 module_si_io.o : module_si_io.F
7273 module_io_wrf.o : module_io_wrf.F
7274 module_domain.o : module_domain.F
7275 module_start.o : module_start.F
7276 module_initialize.o : module_initialize.F
7277 module_initialize_b_wave.o : module_initialize_b_wave.F
7278 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7279 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7280 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7281 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7282 module_initialize_real.o : module_initialize_real.F
7283 start_domain.o : start_domain.F
7284 mediation_integrate.o : mediation_integrate.F
7286 solve_interface.o                                              \
7287 shift_domain_em.o                                              \
7288 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7289 module_start.o module_initialize.o module_initialize_b_wave.o  \
7290 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7291 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7292 mediation_integrate.o \
7293 module_initialize_real.o start_domain.o :
7294         $(RM) $@
7295         $(SED_FTN) $*.F > $*.b 
7296         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7297         $(RM) $*.b
7298         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7300 module_dm.o : module_dm.F
7301 module_configure.o : module_configure.F
7303 module_configure.o \
7304 module_dm.o :
7305         $(RM) $@
7306         $(SED_FTN) $*.F > $*.b 
7307         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7308         $(RM) $*.b
7309         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7311 ###########################################################
7312 #ARCH   AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler (OpenMP)
7314 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
7315 #       has been identified to produce wrong results occationally.
7317 OMP             =       -openmp -fpp -auto
7318 OMPCPP          =       -D_OPENMP
7319 FC              =       ifort
7320 LD              =       ifort
7321 CC              =       gcc
7322 SCC             =       $(CC)
7323 SFC             =       $(FC)
7324 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7325 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7326 PROMOTION       =       -real_size $(RSIZEBITS)
7327 CFLAGS          =
7328 FCOPTIM         =       -O3 # -xW
7329 FCDEBUG         =       #-g
7330 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7331 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7332 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
7333                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
7334                         -DLIMIT_ARGS 
7335 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7336 ESMF_LIB_FLAGS  =       
7337 ESMF_IO_LIB     =       ESMFIOLIB
7338 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7339 INCLUDE_MODULES =       -I ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7340                         -I../frame -I../share -I../phys -I../inc -I../chem
7341 PERL            =       perl
7342 REGISTRY        =       Registry
7343 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
7344                         -L../external/io_grib1 -lio_grib1 \
7345                         CONFIGURE_GRIB2_LIB \
7346                         -L../external/io_grib_share -lio_grib_share \
7347                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
7348 LDFLAGS         =       $(FCFLAGS) $(FCFLAGS) $(OMP) CONFIGURE_LDFLAGS
7349 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7350 CPP             =       /lib/cpp -traditional
7351 POUND_DEF       =       $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7352 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
7353 AR              =       ar ru
7354 M4              =       m4 -B 14000
7355 RANLIB          =       ranlib
7356 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7357 CC_TOOLS        =       $(CC)
7359 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
7361 module_dm.F :
7362         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
7364 wrfio_nf : 
7365         ( cd ../external/io_netcdf ; \
7366           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7368 wrfio_grib_share : 
7369         ( cd ../external/io_grib_share ; \
7370           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7371           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7373 wrfio_grib1 : 
7374         ( cd ../external/io_grib1 ; \
7375           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7377 wrfio_grib2 : 
7378         ( cd ../external/io_grib2 ; \
7379           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7381 wrfio_int : 
7382         ( cd ../external/io_int ; \
7383           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
7384           TRADFLAG="-traditional" all )
7386 esmf_time : 
7387         ( cd ../external/esmf_time_f90 ; \
7388           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7390 # compile these without high optimization to speed compile
7391 solve_interface.o : solve_interface.F
7392 shift_domain_em.o : shift_domain_em.F
7393 module_io_mm5.o : module_io_mm5.F
7394 module_si_io.o : module_si_io.F
7395 module_io_wrf.o : module_io_wrf.F
7396 module_domain.o : module_domain.F
7397 module_start.o : module_start.F
7398 module_initialize.o : module_initialize.F
7399 module_initialize_b_wave.o : module_initialize_b_wave.F
7400 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7401 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7402 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7403 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7404 module_initialize_real.o : module_initialize_real.F
7405 start_domain.o : start_domain.F
7406 mediation_integrate.o : mediation_integrate.F
7408 solve_interface.o                                              \
7409 shift_domain_em.o                                              \
7410 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7411 module_start.o module_initialize.o module_initialize_b_wave.o  \
7412 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7413 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7414 mediation_integrate.o \
7415 module_initialize_real.o start_domain.o :
7416         $(RM) $@
7417         $(SED_FTN) $*.F > $*.b 
7418         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7419         $(RM) $*.b
7420         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7422 module_dm.o : module_dm.F
7423 module_configure.o : module_configure.F
7425 module_configure.o \
7426 module_dm.o :
7427         $(RM) $@
7428         $(SED_FTN) $*.F > $*.b 
7429         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7430         $(RM) $*.b
7431         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7433 ###########################################################
7434 #ARCH    AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort compiler SM-Parallel (OpenMP, allows nesting using RSL without MPI)
7436 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
7437 #       has been identified to produce wrong results occationally.
7438 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7439 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7442 OMP             =       -openmp -fpp -auto
7443 OMPCPP          =       -D_OPENMP
7444 DMPARALLEL      =       1
7445 MAX_PROC        =       1024
7446 FC              =       ifort
7447 LD              =       ifort
7448 CC              =       gcc
7449 SCC             =       $(CC)
7450 SFC             =       ifort
7451 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7452 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7453 PROMOTION       =       -real_size $(RSIZEBITS)
7454 FCOPTIM         =       -O3 # -xW
7455 FCDEBUG         =       #-g
7456 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7457 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
7458 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7459                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7460                         -DLIMIT_ARGS -DSTUBMPI 
7461 CFLAGS          =       -w -DDM_PARALLEL -DWRF_RSL_IO \
7462                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL $(ARCHFLAGS)
7463 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7464 ESMF_LIB_FLAGS  =       
7465 ESMF_IO_LIB     =       ESMFIOLIB
7466 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7467 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7468                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7469 PERL            =       perl
7470 REGISTRY        =       Registry
7471 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7472                         -L../external/io_int -lwrfio_int -L../external/io_grib1 -lio_grib1 \
7473                         CONFIGURE_GRIB2_LIB \
7474                         -L../external/io_grib_share -lio_grib_share \
7475                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time $(OMP)
7476 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7477 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7478 CPP             =       /lib/cpp -traditional
7479 POUND_DEF       =       -DNO_RRTM_PHYSICS $(OMPCPP) $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7480 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7481 AR              =       ar ru
7482 M4              =       m4 -B 14000
7483 RANLIB          =       ranlib
7484 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7485 CC_TOOLS        =       gcc
7487 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7489 gen_comms.c : ../external/RSL/gen_comms.c
7490         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7491           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7493 module_dm.F : ../external/RSL/module_dm.F
7494         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7496 wrfio_nf : 
7497         ( cd ../external/io_netcdf ; \
7498           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7500 wrfio_grib_share : 
7501         ( cd ../external/io_grib_share ; \
7502           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7503           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7505 wrfio_grib1 : 
7506         ( cd ../external/io_grib1 ; \
7507           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7509 wrfio_grib2 : 
7510         ( cd ../external/io_grib2 ; \
7511           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7513 wrfio_int : 
7514         ( cd ../external/io_int ; \
7515           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7517 esmf_time : 
7518         ( cd ../external/esmf_time_f90 ; \
7519           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7521 ../external/RSL/RSL/librsl.a :
7522         ( cd ../external/RSL/RSL ; \
7523           make CC="$(CC)" FC="$(FC) $(PROMOTION)" CFLAGS="-DSTUBS $(CFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
7525 # compile these without high optimization to speed compile
7526 solve_interface.o : solve_interface.F
7527 shift_domain_em.o : shift_domain_em.F
7528 module_io_mm5.o : module_io_mm5.F
7529 module_si_io.o : module_si_io.F
7530 module_io_wrf.o : module_io_wrf.F
7531 module_domain.o : module_domain.F
7532 module_start.o : module_start.F
7533 module_initialize.o : module_initialize.F
7534 module_initialize_b_wave.o : module_initialize_b_wave.F
7535 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7536 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7537 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7538 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7539 module_initialize_real.o : module_initialize_real.F
7540 start_domain.o : start_domain.F
7541 mediation_integrate.o : mediation_integrate.F
7543 solve_interface.o                                              \
7544 shift_domain_em.o                                              \
7545 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7546 module_start.o module_initialize.o module_initialize_b_wave.o  \
7547 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7548 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7549 mediation_integrate.o \
7550 module_initialize_real.o start_domain.o :
7551         $(RM) $@
7552         $(SED_FTN) $*.F > $*.b 
7553         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7554         $(RM) $*.b
7555         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7557 module_dm.o : module_dm.F
7558 module_configure.o : module_configure.F
7560 module_configure.o \
7561 module_dm.o :
7562         $(RM) $@
7563         $(SED_FTN) $*.F > $*.b 
7564         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7565         $(RM) $*.b
7566         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7568 ###########################################################
7569 #ARCH    AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+icc compiler  DM-Parallel (RSL, MPICH, allows nesting)
7571 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
7572 #       has been identified to produce wrong results occationally.
7573 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7574 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7577 DMPARALLEL      =       1
7578 MAX_PROC        =       1024
7579 FC              =       mpif90 -f90=ifort
7580 LD              =       mpif90 -f90=ifort
7581 CC              =       mpicc -cc=icc
7582 SCC             =       gcc
7583 SFC             =       ifort
7584 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7585 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7586 PROMOTION       =       -real_size $(RSIZEBITS)
7587 FCOPTIM         =       -O3 # -xW
7588 FCDEBUG         =       #-g
7589 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7590 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7591 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7592                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7593                         -DMPI  \
7594                         -DLIMIT_ARGS 
7595 CFLAGS          =       -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
7596                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
7597 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7598 ESMF_LIB_FLAGS  =       
7599 ESMF_IO_LIB     =       ESMFIOLIB
7600 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7601 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7602                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7603 PERL            =       perl
7604 REGISTRY        =       Registry
7605 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7606                         -L../external/io_int -lwrfio_int \
7607                         -L../external/io_grib1 -lio_grib1 \
7608                         CONFIGURE_GRIB2_LIB \
7609                         -L../external/io_grib_share -lio_grib_share \
7610                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
7611 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7612 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7613 CPP             =       /lib/cpp -traditional
7614 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7615 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7616 AR              =       ar ru
7617 M4              =       m4 -B 14000
7618 RANLIB          =       ranlib
7619 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7620 CC_TOOLS        =       gcc
7622 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7624 gen_comms.c : ../external/RSL/gen_comms.c
7625         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7626           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7628 module_dm.F : ../external/RSL/module_dm.F
7629         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7631 wrfio_nf : 
7632         ( cd ../external/io_netcdf ; \
7633           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7635 wrfio_grib_share : 
7636         ( cd ../external/io_grib_share ; \
7637           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7638           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7640 wrfio_grib1 : 
7641         ( cd ../external/io_grib1 ; \
7642           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7644 wrfio_grib2 : 
7645         ( cd ../external/io_grib2 ; \
7646           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7648 wrfio_int : 
7649         ( cd ../external/io_int ; \
7650           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7652 esmf_time : 
7653         ( cd ../external/esmf_time_f90 ; \
7654           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7656 ../external/RSL/RSL/librsl.a :
7657         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
7659 # compile these without high optimization to speed compile
7660 solve_interface.o : solve_interface.F
7661 shift_domain_em.o : shift_domain_em.F
7662 module_io_mm5.o : module_io_mm5.F
7663 module_si_io.o : module_si_io.F
7664 module_io_wrf.o : module_io_wrf.F
7665 module_domain.o : module_domain.F
7666 module_start.o : module_start.F
7667 module_initialize.o : module_initialize.F
7668 module_initialize_b_wave.o : module_initialize_b_wave.F
7669 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7670 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7671 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7672 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7673 module_initialize_real.o : module_initialize_real.F
7674 start_domain.o : start_domain.F
7675 mediation_integrate.o : mediation_integrate.F
7677 solve_interface.o                                              \
7678 shift_domain_em.o                                              \
7679 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7680 module_start.o module_initialize.o module_initialize_b_wave.o  \
7681 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7682 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7683 mediation_integrate.o \
7684 module_initialize_real.o start_domain.o :
7685         $(RM) $@
7686         $(SED_FTN) $*.F > $*.b 
7687         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7688         $(RM) $*.b
7689         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7691 module_dm.o : module_dm.F
7692 module_configure.o : module_configure.F
7694 module_configure.o \
7695 module_dm.o :
7696         $(RM) $@
7697         $(SED_FTN) $*.F > $*.b 
7698         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7699         $(RM) $*.b
7700         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7702 ###########################################################
7703 #ARCH    AMD x86_64 Intel xeon i686 ia32 Xeon Linux, ifort+gcc compiler  DM-Parallel (RSL, MPICH, allows nesting) -03
7705 # Note: if you use ifort 8.0, please remove option -xW (for vectorization). This option 
7706 #       has been identified to produce wrong results occationally.
7707 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
7708 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
7711 DMPARALLEL      =       1
7712 MAX_PROC        =       1024
7713 FC              =       mpif90 -f90=ifort
7714 LD              =       mpif90 -f90=ifort
7715 CC              =       mpicc -cc=gcc
7716 SCC             =       gcc
7717 SFC             =       ifort
7718 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7719 RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
7720 PROMOTION       =       -real_size $(RSIZEBITS)
7721 FCOPTIM         =       -O3 # -xW
7722 FCDEBUG         =       #-g
7723 FCBASEOPTS      =       -FR -cm -w -I. $(FCDEBUG) -convert big_endian -mp
7724 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
7725 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
7726                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
7727                         -DMPI  \
7728                         -DLIMIT_ARGS 
7729 CFLAGS          =       -w -DDM_PARALLEL -DWRF_RSL_IO $(ARCHFLAGS) \
7730                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
7731 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7732 ESMF_LIB_FLAGS  =       
7733 ESMF_IO_LIB     =       ESMFIOLIB
7734 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7735 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
7736                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
7737 PERL            =       perl
7738 REGISTRY        =       Registry
7739 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
7740                         -L../external/io_int -lwrfio_int \
7741                         -L../external/io_grib1 -lio_grib1 \
7742                         CONFIGURE_GRIB2_LIB \
7743                         -L../external/io_grib_share -lio_grib_share \
7744                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
7745 LDFLAGS         =       $(FCOPTIM) -convert big_endian CONFIGURE_LDFLAGS
7746 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
7747 CPP             =       /lib/cpp -traditional
7748 POUND_DEF       =       -DNO_RRTM_PHYSICS  $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) -DGRIB1 CONFIGURE_GRIB2_FLAG
7749 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
7750 AR              =       ar ru
7751 M4              =       m4 -B 14000
7752 RANLIB          =       ranlib
7753 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
7754 CC_TOOLS        =       gcc
7756 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
7758 gen_comms.c : ../external/RSL/gen_comms.c
7759         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7760           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7762 module_dm.F : ../external/RSL/module_dm.F
7763         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
7765 wrfio_nf : 
7766         ( cd ../external/io_netcdf ; \
7767           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
7769 wrfio_grib_share : 
7770         ( cd ../external/io_grib_share ; \
7771           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
7772           FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7774 wrfio_grib1 : 
7775         ( cd ../external/io_grib1 ; \
7776           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" archive)
7778 wrfio_grib2 : 
7779         ( cd ../external/io_grib2 ; \
7780           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCFLAGS) -w" FIXED="-fixed" archive)
7782 wrfio_int : 
7783         ( cd ../external/io_int ; \
7784           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
7786 esmf_time : 
7787         ( cd ../external/esmf_time_f90 ; \
7788           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
7790 ../external/RSL/RSL/librsl.a :
7791         ( cd ../external/RSL/RSL ; make CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST linux )
7793 # compile these without high optimization to speed compile
7794 solve_interface.o : solve_interface.F
7795 shift_domain_em.o : shift_domain_em.F
7796 module_io_mm5.o : module_io_mm5.F
7797 module_si_io.o : module_si_io.F
7798 module_io_wrf.o : module_io_wrf.F
7799 module_domain.o : module_domain.F
7800 module_start.o : module_start.F
7801 module_initialize.o : module_initialize.F
7802 module_initialize_b_wave.o : module_initialize_b_wave.F
7803 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7804 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7805 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7806 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7807 module_initialize_real.o : module_initialize_real.F
7808 start_domain.o : start_domain.F
7809 mediation_integrate.o : mediation_integrate.F
7811 solve_interface.o                                              \
7812 shift_domain_em.o                                              \
7813 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7814 module_start.o module_initialize.o module_initialize_b_wave.o  \
7815 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7816 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7817 mediation_integrate.o \
7818 module_initialize_real.o start_domain.o :
7819         $(RM) $@
7820         $(SED_FTN) $*.F > $*.b 
7821         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7822         $(RM) $*.b
7823         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
7825 module_dm.o : module_dm.F
7826 module_configure.o : module_configure.F
7828 module_configure.o \
7829 module_dm.o :
7830         $(RM) $@
7831         $(SED_FTN) $*.F > $*.b 
7832         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7833         $(RM) $*.b
7834         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -g -O0 $*.f90
7836 ###########################################################
7838 #ARCH NEC SUPER-UX SX-6 (serial)
7840 #***** some sx f90 compiler options***********
7841 # -V : version # of f90 command to stderr
7842 #-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
7843 #-Ep: activate cpp preprocessor to perfomr conditional compiling
7844    #****However, cpp also activated by using .F or .F90 suffixes...
7845 # -Wf: specifies option string of the f90/sx detailed options
7846 #-g: debug info generated in object file for dbx symbolic debugging
7847 # -ew : all numbers size=8bytes
7848 #-eW: 4 bytes
7849 # -float0: default and only -float(number) option for sx6
7850 # -USX: unname the prev. defined reserved symbol SX of the preprocessor
7851    # -U overrides -D, so '-USX  -D$(RUNTIMESYSTEM)'  might be redundant
7852 # -p: object file in execution format corresp. to 'prof' command be generated
7853 # -f4: input source program is described in F90 standard free format
7854 # -w: only syntax diagnostic messages at the fatal level are output
7855 # -C: specifies compile mode
7856 #   ssafe: only safe optimization in scalar mode (minimize side effects of 
7857 #          opt. no loop unrolling, etc
7858 # -init : init stack and heap areas
7859 # -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
7861 RUNTIME_SYSTEM  =       sx
7862 MPP_TARGET      =       $(RUNTIME_SYSTEM)
7863 FC              =       f90
7864 SFC             =       $(FC)
7865 CC              =       cc
7866 SCC             =       $(CC)
7867 LD              =       $(FC)
7868 NATIVE_RWORDSIZE =      8
7869 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
7870 ARCHFLAGS       = $(COREDEFS)   -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 -DLIMIT_ARGS -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
7871                 ##for DM compilation    -DDM_PARALLEL -DRSL 
7872 # note:  -ew already does this for SX6, see comments above
7873 PROMOTION       =       
7874 CFLAGS          =       $(ARCHFLAGS)
7875 #CFLAGS         =       $(ARCHFLAGS) -DMPI -Dvpp -I../external/RSL/RSL
7877 FCFLAGS         =       -w -Ep -C ssafe \
7878                         -sx6 -USX -ew -D$(RUNTIME_SYSTEM) -I$(LIBINCLUDE) -I../inc -f4 
7879                 #       -Wf"-init stack=zero heap=zero" 
7880                 #         -Wf"-L transform fmtlist summary stdout" -g
7881 FCDEBUG         =       # -g
7882 FCBASEOPTS      =       $(FCFLAGS) -w
7884 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
7885 ESMF_LIB_FLAGS  =       
7886 ESMF_IO_LIB     =       ESMFIOLIB
7887 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
7888 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  \
7889                         -I../external/esmf_time_f90 -I../frame -I../share -I../phys -I../chem -I../inc
7890 PERL            =       perl
7891 REGISTRY        =       Registry
7892 LIB             =       -L../external/io_netcdf -lwrfio_nf -L/usr/local/netcdf/current/lib -lnetcdf -L../external/io_int -lwrfio_int \
7893                         -L../external/io_grib1 -lio_grib1 \
7894                         CONFIGURE_GRIB2_LIB \
7895                         -L../external/io_grib_share -lio_grib_share \
7896                      #   -L../external/RSL/RSL -lrsl \
7897                         -L../external/esmf_time_f90 -lesmf_time \
7898                         ../frame/module_internal_header_util.o ../frame/pack_utils.o
7900 #-lmpi for 4byte storage, -lmpiw for 8 byte storage 
7901 #LDOPTIONS      =       -lmpiw -ew 
7902 CPP             =       /lib/cpp 
7903 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
7904 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) $(ARCHFLAGS)
7905 #CPPFLAGS = -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL  `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) -DSYSTEM_CALL_OK -DMPI -Dvpp
7907 MAX_PROC = 8
7908 MAKE = make -i -r
7909 AWK = awk
7910 SED = sed
7911 CAT = cat
7912 CUT = cut
7913 EXPAND = expand
7914 AR = ar ru
7915 M4 = m4 -B14000
7916 RANLIB = ar ru     
7917 NETCDFPATH = /usr/local/netcdf/current
7918 CC_TOOLS        =       $(CC)
7919 ARCH_OBJS = milliclock.o
7920 ASSUME_HOMOGENEOUS_ENVIRONMENT = 1
7921 FLIC_MACROS = LMvpp.m4 -B 14000
7922 VECTOR = 1
7925 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int  esmf_time  module_dm.F
7926         ( /sbin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
7927           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
7929 module_dm.F:
7930         ( /sbin/cp module_dm_warning module_dm.F ; \
7931           cat module_dm_stubs.F  >> module_dm.F )
7933 wrfio_nf :
7934         ( cd ../external/io_netcdf ; \
7935           make NETCDFPATH=/usr/local/netcdf/current FC="$(FC) $(PROMOTION) $(FCFLAGS)"  )
7938 wrfio_int :
7939         ( cd ../external/io_int ; \
7940           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" all )
7942 wrfio_grib_share :
7943         ( cd ../external/io_grib_share ; \
7944           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
7946 wrfio_grib1 :
7947         ( cd ../external/io_grib1 ; \
7948           make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
7950 wrfio_grib2 :
7951         ( cd ../external/io_grib2 ; \
7952           make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive)
7954 esmf_time :
7955         ( cd ../external/esmf_time_f90 ;\
7956         make FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) $(CPPFLAGS) -I../../inc " )
7958 #sx : uses makefile.sx in the directory
7959 #../external/RSL/RSL/librsl.a :
7960 #       (cd ../external/RSL/RSL ; \
7961 #       make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
7963 #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7965 # compile these without high optimization to speed compile
7966 solve_interface.o : solve_interface.F
7967 shift_domain_em.o : shift_domain_em.F
7968 module_io_mm5.o : module_io_mm5.F
7969 module_si_io.o : module_si_io.F
7970 module_io_wrf.o : module_io_wrf.F
7971 module_domain.o : module_domain.F
7972 module_start.o : module_start.F
7973 module_initialize.o : module_initialize.F
7974 module_initialize_b_wave.o : module_initialize_b_wave.F
7975 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
7976 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
7977 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
7978 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
7979 module_initialize_real.o : module_initialize_real.F
7980 module_dm.o : module_dm.F
7981 start_domain.o : start_domain.F
7982 module_configure.o : module_configure.F
7983    
7984 solve_interface.o                                              \
7985 shift_domain_em.o                                              \
7986 module_configure.o                                             \
7987 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
7988 module_start.o module_initialize.o module_initialize_b_wave.o  \
7989 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
7990 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
7991 module_initialize_real.o module_dm.o  start_domain.o :
7992         $(RM) $@
7993         $(SED_FTN) $*.F > $*.b
7994         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
7995         $(RM) $*.b
7996         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
7998 ###########################################################
7999 #ARCH   SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL, SGI MPI, allows nesting)
8001 #  'setenv F_UFMTENDIAN big' in run scripts not necessary
8002 #  since -convert big_endian is in FCBASEOPTS
8003 #  Change MPI_HOME if SGI's MPI is not in the default directories
8005 #  Process pinning should be used -- set the environment
8006 #  variable MPI_DSM_DISTRIBUTE on a dedicated system, when
8007 #  running through the cpuset command, or when using a batch
8008 #  scheduler that has dynamic cpuset support enabled.  In
8009 #  other cases, if specific processors are known to be free,
8010 #  the environment variable MPI_DSM_CPULIST may be used
8011 #  (details in 'man mpi').
8013 #  Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8014 #  modules/routines that take a long time to compile but do not
8015 #  significantly contribute to the total runtime performance is 
8016 #  appropriate.  Temporary suggestion for 2.1.1, Nov 2005.
8018 # Contributed settings from Gerardo Cisneros, SGI
8020 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8021 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8024 DMPARALLEL        = 1
8025 INCLUDE           = ../external/io_netcdf/
8026 MAX_DOMAINS       = 7
8027 MAX_PROC          = 1024
8028 MPI_HOME          = /usr
8029 FC                = ifort -I..
8030 LD                = ifort
8031 CC                = icc -I.
8032 SCC                = icc -I.
8033 CC_TOOLS          = cc
8034 SFC               = ifort
8035 CFLAGS            = -w -O3 -unroll0 -ip -tpp2 -c -ftz -no-gcc -DDM_PARALLEL -DWRF_RSL_IO \
8036                     -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
8037 FCOPTIM           = -O3 -unroll0 
8038 FCDEBUG           = # -g
8039 FCBASEOPTS        = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8040                      -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8041                      -I$(INCLUDE) -I. 
8042 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8043 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DRSL  -DDM_PARALLEL -DIWORDSIZE=4 \
8044                     -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
8045                     -DLIMIT_ARGS -DSGIALTIX
8046 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8047 ESMF_LIB_FLAGS  =       
8048 ESMF_IO_LIB     =       ESMFIOLIB
8049 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8050 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8051                     -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8052 PERL              = perl
8053 REGISTRY          = Registry
8054 LIB               = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8055                     -L../external/io_grib1 -lio_grib1 \
8056                         CONFIGURE_GRIB2_LIB \
8057                     -L../external/io_grib_share -lio_grib_share \
8058                     CONFIGURE_NETCDF_LIB_PATH \
8059                     -L../external/RSL/RSL -lrsl \
8060                     -L../external/io_int -lwrfio_int \
8061                     ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8062                     -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time 
8063 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8064 CPP               = /lib/cpp -C -P -traditional
8065 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8066 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8067                     -I$(INCLUDE) -I../external/RSL/RSL `cat ../inc/dm_comm_cpp_flags` \
8068                     $(POUND_DEF) $(COREDEFS)
8069 AR                = ar ru
8070 M4                = m4 -B 14000
8071 RANLIB            = ranlib
8072 NETCDFPATH        = CONFIGURE_NETCDF_PATH
8074 externals : CONFIGURE_WRFIO_NF ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8076 gen_comms.c : ../external/RSL/gen_comms.c
8077         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8078           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
8080 module_dm.F : ../external/RSL/module_dm.F
8081         ( /bin/cp module_dm_warning module_dm.F ; \
8082           cat ../external/RSL/module_dm.F >> module_dm.F )
8084 wrfio_nf : 
8085         ( cd ../external/io_netcdf ; \
8086           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" \
8087           FC="$(FC) -I../.. $(FCFLAGS)" \
8088           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8089         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
8090         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
8091         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
8093 wrfio_int : 
8094         ( cd ../external/io_int ; \
8095           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8096           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8098 wrfio_grib_share :
8099         ( cd ../external/io_grib_share ; \
8100           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8101           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8103 wrfio_grib1 : 
8104         ( cd ../external/io_grib1 ; \
8105           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8106           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8107 wrfio_grib2 : 
8108         ( cd ../external/io_grib2 ; \
8109           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)"\
8110           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive)
8112 esmf_time : 
8113         ( cd ../external/esmf_time_f90 ; \
8114           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8116 ../external/RSL/RSL/librsl.a :
8117         ( cd ../external/RSL/RSL ; make IDIR="-I$(MPI_HOME)/include" \
8118          MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) \
8119          LEARN_BCAST=-DLEARN_BCAST altix )
8121 # compile these without high optimization to speed compile
8122 module_configure.o : module_configure.F
8123 mediation_integrate.o : mediation_integrate.F
8124 mediation_interp_domain.o : mediation_interp_domain.F
8125 mediation_feedback_domain.o : mediation_feedback_domain.F
8126 wrf_auxinput1out.o : wrf_auxinput1out.F
8127 wrf_histout.o : wrf_histout.F
8128 wrf_restartout.o : wrf_restartout.F
8129 wrf_inputin.o : wrf_inputin.F
8130 wrf_auxinput1in.o : wrf_auxinput1in.F
8131 wrf_histin.o : wrf_histin.F
8132 wrf_restartin.o : wrf_restartin.F
8133 module_initialize_real.o: module_initialize_real.F
8134 solve_interface.o : solve_interface.F
8135 shift_domain_em.o : shift_domain_em.F
8136 module_io_wrf.o : module_io_wrf.F
8137 module_domain.o : module_domain.F
8138 module_dm.o : module_dm.F
8139 start_domain.o : start_domain.F
8140 mediation_force_domain.o : mediation_force_domain.F
8142 module_configure.o \
8143 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8144 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8145 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8146 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8147 shift_domain_em.o                                              \
8148 mediation_force_domain.o:
8149         $(RM) $@
8150         $(SED_FTN) $*.F > $*.b
8151         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8152         $(RM) $*.b
8153         $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8155 ###########################################################
8156 #ARCH   SGI Altix, Intel Itanium2 ia64 Linux, ifort DM-Parallel (RSL_LITE, VMI, SGI MPI, Allows nesting)
8158 #  'setenv F_UFMTENDIAN big' in run scripts not necessary
8159 #  since -convert big_endian is in FCBASEOPTS
8160 #  Change MPI_HOME if SGI's MPI is not in the default directories
8162 #  Process pinning should be used -- set the environment
8163 #  variable MPI_DSM_DISTRIBUTE on a dedicated system, when
8164 #  running through the cpuset command, or when using a batch
8165 #  scheduler that has dynamic cpuset support enabled.  In
8166 #  other cases, if specific processors are known to be free,
8167 #  the environment variable MPI_DSM_CPULIST may be used
8168 #  (details in 'man mpi').
8170 #  Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8171 #  modules/routines that take a long time to compile but do not
8172 #  significantly contribute to the total runtime performance is 
8173 #  appropriate.  Temporary suggestion for 2.1.1, Nov 2005.
8175 # Contributed settings from Gerardo Cisneros, SGI
8177 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8178 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8180 DMPARALLEL        = 1
8181 INCLUDE           = ../external/io_netcdf/
8182 MAX_PROC          = 1024
8183 MPI_HOME          = /usr
8184 FC                = ifort -I..
8185 LD                = ifort
8186 CC                = icc -I.
8187 SCC                = icc -I.
8188 CC_TOOLS          = cc
8189 SFC               = ifort
8190 CFLAGS            = -w -O3 -unroll0 -ip -tpp2 -c -ftz -DDM_PARALLEL -I../external/RSL_LITE \
8191                     -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
8192 FCOPTIM           = -O3 -unroll0
8193 FCDEBUG           = # -g
8194 FCBASEOPTS        = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8195                      -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8196                      -I$(INCLUDE) -I. 
8197 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8198 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DRSL_LITE -DDM_PARALLEL \
8199                     -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8200 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8201 ESMF_LIB_FLAGS  =       
8202 ESMF_IO_LIB     =       ESMFIOLIB
8203 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8204 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8205                     -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8206 PERL              = perl
8207 REGISTRY          = Registry
8208 LIB               = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8209                     CONFIGURE_NETCDF_LIB_PATH \
8210                     -L../external/RSL_LITE -lrsl_lite \
8211                     -L../external/io_grib1 -lio_grib1 \
8212                         CONFIGURE_GRIB2_LIB \
8213                     -L../external/io_grib_share -lio_grib_share \
8214                     -L../external/io_int -lwrfio_int \
8215                     ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8216                     -L$(MPI_HOME)/lib -lmpi -L../external/esmf_time_f90 -lesmf_time 
8217 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8218 CPP               = /lib/cpp -C -P -traditional
8219 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8220 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8221                     -I$(INCLUDE) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` \
8222                     $(POUND_DEF) $(COREDEFS)
8223 AR                = ar ru
8224 M4                = m4 -B 14000
8225 RANLIB            = ranlib
8226 NETCDFPATH        = CONFIGURE_NETCDF_PATH
8228 externals : CONFIGURE_WRFIO_NF ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8230 gen_comms.c : ../external/RSL_LITE/gen_comms.c
8231         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8232           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
8234 module_dm.F : ../external/RSL_LITE/module_dm.F
8235         ( /bin/cp module_dm_warning module_dm.F ; \
8236           cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
8238 wrfio_nf : 
8239         ( cd ../external/io_netcdf ; \
8240           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8241           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8242         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc ; \
8243         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../io_phdf5 ; \
8244         /bin/cp ../ioapi_share/wrf_io_flags.h ../io_quilt )
8246 wrfio_int : 
8247         ( cd ../external/io_int ; \
8248           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8249           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8251 wrfio_grib_share :
8252         ( cd ../external/io_grib_share ; \
8253           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8254           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8256 wrfio_grib1 : 
8257         ( cd ../external/io_grib1 ; \
8258           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8259           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8260 wrfio_grib2 : 
8261         ( cd ../external/io_grib2 ; \
8262           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8263           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8265 esmf_time : 
8266         ( cd ../external/esmf_time_f90 ; \
8267           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8269 ../external/RSL_LITE/librsl_lite.a :
8270         ( cd ../external/RSL_LITE ; make CC='icc -I. -w -O3 -DMPI2_SUPPORT -I$(MPI_HOME)/include '\
8271          FC='ifort -w -O3 -I../../.. ' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
8273 # compile these without high optimization to speed compile
8274 mediation_integrate.o : mediation_integrate.F
8275 mediation_interp_domain.o : mediation_interp_domain.F
8276 mediation_feedback_domain.o : mediation_feedback_domain.F
8277 wrf_auxinput1out.o : wrf_auxinput1out.F
8278 wrf_histout.o : wrf_histout.F
8279 wrf_restartout.o : wrf_restartout.F
8280 wrf_inputin.o : wrf_inputin.F
8281 wrf_auxinput1in.o : wrf_auxinput1in.F
8282 wrf_histin.o : wrf_histin.F
8283 wrf_restartin.o : wrf_restartin.F
8284 module_initialize_real.o: module_initialize_real.F
8285 solve_interface.o : solve_interface.F
8286 shift_domain_em.o : shift_domain_em.F
8287 module_io_wrf.o : module_io_wrf.F
8288 module_dm.o : module_dm.F
8289 module_domain.o : module_domain.F
8290 start_domain.o : start_domain.F
8291 mediation_force_domain.o : mediation_force_domain.F
8292 module_configure.o : module_configure.F
8294 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8295 module_configure.o                                              \
8296 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8297 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8298 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8299 shift_domain_em.o                                              \
8300 mediation_force_domain.o:
8301         $(RM) $@
8302         $(SED_FTN) $*.F > $*.b
8303         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8304         $(RM) $*.b
8305         $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8308 ###########################################################
8309 #ARCH   SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (OpenMP, no nesting)
8311 #  'setenv F_UFMTENDIAN big' in run scripts not necessary
8312 #  since -convert big_endian is in FCBASEOPTS
8314 #  Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8315 #  modules/routines that take a long time to compile but do not
8316 #  significantly contribute to the total runtime performance is 
8317 #  appropriate.  Temporary suggestion for 2.1.1, Nov 2005.
8319 # Contributed settings from Gerardo Cisneros, SGI
8320 # Set up only for idealized experiments
8322 OMP               = -openmp
8323 OMPCPP            = -D_OPENMP
8324 INCLUDE           = ../external/io_netcdf/
8325 FC                = ifort -I..
8326 LD                = ifort
8327 CC                = icc -I.
8328 SCC                = icc -I.
8329 CC_TOOLS          = cc
8330 SFC               = ifort
8331 CFLAGS            = -w -O3 -unroll0 -ip -tpp2 -c -ftz 
8332 FCOPTIM           = -O3 -unroll0
8333 FCDEBUG           = # -g
8334 FCBASEOPTS        = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8335                      -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8336                      -I$(INCLUDE) -I. 
8337 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8338 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8339 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8340 ESMF_LIB_FLAGS  =       
8341 ESMF_IO_LIB     =       ESMFIOLIB
8342 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8343 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8344                     -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8345 PERL              = perl
8346 REGISTRY          = Registry
8347 LIB               = -L../external/io_netcdf -lwrfio_nf $(OMP) \
8348                     CONFIGURE_NETCDF_LIB_PATH \
8349                     -L../external/io_int -lwrfio_int \
8350                     -L../external/io_grib1 -lio_grib1 \
8351                         CONFIGURE_GRIB2_LIB \
8352                     -L../external/io_grib_share -lio_grib_share \
8353                     ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8354                     -L../external/esmf_time_f90 -lesmf_time 
8355 LDFLAGS           = -O3 -ip $(OMP) CONFIGURE_LDFLAGS
8356 CPP               = /lib/cpp -C -P -traditional
8357 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8358 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) $(OMPCPP) \
8359                     -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
8360                     $(POUND_DEF) $(COREDEFS)
8361 AR                = ar ru
8362 M4                = m4 -B 14000
8363 RANLIB            = ranlib
8364 NETCDFPATH        = CONFIGURE_NETCDF_PATH
8366 externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8368 module_dm.F :
8369         ( /bin/cp module_dm_warning module_dm.F ; \
8370           cat module_dm_stubs.F >> module_dm.F )
8372 wrfio_nf : 
8373         ( cd ../external/io_netcdf ; \
8374           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8375           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8376         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
8377 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
8378 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
8379 #       /bin/cp wrf_io_flags.h ../io_quilt )
8381 wrfio_int : 
8382         ( cd ../external/io_int ; \
8383           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8384           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8386 wrfio_grib_share :
8387         ( cd ../external/io_grib_share ; \
8388           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8389           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8391 wrfio_grib1 : 
8392         ( cd ../external/io_grib1 ; \
8393           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8394           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8395 wrfio_grib2 : 
8396         ( cd ../external/io_grib2 ; \
8397           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8398           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8400 esmf_time : 
8401         ( cd ../external/esmf_time_f90 ; \
8402           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8404 # compile these without high optimization to speed compile
8405 mediation_integrate.o : mediation_integrate.F
8406 mediation_interp_domain.o : mediation_interp_domain.F
8407 mediation_feedback_domain.o : mediation_feedback_domain.F
8408 wrf_auxinput1out.o : wrf_auxinput1out.F
8409 wrf_histout.o : wrf_histout.F
8410 wrf_restartout.o : wrf_restartout.F
8411 wrf_inputin.o : wrf_inputin.F
8412 wrf_auxinput1in.o : wrf_auxinput1in.F
8413 wrf_histin.o : wrf_histin.F
8414 wrf_restartin.o : wrf_restartin.F
8415 module_initialize_real.o: module_initialize_real.F
8416 solve_interface.o : solve_interface.F
8417 shift_domain_em.o : shift_domain_em.F
8418 module_dm.o : module_dm.F
8419 module_io_wrf.o : module_io_wrf.F
8420 module_domain.o : module_domain.F
8421 start_domain.o : start_domain.F
8422 mediation_force_domain.o : mediation_force_domain.F
8423 module_configure.o : module_configure.F
8424 module_bl_mrf.o: module_bl_mrf.F
8426 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8427 module_configure.o                                              \
8428 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8429 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8430 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8431 shift_domain_em.o module_bl_mrf.o                              \
8432 mediation_force_domain.o:
8433         $(RM) $@
8434         $(SED_FTN) $*.F > $*.b
8435         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8436         $(RM) $*.b
8437         $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8440 ###########################################################
8441 #ARCH   SGI Altix, Intel Itanium2 ia64 Linux, ifort compiler (Single-processor, no nesting)
8443 #  'setenv F_UFMTENDIAN big' in run scripts not necessary
8444 #  since -convert big_endian is in FCBASEOPTS
8446 #  Adding -mP3OPT_ecg_lra_switch=T to the compiler options for
8447 #  modules/routines that take a long time to compile but do not
8448 #  significantly contribute to the total runtime performance is 
8449 #  appropriate.  Temporary suggestion for 2.1.1, Nov 2005.
8451 # Contributed settings from Gerardo Cisneros, SGI
8453 INCLUDE           = ../external/io_netcdf/
8454 FC                = ifort -I..
8455 LD                = ifort
8456 CC                = icc -I.
8457 SCC                = icc -I.
8458 CC_TOOLS          = cc
8459 SFC               = ifort
8460 CFLAGS            = -w -O3 -unroll0 -ip -tpp2 -c -ftz 
8461 FCOPTIM           = -O3 -unroll0
8462 FCDEBUG           = # -g
8463 FCBASEOPTS        = -w -ip -tpp2 -ftz -FR -convert big_endian $(FCDEBUG) \
8464                      -fno-alias -fno-fnalias -align all -IPF_fp_relaxed \
8465                      -I$(INCLUDE) -I. 
8466 FCFLAGS           = $(FCOPTIM) $(FCBASEOPTS)
8467 ARCHFLAGS         = $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNETCDF -DSGIALTIX
8468 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8469 ESMF_LIB_FLAGS  =       
8470 ESMF_IO_LIB     =       ESMFIOLIB
8471 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8472 INCLUDE_MODULES   = -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
8473                     -I../external -I../frame -I../share -I../phys -I../inc -I../chem
8474 PERL              = perl
8475 REGISTRY          = Registry
8476 LIB               = -L../external/io_netcdf -lwrfio_nf \
8477                     CONFIGURE_NETCDF_LIB_PATH \
8478                     -L../external/io_int -lwrfio_int \
8479                     -L../external/io_grib1 -lio_grib1 \
8480                         CONFIGURE_GRIB2_LIB \
8481                     -L../external/io_grib_share -lio_grib_share \
8482                     ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8483                     -L../external/esmf_time_f90 -lesmf_time 
8484 LDFLAGS           = -O3 -ip  CONFIGURE_LDFLAGS
8485 CPP               = /lib/cpp -C -P -traditional
8486 POUND_DEF         = -DNO_RRTM_PHYSICS  -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8487 CPPFLAGS          = -I$(LIBINCLUDE) -C -P -traditional $(COREDEFS) $(ARCHFLAGS) \
8488                     -I$(INCLUDE) -C -P `cat ../inc/dm_comm_cpp_flags` \
8489                     $(POUND_DEF) $(COREDEFS)
8490 AR                = ar ru
8491 M4                = m4 -B 14000
8492 RANLIB            = ranlib
8493 NETCDFPATH        = CONFIGURE_NETCDF_PATH
8495 externals : CONFIGURE_WRFIO_NF wrfio_int module_dm.F wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 esmf_time
8497 module_dm.F :
8498         ( /bin/cp module_dm_warning module_dm.F ; \
8499           cat module_dm_stubs.F >> module_dm.F )
8501 wrfio_nf : 
8502         ( cd ../external/io_netcdf ; \
8503           make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC) -I../.. $(FCFLAGS)" \
8504           TRADFLAG="-traditional" RANLIB="$(RANLIB)" ; \
8505         /bin/cp ../ioapi_share/wrf_io_flags.h ../ioapi_share/wrf_status_codes.h ../../inc )
8506 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
8507 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 ; \
8508 #       /bin/cp wrf_io_flags.h ../io_quilt )
8510 wrfio_int : 
8511         ( cd ../external/io_int ; \
8512           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8513           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" all )
8515 wrfio_grib_share :
8516         ( cd ../external/io_grib_share ; \
8517           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" CPP="$(CPP)" \
8518           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive)
8520 wrfio_grib1 : 
8521         ( cd ../external/io_grib1 ; \
8522           make CC="$(CC)" CPP="$(CPP)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8523           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" archive )
8524 wrfio_grib2 : 
8525         ( cd ../external/io_grib2 ; \
8526           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" TRADFLAG="-traditional" RANLIB="$(RANLIB)" \
8527           FC="ifort -I$(MPI_HOME)/include $(FCDEBUG) $(FCFLAGS)" FIXED="-fixed" archive )
8529 esmf_time : 
8530         ( cd ../external/esmf_time_f90 ; \
8531           make FC="$(FC) $(FCDEBUG) $(FCFLAGS)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8533 # compile these without high optimization to speed compile
8534 mediation_integrate.o : mediation_integrate.F
8535 mediation_interp_domain.o : mediation_interp_domain.F
8536 mediation_feedback_domain.o : mediation_feedback_domain.F
8537 wrf_auxinput1out.o : wrf_auxinput1out.F
8538 wrf_histout.o : wrf_histout.F
8539 wrf_restartout.o : wrf_restartout.F
8540 wrf_inputin.o : wrf_inputin.F
8541 wrf_auxinput1in.o : wrf_auxinput1in.F
8542 wrf_histin.o : wrf_histin.F
8543 wrf_restartin.o : wrf_restartin.F
8544 module_initialize_real.o: module_initialize_real.F
8545 solve_interface.o : solve_interface.F
8546 shift_domain_em.o : shift_domain_em.F
8547 module_dm.o : module_dm.F
8548 module_io_wrf.o : module_io_wrf.F
8549 module_domain.o : module_domain.F
8550 start_domain.o : start_domain.F
8551 mediation_force_domain.o : mediation_force_domain.F
8552 module_configure.o : module_configure.F
8554 mediation_integrate.o mediation_interp_domain.o mediation_feedback_domain.o \
8555 module_configure.o                                              \
8556 wrf_auxinput1out.o wrf_histout.o wrf_restartout.o wrf_inputin.o \
8557 wrf_auxinput1in.o wrf_histin.o wrf_restartin.o module_initialize_real.o \
8558 module_domain.o module_dm.o module_io_wrf.o start_domain.o solve_interface.o \
8559 shift_domain_em.o                                              \
8560 mediation_force_domain.o:
8561         $(RM) $@
8562         $(SED_FTN) $*.F > $*.b
8563         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
8564         $(RM) $*.b
8565         $(FC) -c $(FCBASEOPTS) -O0 $(MODULE_DIRS) $*.f90
8567 ###########################################################
8568 #ARCH   UNICOS/mp  machine crayx1 (RSL_LITE, MPI, MSP mode)
8570 #  Cray X1 (RSL_LITE, MPI, MSP mode)
8571 #  For CSD mode set numtiles=4 in &domains section
8572 #  in namelist.input for best MSP efficiency.
8574 DMPARALLEL      =       1
8575 MAX_PROC         =       1024
8576 FC              =       ftn
8577 SFC             =       $(FC)
8578 LD              =       ftn
8579 CC              =       cc
8580 SCC             =       $(CC)
8582 #### Override default sed command and script for Fortran source files ####
8583 #### This sed script converts !$OMP directives to !csd$ directives ####
8584 SED_FTN = sed -f ../arch/cray_csd.sed
8586 ## Use these for X1 cross compiler to build Registry
8587 ##X1_CROSS_COMP = "gcc"
8588 ##X1_CROSS_CFLG = ""
8589 ## Use these for X1 native (trigger) compiler
8590 X1_CROSS_COMP = "cc"
8591 X1_CROSS_CFLG = "-hcommand"
8592 CC_TOOLS        =       $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
8594 RWORDSIZE         = $(NATIVE_RWORDSIZE)
8595 FCDEBUG         =       # -g
8596 FCBASEOPTS      =       -f free -N 255 -I. -x omp -dy
8597 FCFLAGS_LOWOPT  =       $(FCBASEOPTS) -O1
8598 FCFLAGS         =       $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
8599 #if using 64bit precision
8600 #PROMOTION      =       -sreal64 -dp -sinteger32
8601 CFLAGS          =       -I../external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
8602                         -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
8604 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8605 ESMF_LIB_FLAGS  =       
8606 ESMF_IO_LIB     =       ESMFIOLIB
8607 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8608 INCLUDE_MODULES =       -I../inc \
8609                         -p./ -p../external/io_netcdf -p../external/io_int -p../frame \
8610                         -p../frame -p../share -p../phys -p../chem \
8611                         -p../dyn_em -p ../external/esmf_time_f90
8612 ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
8613                         -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
8614                         -DLIMIT_ARGS -Dcrayx1
8616 PERL            =       perl
8617 REGISTRY        =       Registry
8619 LIB             =       -L../external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
8620                         -L../external/RSL_LITE -lrsl_lite \
8621                         -L../external/io_int -lwrfio_int  \
8622                         -L../external/io_grib1 -lio_grib1 \
8623                         CONFIGURE_GRIB2_LIB \
8624                         -L../external/io_grib_share -lio_grib_share \
8625                         ../frame/module_internal_header_util.o ../frame/pack_utils.o \
8626                         -L../external/esmf_time_f90 -lesmf_time -lmalloc
8628 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8629 LDFLAGS         =       
8631 CPP             =       cpp -C -P -Dcrayx1
8632 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) # -DNO_NAMELIST_PRINT
8633 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE `cat ../inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8635 AR              =       ar ru
8636 M4              =       m4 -B14000
8637 RANLIB          =       echo
8638 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8640 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
8642 gen_comms.c : ../external/RSL_LITE/gen_comms.c
8643         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
8645 module_dm.F : ../external/RSL_LITE/module_dm.F
8646         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
8648 wrfio_nf : 
8649         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
8651 wrfio_int : 
8652         ( cd ../external/io_int ; \
8653           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
8655 wrfio_grib_share :
8656         ( cd ../external/io_grib_share ; \
8657           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
8659 wrfio_grib1 : 
8660         ( cd ../external/io_grib1 ; \
8661           make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
8662           FC="$(FC) $(PROMOTION) -f free -N 255" archive )
8663 wrfio_grib2 : 
8664         ( cd ../external/io_grib2 ; \
8665           make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
8666           FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
8668 esmf_time : 
8669         ( cd ../external/esmf_time_f90 ; \
8670           make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8672 ../external/RSL_LITE/librsl_lite.a :
8673         ( cd ../external/RSL_LITE ; make CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" \
8674                                      MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
8676 # compile these without high optimization
8677 module_io_mm5.o : module_io_mm5.F
8678 module_si_io.o : module_si_io.F
8679 module_domain.o : module_domain.F
8680 module_start.o : module_start.F
8681 module_initialize.o : module_initialize.F
8682 module_initialize_b_wave.o : module_initialize_b_wave.F
8683 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8684 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8685 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8686 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8687 module_initialize_real.o : module_initialize_real.F
8688 module_dm.o : module_dm.F
8689 start_domain.o : start_domain.F
8690 mediation_interp_domain.o : mediation_interp_domain.F
8691 mediation_force_domain.o : mediation_force_domain.F
8692 convert_nmm.o : convert_nmm.F
8693 module_configure.o : module_configure.F
8694 solve_em.o : solve_em.F
8695 solve_interface.o : solve_interface.F
8696 wrf_restartout.o : wrf_restartout.F
8697 wrf_restartin.o : wrf_restartin.F
8698 input_wrf.o : input_wrf.F
8699 output_wrf.o : output_wrf.F
8701 module_io_mm5.o module_si_io.o module_domain.o \
8702 module_start.o module_initialize.o module_initialize_b_wave.o  \
8703 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8704 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8705 module_initialize_real.o module_dm.o start_domain.o \
8706 mediation_interp_domain.o \
8707 mediation_force_domain.o \
8708 module_configure.o solve_em.o \
8709 input_wrf.o output_wrf.o \
8710 solve_interface.o wrf_restartout.o wrf_restartin.o \
8711 convert_nmm.o    :
8712         $(RM) $@
8713         $(SED_FTN) $*.F > $*.b 
8714         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
8715         $(RM) $*.b
8716         $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS)  $*.f90
8718 ###########################################################
8719 #ARCH   HP-UX   PA8600  32bit   (single-threaded, no nesting)
8721 OMP             =       
8722 OMPCPP          =       
8723 FC              =       f90
8724 SFC             =       $(FC)
8725 LD              =       f90
8726 CC              =       cc
8727 SCC             =       $(CC)
8728 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
8729 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
8730                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
8731 PROMOTION       =       -r$(RWORDSIZE) -i4
8732 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
8733 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
8734                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8735 FCDEBUG         =       # -g
8736 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
8737 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8738 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8739 ESMF_LIB_FLAGS  =       
8740 ESMF_IO_LIB     =       ESMFIOLIB
8741 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8742 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
8743                         -I../frame -I../share -I../phys -I../inc -I../chem
8744 PERL            =       CONFIGURE_PERL_PATH
8745 REGISTRY        =       Registry
8746 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
8747                         -L../external/io_grib1 -lio_grib1 \
8748                         CONFIGURE_GRIB2_LIB \
8749                         -L../external/io_grib_share -lio_grib_share \
8750                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
8751 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8752 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8753 CPP             =        /lib/cpp
8754 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8755 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8756 AR              =       ar ru
8757 M4              =       m4 -B14000
8758 RANLIB          =       echo
8759 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8760 CC_TOOLS        =       cc
8762 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
8764 module_dm.F :
8765         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8767 wrfio_nf : 
8768         ( cd ../external/io_netcdf ; \
8769           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
8771 wrfio_int : 
8772         ( cd ../external/io_int ; \
8773           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
8775 wrfio_grib_share :
8776         ( cd ../external/io_grib_share ; \
8777           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
8779 wrfio_grib1 : 
8780         ( cd ../external/io_grib1 ; \
8781           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
8782           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8783 wrfio_grib2 : 
8784         ( cd ../external/io_grib2 ; \
8785           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
8786           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8788 esmf_time : 
8789         ( cd ../external/esmf_time_f90 ; \
8790           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8792 # compile these without high optimization to speed compile
8793 solve_interface.o : solve_interface.F
8794 shift_domain_em.o : shift_domain_em.F
8795 module_io_mm5.o : module_io_mm5.F
8796 module_si_io.o : module_si_io.F
8797 module_io_wrf.o : module_io_wrf.F
8798 module_domain.o : module_domain.F
8799 module_start.o : module_start.F
8800 module_initialize.o : module_initialize.F
8801 module_initialize_b_wave.o : module_initialize_b_wave.F
8802 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8803 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8804 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8805 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8806 module_initialize_real.o : module_initialize_real.F
8807 module_dm.o : module_dm.F
8808 mediation_integrate.o : mediation_integrate.F
8809 start_domain.o : start_domain.F
8810 module_configure.o : module_configure.F
8812 solve_interface.o                                              \
8813 shift_domain_em.o                                              \
8814 module_configure.o                                              \
8815 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8816 module_start.o module_initialize.o module_initialize_b_wave.o  \
8817 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8818 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8819 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
8820         $(RM) $@
8821         $(SED_FTN) $*.F > $*.b 
8822         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
8823         $(RM) $*.b
8824         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
8826 ###########################################################
8827 #ARCH   HP-UX   PA8600  32bit   (single-threaded, nesting using RSL without MPI)
8829 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
8830 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
8832 DMPARALLEL      =       1
8833 OMP             =       
8834 OMPCPP          =       
8835 FC              =       f90
8836 SFC             =       $(FC)
8837 LD              =       f90
8838 CC              =       cc
8839 SCC             =       $(CC)
8840 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
8841 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS \
8842                         -DDM_PARALLEL -DFLOATSAFE -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
8843                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DSTUBMPI
8844 PROMOTION       =       -r$(RWORDSIZE) -i4
8845 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
8846 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
8847                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8848 FCDEBUG         =       # -g
8849 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
8850 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8851 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8852 ESMF_LIB_FLAGS  =       
8853 ESMF_IO_LIB     =       ESMFIOLIB
8854 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8855 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
8856                         -I../frame -I../share -I../phys -I../inc -I../chem
8857 PERL            =       CONFIGURE_PERL_PATH
8858 REGISTRY        =       Registry
8859 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL/ -lrsl -L../external/io_int -lwrfio_int \
8860                         -L../external/io_grib1 -lio_grib1 \
8861                         CONFIGURE_GRIB2_LIB \
8862                         -L../external/io_grib_share -lio_grib_share \
8863                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
8864 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8865 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8866 CPP             =        /lib/cpp
8867 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8868 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8869 MAX_PROC        =       1
8870 AR              =       ar ru
8871 M4              =       m4 -B14000
8872 RANLIB          =       echo
8873 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8874 CC_TOOLS        =       cc
8876 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL/RSL/librsl.a gen_comms.c wrfio_int module_dm.F esmf_time 
8878 gen_comms.c : ../external/RSL/gen_comms.c
8879                 ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
8880                   cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
8882 module_dm.F :
8883         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8885 wrfio_nf : 
8886         ( cd ../external/io_netcdf ; \
8887           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
8889 wrfio_int : 
8890         ( cd ../external/io_int ; \
8891           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
8893 wrfio_grib_share :
8894         ( cd ../external/io_grib_share ; \
8895           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
8897 wrfio_grib1 : 
8898         ( cd ../external/io_grib1 ; \
8899           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
8900           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8901 wrfio_grib2 : 
8902         ( cd ../external/io_grib2 ; \
8903           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
8904           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
8906 esmf_time : 
8907         ( cd ../external/esmf_time_f90 ; \
8908           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
8910 ../external/RSL/RSL/librsl.a :
8911         ( cd ../external/RSL/RSL ; \
8912           make CC="$(CC)" CFLAGS=" -DSTUBS +O3 " FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST stub )
8914 # compile these without high optimization to speed compile
8915 solve_interface.o : solve_interface.F
8916 shift_domain_em.o : shift_domain_em.F
8917 module_io_mm5.o : module_io_mm5.F
8918 module_si_io.o : module_si_io.F
8919 module_io_wrf.o : module_io_wrf.F
8920 module_domain.o : module_domain.F
8921 module_start.o : module_start.F
8922 module_initialize.o : module_initialize.F
8923 module_initialize_b_wave.o : module_initialize_b_wave.F
8924 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
8925 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
8926 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
8927 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
8928 module_initialize_real.o : module_initialize_real.F
8929 module_dm.o : module_dm.F
8930 mediation_integrate.o : mediation_integrate.F
8931 start_domain.o : start_domain.F
8932 module_configure.o : module_configure.F
8934 solve_interface.o                                              \
8935 shift_domain_em.o                                              \
8936 module_configure.o                                              \
8937 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
8938 module_start.o module_initialize.o module_initialize_b_wave.o  \
8939 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
8940 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
8941 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
8942         $(RM) $@
8943         $(SED_FTN) $*.F > $*.b 
8944         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
8945         $(RM) $*.b
8946         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
8948 ###########################################################
8949 #ARCH   HP-UX   Itanium2        (single-threaded, no nesting)
8951 OMP             =       
8952 OMPCPP          =       
8953 FC              =       f90
8954 SFC             =       $(FC)
8955 LD              =       f90
8956 CC              =       cc
8957 SCC             =       $(CC)
8958 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
8959 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
8960                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
8961 PROMOTION       =       -r$(RWORDSIZE) -i4
8962 CFLAGS          =       $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
8963 FCOPTIM         =       +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
8964                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
8965 FCDEBUG         =       # -g
8966 FCBASEOPTS      =       +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
8967 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
8968 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
8969 ESMF_LIB_FLAGS  =       
8970 ESMF_IO_LIB     =       ESMFIOLIB
8971 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
8972 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
8973                         -I../frame -I../share -I../phys -I../inc -I../chem
8974 PERL            =       CONFIGURE_PERL_PATH
8975 REGISTRY        =       Registry
8976 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
8977                         -L../external/io_grib1 -lio_grib1 \
8978                         CONFIGURE_GRIB2_LIB \
8979                         -L../external/io_grib_share -lio_grib_share \
8980                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
8981 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
8982 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
8983 CPP             =        /lib/cpp
8984 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
8985 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
8986 AR              =       ar ru
8987 M4              =       m4 -B14000
8988 RANLIB          =       echo
8989 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
8990 CC_TOOLS        =       cc
8992 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
8994 module_dm.F :
8995         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
8997 wrfio_nf : 
8998         ( cd ../external/io_netcdf ; \
8999           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9001 wrfio_int : 
9002         ( cd ../external/io_int ; \
9003           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9005 wrfio_grib_share :
9006         ( cd ../external/io_grib_share ; \
9007           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9008           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9010 wrfio_grib1 : 
9011         ( cd ../external/io_grib1 ; \
9012           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9013           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9014 wrfio_grib2 : 
9015         ( cd ../external/io_grib2 ; \
9016           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9017           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9019 esmf_time : 
9020         ( cd ../external/esmf_time_f90 ; \
9021           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9023 # compile these without high optimization to speed compile
9024 solve_interface.o : solve_interface.F
9025 shift_domain_em.o : shift_domain_em.F
9026 module_io_mm5.o : module_io_mm5.F
9027 module_si_io.o : module_si_io.F
9028 module_io_wrf.o : module_io_wrf.F
9029 module_domain.o : module_domain.F
9030 module_start.o : module_start.F
9031 module_initialize.o : module_initialize.F
9032 module_initialize_b_wave.o : module_initialize_b_wave.F
9033 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9034 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9035 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9036 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9037 module_initialize_real.o : module_initialize_real.F
9038 module_dm.o : module_dm.F
9039 mediation_integrate.o : mediation_integrate.F
9040 start_domain.o : start_domain.F
9041 module_configure.o : module_configure.F
9043 solve_interface.o                                              \
9044 shift_domain_em.o                                              \
9045 module_configure.o                                              \
9046 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9047 module_start.o module_initialize.o module_initialize_b_wave.o  \
9048 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9049 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9050 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9051         $(RM) $@
9052         $(SED_FTN) $*.F > $*.b 
9053         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9054         $(RM) $*.b
9055         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9057 ###########################################################
9058 #ARCH   HP-UX   Itanium2        (single-threaded, nesting using RSL without MPI)
9060 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9061 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9063 OMP             =       
9064 OMPCPP          =       
9065 FC              =       f90
9066 SFC             =       $(FC)
9067 LD              =       f90
9068 CC              =       cc
9069 SCC             =       $(CC)
9070 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
9071 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DWRF_RSL_IO -DRSL -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
9072                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DSTUBMPI
9073 PROMOTION       =       -r$(RWORDSIZE) -i4
9074 CFLAGS          =       $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
9075 FCOPTIM         =       +O3 +DSitanium2 +Odataprefetch +Olibcalls +DO11.23 +noppu \
9076                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9077 FCDEBUG         =       # -g
9078 FCBASEOPTS      =       +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
9079 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9080 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9081 ESMF_LIB_FLAGS  =       
9082 ESMF_IO_LIB     =       ESMFIOLIB
9083 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9084 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9085                         -I../frame -I../share -I../phys -I../inc -I../chem
9086 PERL            =       CONFIGURE_PERL_PATH
9087 REGISTRY        =       Registry
9088 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
9089                         -L../external/io_grib1 -lio_grib1 \
9090                         CONFIGURE_GRIB2_LIB \
9091                         -L../external/io_grib_share -lio_grib_share \
9092                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9093 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9094 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9095 CPP             =        /lib/cpp
9096 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9097 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9098 AR              =       ar ru
9099 M4              =       m4 -B14000
9100 RANLIB          =       echo
9101 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9102 CC_TOOLS        =       cc
9104 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9106 module_dm.F :
9107         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9109 wrfio_nf : 
9110         ( cd ../external/io_netcdf ; \
9111           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9113 wrfio_int : 
9114         ( cd ../external/io_int ; \
9115           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9117 wrfio_grib_share :
9118         ( cd ../external/io_grib_share ; \
9119           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9120           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9122 wrfio_grib1 : 
9123         ( cd ../external/io_grib1 ; \
9124           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9125           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9126 wrfio_grib2 : 
9127         ( cd ../external/io_grib2 ; \
9128           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9129           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9131 esmf_time : 
9132         ( cd ../external/esmf_time_f90 ; \
9133           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9135 # compile these without high optimization to speed compile
9136 solve_interface.o : solve_interface.F
9137 shift_domain_em.o : shift_domain_em.F
9138 module_io_mm5.o : module_io_mm5.F
9139 module_si_io.o : module_si_io.F
9140 module_io_wrf.o : module_io_wrf.F
9141 module_domain.o : module_domain.F
9142 module_start.o : module_start.F
9143 module_initialize.o : module_initialize.F
9144 module_initialize_b_wave.o : module_initialize_b_wave.F
9145 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9146 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9147 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9148 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9149 module_initialize_real.o : module_initialize_real.F
9150 module_dm.o : module_dm.F
9151 mediation_integrate.o : mediation_integrate.F
9152 start_domain.o : start_domain.F
9153 module_configure.o : module_configure.F
9155 solve_interface.o                                              \
9156 shift_domain_em.o                                              \
9157 module_configure.o                                              \
9158 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9159 module_start.o module_initialize.o module_initialize_b_wave.o  \
9160 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9161 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9162 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9163         $(RM) $@
9164         $(SED_FTN) $*.F > $*.b 
9165         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9166         $(RM) $*.b
9167         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9169 ###########################################################
9170 #ARCH   HP-UX   PA8600          32bit   (openmp, no nesting)
9172 OMP             =       +Oopenmp 
9173 OMPCPP          =       -D_OPENMP
9174 FC              =       f90
9175 SFC             =       $(FC)
9176 LD              =       f90
9177 CC              =       cc
9178 SCC             =       $(CC)
9179 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
9180 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
9181                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 
9182 PROMOTION       =       -r$(RWORDSIZE) -i4
9183 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
9184 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
9185                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9186 FCDEBUG         =       # -g
9187 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a $(FCDEBUG)
9188 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9189 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9190 ESMF_LIB_FLAGS  =       
9191 ESMF_IO_LIB     =       ESMFIOLIB
9192 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9193 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9194                         -I../frame -I../share -I../phys -I../inc -I../chem
9195 PERL            =       CONFIGURE_PERL_PATH
9196 REGISTRY        =       Registry
9197 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int \
9198                         -L../external/io_grib1 -lio_grib1 \
9199                         CONFIGURE_GRIB2_LIB \
9200                         -L../external/io_grib_share -lio_grib_share \
9201                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9202 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9203 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9204 CPP             =        /lib/cpp
9205 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9206 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9207 AR              =       ar ru
9208 M4              =       m4 -B14000
9209 RANLIB          =       echo
9210 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9211 CC_TOOLS        =       cc
9213 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9215 module_dm.F :
9216         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9218 wrfio_nf : 
9219         ( cd ../external/io_netcdf ; \
9220           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
9222 wrfio_int : 
9223         ( cd ../external/io_int ; \
9224           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9226 wrfio_grib_share :
9227         ( cd ../external/io_grib_share ; \
9228           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9229           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9231 wrfio_grib1 : 
9232         ( cd ../external/io_grib1 ; \
9233           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9234           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9235 wrfio_grib2 : 
9236         ( cd ../external/io_grib2 ; \
9237           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9238           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9240 esmf_time : 
9241         ( cd ../external/esmf_time_f90 ; \
9242           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9244 # compile these without high optimization to speed compile
9245 solve_interface.o : solve_interface.F
9246 shift_domain_em.o : shift_domain_em.F
9247 module_io_mm5.o : module_io_mm5.F
9248 module_si_io.o : module_si_io.F
9249 module_io_wrf.o : module_io_wrf.F
9250 module_domain.o : module_domain.F
9251 module_start.o : module_start.F
9252 module_initialize.o : module_initialize.F
9253 module_initialize_b_wave.o : module_initialize_b_wave.F
9254 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9255 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9256 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9257 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9258 module_initialize_real.o : module_initialize_real.F
9259 module_dm.o : module_dm.F
9260 mediation_integrate.o : mediation_integrate.F
9261 start_domain.o : start_domain.F
9262 module_configure.o : module_configure.F
9264 solve_interface.o                                              \
9265 shift_domain_em.o                                              \
9266 module_configure.o                                              \
9267 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9268 module_start.o module_initialize.o module_initialize_b_wave.o  \
9269 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9270 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9271 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9272         $(RM) $@
9273         $(SED_FTN) $*.F > $*.b 
9274         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9275         $(RM) $*.b
9276         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9278 ###########################################################
9279 #ARCH   HP-UX   PA8600   DM-Parallel    (RSL, MPICH, nesting)
9281 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9282 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9284 DMPARALLEL      =       1
9285 MAX_PROC        =       1024
9286 OMP             =       
9287 OMPCPP          =       
9288 FC              =       mpif90
9289 SFC             =       f90
9290 LD              =       mpif90
9291 CC              =       mpicc
9292 SCC             =       cc
9293 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
9294 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
9295                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4  -DDM_PARALLEL -DRSL \
9296                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
9297 PROMOTION       =       -r$(RWORDSIZE) -i4
9298 CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE -I../external/RSL/RSL
9299 FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
9300                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9301 FCDEBUG         =       # -g
9302 FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
9303 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9304 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9305 ESMF_LIB_FLAGS  =       
9306 ESMF_IO_LIB     =       ESMFIOLIB
9307 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9308 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9309                         -I../frame -I../share -I../phys -I../inc -I../chem
9310 PERL            =       CONFIGURE_PERL_PATH
9311 REGISTRY        =       Registry
9312 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
9313                         -L../external/io_grib1 -lio_grib1 \
9314                         CONFIGURE_GRIB2_LIB \
9315                         -L../external/io_grib_share -lio_grib_share \
9316                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9317 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9318 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9319 CPP             =        /lib/cpp -C -P
9320 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9321 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9322 AR              =       ar ru
9323 M4              =       m4 -B14000
9324 RANLIB          =       echo
9325 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9326 CC_TOOLS        =       cc
9328 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
9330 gen_comms.c : ../external/RSL/gen_comms.c
9331         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
9332         cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
9334 module_dm.F : ../external/RSL/module_dm.F
9335         ( /bin/cp module_dm_warning module_dm.F ; \
9336         cat ../external/RSL/module_dm.F >> module_dm.F )
9338 wrfio_nf : 
9339         ( cd ../external/io_netcdf ; \
9340           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
9342 wrfio_int : 
9343         ( cd ../external/io_int ; \
9344         make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9346 wrfio_grib_share :
9347         ( cd ../external/io_grib_share ; \
9348           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9349           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9351 wrfio_grib1 : 
9352         ( cd ../external/io_grib1 ; \
9353           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9354           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9355 wrfio_grib2 : 
9356         ( cd ../external/io_grib2 ; \
9357           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9358           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9360 esmf_time : 
9361         ( cd ../external/esmf_time_f90 ; \
9362         make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9364 ../external/RSL/RSL/librsl.a :
9365         ( cd ../external/RSL/RSL ; \
9366         make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
9369 # compile these without high optimization to speed compile
9370 solve_interface.o : solve_interface.F
9371 shift_domain_em.o : shift_domain_em.F
9372 module_io_mm5.o : module_io_mm5.F
9373 module_si_io.o : module_si_io.F
9374 module_io_wrf.o : module_io_wrf.F
9375 module_domain.o : module_domain.F
9376 module_start.o : module_start.F
9377 module_initialize.o : module_initialize.F
9378 module_initialize_b_wave.o : module_initialize_b_wave.F
9379 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9380 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9381 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9382 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9383 module_initialize_real.o : module_initialize_real.F
9384 module_dm.o : module_dm.F
9385 mediation_integrate.o : mediation_integrate.F
9386 start_domain.o : start_domain.F
9387 module_configure.o : module_configure.F
9389 solve_interface.o \
9390 shift_domain_em.o                                              \
9391 module_configure.o                                              \
9392 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9393 module_start.o module_initialize.o module_initialize_b_wave.o \
9394 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9395 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9396 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9397         $(RM) $@
9398         $(SED_FTN) $*.F > $*.b 
9399         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9400         $(RM) $*.b
9401         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9403 ###########################################################
9404 #ARCH   HP-UX   Itanium2    DM-Parallel (RSL, MPICH, nesting)
9406 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
9407 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
9409 DMPARALLEL      =       1
9410 MAX_PROC        =       1024
9411 OMP             =       
9412 OMPCPP          =       
9413 FC              =       mpif90
9414 SFC             =       f90
9415 LD              =       mpif90
9416 CC              =       mpicc
9417 SCC             =       cc
9418 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
9419 ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO -DLIMIT_ARGS -DFLOATSAFE \
9420                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4  -DDM_PARALLEL -DRSL \
9421                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
9422 PROMOTION       =       -r$(RWORDSIZE) -i4
9423 CFLAGS          =       $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE -I../external/RSL/RSL
9424 FCOPTIM         =       +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
9425                         +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
9426 FCDEBUG         =       # -g
9427 FCBASEOPTS      =       +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
9428 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
9429 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9430 ESMF_LIB_FLAGS  =       
9431 ESMF_IO_LIB     =       ESMFIOLIB
9432 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9433 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9434                         -I../frame -I../share -I../phys -I../inc -I../chem
9435 PERL            =       CONFIGURE_PERL_PATH
9436 REGISTRY        =       Registry
9437 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/io_int -lwrfio_int -L../external/RSL/RSL -lrsl \
9438                         -L../external/io_grib1 -lio_grib1 \
9439                         CONFIGURE_GRIB2_LIB \
9440                         -L../external/io_grib_share -lio_grib_share \
9441                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9442 LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
9443 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9444 CPP             =        /lib/cpp -C -P
9445 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9446 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9447 AR              =       ar ru
9448 M4              =       m4 -B14000
9449 RANLIB          =       echo
9450 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9451 CC_TOOLS        =       cc
9453 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int ../external/RSL/RSL/librsl.a gen_comms.c module_dm.F esmf_time
9455 gen_comms.c : ../external/RSL/gen_comms.c
9456         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
9457         cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
9459 module_dm.F : ../external/RSL/module_dm.F
9460         ( /bin/cp module_dm_warning module_dm.F ; \
9461         cat ../external/RSL/module_dm.F >> module_dm.F )
9463 wrfio_nf : 
9464         ( cd ../external/io_netcdf ; \
9465           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) " )
9467 wrfio_int : 
9468         ( cd ../external/io_int ; \
9469         make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " all )
9471 wrfio_grib_share :
9472         ( cd ../external/io_grib_share ; \
9473           make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
9474           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive)
9476 wrfio_grib1 : 
9477         ( cd ../external/io_grib1 ; \
9478           make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
9479           FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9480 wrfio_grib2 : 
9481         ( cd ../external/io_grib2 ; \
9482           make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
9483           FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I../../inc " archive )
9485 esmf_time : 
9486         ( cd ../external/esmf_time_f90 ; \
9487         make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9489 ../external/RSL/RSL/librsl.a :
9490         ( cd ../external/RSL/RSL ; \
9491         make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST hp )
9494 # compile these without high optimization to speed compile
9495 solve_interface.o : solve_interface.F
9496 shift_domain_em.o : shift_domain_em.F
9497 module_io_mm5.o : module_io_mm5.F
9498 module_si_io.o : module_si_io.F
9499 module_io_wrf.o : module_io_wrf.F
9500 module_domain.o : module_domain.F
9501 module_start.o : module_start.F
9502 module_initialize.o : module_initialize.F
9503 module_initialize_b_wave.o : module_initialize_b_wave.F
9504 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9505 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9506 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9507 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9508 module_initialize_real.o : module_initialize_real.F
9509 module_dm.o : module_dm.F
9510 mediation_integrate.o : mediation_integrate.F
9511 start_domain.o : start_domain.F
9512 module_configure.o : module_configure.F
9514 solve_interface.o \
9515 shift_domain_em.o                                              \
9516 module_configure.o                                              \
9517 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9518 module_start.o module_initialize.o module_initialize_b_wave.o \
9519 module_initialize_hill2d_x.o module_initialize_quarter_ss.o \
9520 module_initialize_squall2d_x.o module_initialize_squall2d_y.o \
9521 module_initialize_real.o module_dm.o mediation_integrate.o start_domain.o :
9522         $(RM) $@
9523         $(SED_FTN) $*.F > $*.b 
9524         $(CPP) -I../inc $(CPPFLAGS) $*.b > $*.f90
9525         $(RM) $*.b
9526         $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
9528 ###########################################################
9529 #ARCH Darwin            (single-threaded, no nesting)
9530 #     
9531 #     Using -qfloat=nomaf option can result in identical results with
9532 #           non-optimized and optimized results (suggested by Fovell of UCLA)
9533 #           One may turn on by uncommenting it in FCOPTIM line
9535 FC              =       xlf90_r
9536 SFC             =       $(FC)
9537 LD              =       xlf90_r
9538 #CC              =       cc_r
9539 CC              =       cc
9540 SCC             =       $(CC)
9541 RWORDSIZE       = $(NATIVE_RWORDSIZE)
9542 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
9543 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9544 FCOPTIM         =       #-O3 -qarch=auto #-qfloat=nomaf
9545 FCDEBUG         =       #-qnoopt -qfullpath
9546 FCBASEOPTS      =       -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w 
9547 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
9548 FCSUFFIX        =       -qsuffix=f=f90
9549 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9550 ESMF_LIB_FLAGS  =       
9551 ESMF_IO_LIB     =       ESMFIOLIB
9552 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9553 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9554                         -I../frame -I../share -I../phys -I../inc -I../chem
9555 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9556                         CONFIGURE_NETCDF_FLAG \
9557                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
9558 #                       -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
9559 PERL            =       CONFIGURE_PERL_PATH
9560 REGISTRY        =       Registry
9561 #LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv 
9562 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
9563                         -L../external/io_int -lwrfio_int \
9564                         -L../external/io_grib1 -lio_grib1 \
9565                         CONFIGURE_GRIB2_LIB \
9566                         -L../external/io_grib_share -lio_grib_share \
9567                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9569 LDFLAGS         =        -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
9570 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9571 #CPP             =       /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
9572 CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
9573 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9574 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) 
9575 AR              =       ar ru
9576 M4              =       m4 -B 14000
9577 RANLIB          =       ranlib
9578 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9579 CC_TOOLS        =       cc
9581 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9583 module_dm.F :
9584         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9586 wrfio_nf : 
9587         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9589 wrfio_int : 
9590         ( cd ../external/io_int ; \
9591           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9593 wrfio_grib_share :
9594         ( cd ../external/io_grib_share ; \
9595           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9597 wrfio_grib1 :
9598         ( cd ../external/io_grib1 ; \
9599           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9601 wrfio_grib2 :
9602         ( cd ../external/io_grib2 ; \
9603           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
9605 esmf_time : 
9606         ( cd ../external/esmf_time_f90 ; \
9607           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9609 solve_interface.o : solve_interface.F
9610         $(RM) $@
9611         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
9612         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9614 # compile these without high optimization to speed compile
9615 shift_domain_em.o : shift_domain_em.F
9616 module_io_mm5.o : module_io_mm5.F
9617 module_si_io.o : module_si_io.F
9618 module_io_wrf.o : module_io_wrf.F
9619 module_domain.o : module_domain.F
9620 module_start.o : module_start.F
9621 module_initialize.o : module_initialize.F
9622 module_initialize_b_wave.o : module_initialize_b_wave.F
9623 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9624 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9625 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9626 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9627 module_initialize_real.o : module_initialize_real.F
9628 module_dm.o : module_dm.F
9629 start_domain.o : start_domain.F
9630 solve_em.o : solve_em.F
9631 mediation_interp_domain.o : mediation_interp_domain.F
9632 mediation_force_domain.o : mediation_force_domain.F
9633 mediation_feedback_domain.o : mediation_feedback_domain.F
9634 convert_nmm.o : convert_nmm.F
9635 module_configure.o : module_configure.F
9637 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9638 module_start.o module_initialize.o module_initialize_b_wave.o  \
9639 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9640 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9641 module_initialize_real.o module_dm.o \
9642 shift_domain_em.o                                              \
9643 mediation_interp_domain.o \
9644 module_configure.o                                             \
9645 solve_em.o \
9646 convert_nmm.o :
9647         $(RM) $@
9648         $(SED_FTN) $*.F > $*.b 
9649         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9650         $(RM) $*.b
9651         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9653 ###########################################################
9654 #ARCH Darwin            (OpenMP, no nesting)
9655 #     
9656 #     Using -qfloat=nomaf option can result in identical results with
9657 #           non-optimized and optimized results (suggested by Fovell of UCLA)
9658 #           One may turn on by uncommenting it in FCOPTIM line
9660 OMP             =       -qsmp=noauto
9661 OMPCPP          =       -D_OPENMP
9662 FC              =       xlf90_r
9663 SFC             =       $(FC)
9664 LD              =       xlf90_r
9665 CC              =       cc
9666 SCC             =       $(CC)
9667 RWORDSIZE       = $(NATIVE_RWORDSIZE)
9668 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
9669 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9670 FCOPTIM         =       -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
9671 FCDEBUG         =       # -qnoopt -qfullpath
9672 FCBASEOPTS      =       -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
9673 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
9674 FCSUFFIX        =       -qsuffix=f=f90
9675 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9676 ESMF_LIB_FLAGS  =       
9677 ESMF_IO_LIB     =       ESMFIOLIB
9678 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9679 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9680                         -I../frame -I../share -I../phys -I../inc -I../chem
9681 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9682                         CONFIGURE_NETCDF_FLAG \
9683                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
9684 PERL            =       CONFIGURE_PERL_PATH
9685 REGISTRY        =       Registry
9686 LIB             =       CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
9687                         -L../external/io_int -lwrfio_int \
9688                         -L../external/io_grib1 -lio_grib1 \
9689                         CONFIGURE_GRIB2_LIB \
9690                         -L../external/io_grib_share -lio_grib_share \
9691                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9692 LDFLAGS         =       $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000  CONFIGURE_LDFLAGS
9693 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9694 CPP             =        /usr/bin/cpp -C -P -xassembler-with-cpp
9695 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9696 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
9697 AR              =       ar ru
9698 M4              =       m4 -B 14000
9699 RANLIB          =       ranlib
9700 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9701 CC_TOOLS        =       $(CC)
9703 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9705 module_dm.F :
9706         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9708 wrfio_nf : 
9709         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9711 wrfio_int : 
9712         ( cd ../external/io_int ; \
9713           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9715 wrfio_grib_share :
9716         ( cd ../external/io_grib_share ; \
9717           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
9719 wrfio_grib1 :
9720         ( cd ../external/io_grib1 ; \
9721           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
9723 wrfio_grib2 :
9724         ( cd ../external/io_grib2 ; \
9725           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
9727 esmf_time : 
9728         ( cd ../external/esmf_time_f90 ; \
9729           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9732 module_configure.o : module_configure.F
9733 module_domain.o   : module_domain.F
9734 module_sm.o     : module_sm.F
9735 module_tiles.o  : module_tiles.F
9736 solve_em.o      : solve_em.F
9737 solve_exp.o     : solve_exp.F
9738 convert_nmm.o   : convert_nmm.F
9740 module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
9741         $(RM) $@
9742         $(SED_FTN) $*.F > $*.b 
9743         $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
9744         $(RM) $*.b
9745         $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
9747 module_domain.o :
9748         $(RM) $@
9749         $(SED_FTN) $*.F90 > $*.b 
9750         $(CPP) -I../inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
9751         $(RM) $*.b
9752         $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
9754 ###########################################################
9755 #ARCH Darwin            (single-threaded, no nesting, USES: gcc-3.3, xlf cpp, SystemStubs)
9756 #     
9757 #     Using -qfloat=nomaf option can result in identical results with
9758 #           non-optimized and optimized results (suggested by Fovell of UCLA)
9759 #           One may turn on by uncommenting it in FCOPTIM line
9761 FC              =       xlf90_r
9762 SFC             =       $(FC)
9763 LD              =       xlf90_r
9764 #CC              =       cc_r
9765 CC              =       gcc-3.3
9766 SCC             =       $(CC)
9767 RWORDSIZE       = $(NATIVE_RWORDSIZE)
9768 PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
9769 CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
9770 FCOPTIM         =       #-O3 -qarch=auto #-qfloat=nomaf
9771 FCDEBUG         =       #-qnoopt -qfullpath
9772 FCBASEOPTS      =       -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w 
9773 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
9774 FCSUFFIX        =       -qsuffix=f=f90
9775 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9776 ESMF_LIB_FLAGS  =       
9777 ESMF_IO_LIB     =       ESMFIOLIB
9778 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9779 INCLUDE_MODULES =       -I../external/io_netcdf -I../external/io_int  -I../external/esmf_time_f90 \
9780                         -I../frame -I../share -I../phys -I../inc -I../chem
9781 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9782                         CONFIGURE_NETCDF_FLAG \
9783                         -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DLANDREAD_STUB -DMAC_KLUDGE
9784 #                       -DLIMIT_ARGS -DNO_NAMELIST_PRINT -DNATIVE_MASSV -DMACOS
9785 PERL            =       CONFIGURE_PERL_PATH
9786 REGISTRY        =       Registry
9787 #LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv 
9788 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
9789                         -L../external/io_int -lwrfio_int \
9790                         -L../external/io_grib1 -lio_grib1 \
9791                         CONFIGURE_GRIB2_LIB \
9792                         -L../external/io_grib_share -lio_grib_share \
9793                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
9795 LDFLAGS         =        -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS -L/usr/lib -lSystemStubs
9796 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9797 CPP             =       /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
9798 #CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
9799 POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9800 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF) 
9801 AR              =       ar ru
9802 M4              =       m4 -B 14000
9803 RANLIB          =       ranlib
9804 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9805 CC_TOOLS        =       cc
9807 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9809 module_dm.F :
9810         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9812 wrfio_nf : 
9813         ( cd ../external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
9815 wrfio_int : 
9816         ( cd ../external/io_int ; \
9817           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
9819 wrfio_grib_share :
9820         ( cd ../external/io_grib_share ; \
9821           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9823 wrfio_grib1 :
9824         ( cd ../external/io_grib1 ; \
9825           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
9827 wrfio_grib2 :
9828         ( cd ../external/io_grib2 ; \
9829           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC -qcpluscmt" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" FREE="" FIXED="-qfixed" archive)
9831 esmf_time : 
9832         ( cd ../external/esmf_time_f90 ; \
9833           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9835 solve_interface.o : solve_interface.F
9836         $(RM) $@
9837         $(CPP) -I../inc $(CPPFLAGS) $*.F > $*.f90
9838         $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9840 # compile these without high optimization to speed compile
9841 shift_domain_em.o : shift_domain_em.F
9842 module_io_mm5.o : module_io_mm5.F
9843 module_si_io.o : module_si_io.F
9844 module_io_wrf.o : module_io_wrf.F
9845 module_domain.o : module_domain.F
9846 module_start.o : module_start.F
9847 module_initialize.o : module_initialize.F
9848 module_initialize_b_wave.o : module_initialize_b_wave.F
9849 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9850 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9851 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9852 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9853 module_initialize_real.o : module_initialize_real.F
9854 module_dm.o : module_dm.F
9855 start_domain.o : start_domain.F
9856 solve_em.o : solve_em.F
9857 mediation_interp_domain.o : mediation_interp_domain.F
9858 mediation_force_domain.o : mediation_force_domain.F
9859 mediation_feedback_domain.o : mediation_feedback_domain.F
9860 convert_nmm.o : convert_nmm.F
9861 module_configure.o : module_configure.F
9863 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9864 module_start.o module_initialize.o module_initialize_b_wave.o  \
9865 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9866 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9867 module_initialize_real.o module_dm.o \
9868 shift_domain_em.o                                              \
9869 mediation_interp_domain.o \
9870 module_configure.o                                             \
9871 solve_em.o \
9872 convert_nmm.o :
9873         $(RM) $@
9874         $(SED_FTN) $*.F > $*.b 
9875         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9876         $(RM) $*.b
9877         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
9879 ###########################################################
9880 #ARCH    PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher (Single-threaded, no nesting)
9882 FC              =       pathf90
9883 LD              =       pathf90
9884 CC              =       pathcc
9885 SCC             =       $(CC)
9886 NATIVE_RWORDSIZE=       4
9887 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
9888 SFC             =       $(FC)
9889 PROMOTION       =       -r$(RWORDSIZE) -i4
9890 CFLAGS          =       
9891 FCOPTIM         =       -O3 -OPT:Ofast:Olimit=5000
9892 FCDEBUG         =       #-g
9893 FCBASEOPTS      =       -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG) # -Mlfs
9894 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
9895 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
9896                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
9897                         -DLIMIT_ARGS
9898 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
9899 ESMF_LIB_FLAGS  =       
9900 ESMF_IO_LIB     =       ESMFIOLIB
9901 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
9902 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
9903                         -I../frame -I../share -I../phys -I../chem -I../inc
9904 PERL            =       perl
9905 REGISTRY        =       Registry
9906 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
9907                         -L../external/io_grib1 -lio_grib1 \
9908                         CONFIGURE_GRIB2_LIB \
9909                         -L../external/io_grib_share -lio_grib_share \
9910                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
9911 LDFLAGS         =       $(FCFLAGS) -byteswapio CONFIGURE_LDFLAGS
9912 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
9913 CPP             =       /lib/cpp -C -P -traditional
9914 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
9915 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
9916 AR              =       ar ru
9917 M4              =       m4 -B 14000
9918 RANLIB          =       ranlib
9919 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
9920 CC_TOOLS        =       $(CC)
9921                                                                                 
9922 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
9923                                                                                 
9924 module_dm.F :
9925         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
9927 wrfio_nf :
9928         ( cd ../external/io_netcdf ; \
9929         make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w -fno-second-underscore" TRADFLAG="-traditional" )
9930                                                                                 
9931 wrfio_grib_share :
9932         ( cd ../external/io_grib_share ; \
9933           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
9935 wrfio_grib1 :
9936         ( cd ../external/io_grib1 ; \
9937         make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
9939 wrfio_grib2 :
9940         ( cd ../external/io_grib2 ; \
9941         make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
9943 wrfio_int :
9944         ( cd ../external/io_int ; \
9945         make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
9946         TRADFLAG="-traditional" all )
9947                                                                                 
9948 esmf_time :
9949         ( cd ../external/esmf_time_f90 ; \
9950         make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
9951                                                                                 
9952 # compile these without high optimization to speed compile
9953 solve_interface.o : solve_interface.F
9954 shift_domain_em.o : shift_domain_em.F
9955 module_io_mm5.o : module_io_mm5.F
9956 module_si_io.o : module_si_io.F
9957 module_io_wrf.o : module_io_wrf.F
9958 module_domain.o : module_domain.F
9959 module_start.o : module_start.F
9960 module_initialize.o : module_initialize.F
9961 module_initialize_b_wave.o : module_initialize_b_wave.F
9962 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
9963 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
9964 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
9965 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
9966 module_initialize_real.o : module_initialize_real.F
9967 module_dm.o : module_dm.F
9968 start_domain.o : start_domain.F
9969 mediation_integrate.o : mediation_integrate.F
9970 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
9971 module_configure.o : module_configure.F
9972                                                                                 
9973 solve_interface.o                                              \
9974 shift_domain_em.o                                              \
9975 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
9976 module_start.o module_initialize.o module_initialize_b_wave.o  \
9977 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
9978 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
9979 mediation_integrate.o \
9980 module_configure.o                                             \
9981 module_fddaobs_rtfdda.o \
9982 module_initialize_real.o module_dm.o start_domain.o :
9983         $(RM) $@
9984         $(SED_FTN) $*.F > $*.b
9985         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
9986         $(RM) $*.b
9987         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
9989 ###########################################################
9990 #ARCH    PC Linux x86_64 (IA64 and Opteron), PathScale 2.1 or higher DM-Parallel   (RSL_LITE, PathScale MPICH, No periodic LBCs)
9992 DMPARALLEL      =       1
9993 MAX_PROC        =       1024
9994 FC              =       mpif90 -f90=pathf90
9995 LD              =       mpif90 -f90=pathf90
9996 CC              =       mpicc  -cc=pathcc
9997 SCC             =       pathcc
9998 SFC             =       pathf90
9999 NATIVE_RWORDSIZE=       4
10000 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10001 CFLAGS          =       -DDM_PARALLEL \
10002                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10003 FCOPTIM         =       -O3 -OPT:Ofast:Olimit=5000
10004 FCDEBUG         =       #-g
10005 FCBASEOPTS      =       -w -byteswapio -freeform -fno-second-underscore $(FCDEBUG)
10006 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10007 ARCHFLAGS       =       $(COREDEFS) -DINTIO -DDM_PARALLEL \
10008                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10009                         -DLIMIT_ARGS
10010 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10011 ESMF_LIB_FLAGS  =       
10012 ESMF_IO_LIB     =       ESMFIOLIB
10013 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10014 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10015                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
10016 EXTRAMODULES    =
10017 PERL            =       perl
10018 REGISTRY        =       Registry
10019 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10020                         -L../external/io_grib1 -lio_grib1 \
10021                         CONFIGURE_GRIB2_LIB \
10022                         -L../external/io_grib_share -lio_grib_share \
10023                         -L../external/io_int -lwrfio_int \
10024                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10025 LDFLAGS         =       -byteswapio
10026 CPP             =       /lib/cpp -C -P -traditional
10027 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10028 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(POUND_DEF)
10029 AR              =       ar ru
10030 M4              =       m4 -B 14000
10031 RANLIB          =       ranlib
10032 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10033 CC_TOOLS        =       pathcc
10034                                                                                 
10035 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10036                                                                                 
10037 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10038         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10039         cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10040                                                                                 
10041 module_dm.F : ../external/RSL_LITE/module_dm.F
10042         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10043                                                                                 
10044 #io_flags:
10045 #       ( cd ../external/io_netcdf ; make flags_only ; \
10046 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../../inc ; \
10047 #       /bin/cp wrf_io_flags.h wrf_status_codes.h ../io_phdf5 )
10048                                                                                 
10049 wrfio_nf : 
10050         ( cd ../external/io_netcdf ; \
10051         make NETCDFPATH=CONFIGURE_NETCDF_PATH CPP="$(CPP)" FC="$(FC)" TRADFLAG="-traditional" \
10052         FFLAGS='$(FCFLAGS) -I../../inc -ICONFIGURE_NETCDF_PATH/include -w -fno-second-underscore' RANLIB=$(RANLIB) )
10053                                                                                 
10054 wrfio_grib_share :
10055         ( cd ../external/io_grib_share ; \
10056           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" TRADFLAG="-traditional" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" archive )
10058 wrfio_grib1 :
10059         ( cd ../external/io_grib1 ; \
10060         make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) archive )
10061                                                                                 
10062 wrfio_grib2 :
10063         ( cd ../external/io_grib2 ; \
10064         make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" FC="$(SFC) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RM="$(RM)" RANLIB=$(RANLIB) archive )
10065                                                                                 
10066 wrfio_int : 
10067         ( cd ../external/io_int ; \
10068         make CC="$(CC)" CPP="$(CPP)" FC="$(SFC) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" RANLIB=$(RANLIB) all )
10069                                                                                 
10070 esmf_time :
10071         ( cd ../external/esmf_time_f90 ; \
10072         make FC="$(FC) $(FCDEBUG) $(FCBASEOPTS) " CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10073                                                                                 
10074 ../external/RSL_LITE/librsl_lite.a :
10075         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC='mpif90 $(FCFLAGS) -byteswapio' MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10076                                                                                 
10077 # compile these without high optimization to speed compile
10078 solve_interface.o : solve_interface.F
10079 module_io_mm5.o : module_io_mm5.F
10080 module_si_io.o : module_si_io.F
10081 module_io_wrf.o : module_io_wrf.F
10082 module_domain.o : module_domain.F
10083 module_start.o : module_start.F
10084 module_initialize.o : module_initialize.F
10085 module_initialize_b_wave.o : module_initialize_b_wave.F
10086 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10087 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10088 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10089 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10090 module_initialize_real.o : module_initialize_real.F
10091 module_dm.o : module_dm.F
10092 start_domain.o : start_domain.F
10093 mediation_integrate.o : mediation_integrate.F
10094 module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
10095 module_configure.o : module_configure.F
10096                                                                                 
10097 solve_interface.o                                              \
10098 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10099 module_start.o module_initialize.o module_initialize_b_wave.o  \
10100 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10101 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10102 mediation_integrate.o \
10103 module_configure.o                                             \
10104 module_fddaobs_rtfdda.o \
10105 module_initialize_real.o module_dm.o start_domain.o :
10106         $(RM) $@
10107         $(SED_FTN) $*.F > $*.b
10108         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10109         $(RM) $*.b
10110         $(FC) -c $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10112 ###########################################################
10113 #ARCH    Cray XT3 Catamount/Linux x86_64 (Opteron), PGI 5.2 or higher DM-Parallel (RSL_LITE, MPICH, Allows nesting, Periodic in X only )
10114 #        Note that for 5.1.x comment out -Mpia=fast
10116 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10117 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10119 DMPARALLEL      =       1
10120 MAX_PROC        =       1024
10121 FC              =       ftn
10122 LD              =       ftn
10123 CC              =       gcc -DMPI2_SUPPORT
10124 SCC             =       gcc
10125 SFC             =       mpif90
10126 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10127 PROMOTION       =       -r$(RWORDSIZE) -i4
10128 CFLAGS          =       -DDM_PARALLEL \
10129                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE \
10130                         -DLANDREAD_STUB -DXT3_Catamount -I$(MPICH_DIR)/include
10131 FCOPTIM         =       -O3 -fastsse #-Mipa=fast
10132 FCDEBUG         =       #-g
10133 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10134 FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
10135 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10136 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
10137                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10138                         -DLIMIT_ARGS -DLANDREAD_STUB -DNO_NAMELIST_PRINT -DXT3_Catamount
10139 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10140 ESMF_LIB_FLAGS  =       
10141 ESMF_IO_LIB     =       ESMFIOLIB
10142 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10143 INCLUDE_MODULES =       -module ../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10144                         -I../external -I../frame -I../share -I../phys -I../inc -I../chem
10145 PERL            =       perl
10146 REGISTRY        =       Registry
10147 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10148                         -L../external/io_grib1 -lio_grib1 \
10149                         CONFIGURE_GRIB2_LIB \
10150                         -L../external/io_grib_share -lio_grib_share \
10151                         -L../external/io_int -lwrfio_int \
10152                         ../frame/module_internal_header_util.o ../frame/pack_utils.o \
10153                         -L../external/esmf_time_f90 -lesmf_time 
10154 # add this to LIB to use XT3 iobuf library after loading iobuf module, also requires
10155 # properly built netCDF library that includes iobuf
10156 #                       $(IOBUF_POST_LINK_OPTS)
10157 LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
10158 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10159 CPP             =       /lib/cpp -C -P -traditional
10160 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10161 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
10162 AR              =       ar ru
10163 M4              =       m4 -B 14000
10164 RANLIB          =       ranlib
10165 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10166 CC_TOOLS        =       gcc
10168 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10170 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10171         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10172           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10174 module_dm.F : ../external/RSL_LITE/module_dm.F
10175         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10177 wrfio_nf :
10178         ( cd ../external/io_netcdf ; \
10179           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10181 wrfio_grib_share :
10182         ( cd ../external/io_grib_share ; \
10183           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10185 wrfio_grib1 :
10186         ( cd ../external/io_grib1 ; \
10187           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10189 wrfio_grib2 :
10190         ( cd ../external/io_grib2 ; \
10191           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
10193 wrfio_int :
10194         ( cd ../external/io_int ; \
10195           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
10197 esmf_time : 
10198         ( cd ../external/esmf_time_f90 ; \
10199           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10201 ../external/RSL_LITE/librsl_lite.a :
10202         ( cd ../external/RSL_LITE ; make CC="$(CC) $(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10204 # compile these without high optimization to speed compile
10205 solve_interface.o : solve_interface.F
10206 shift_domain_em.o : shift_domain_em.F
10207 module_io_mm5.o : module_io_mm5.F
10208 module_si_io.o : module_si_io.F
10209 module_io_wrf.o : module_io_wrf.F
10210 module_domain.o : module_domain.F
10211 module_start.o : module_start.F
10212 module_initialize.o : module_initialize.F
10213 module_initialize_b_wave.o : module_initialize_b_wave.F
10214 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10215 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10216 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10217 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10218 module_initialize_real.o : module_initialize_real.F
10219 module_dm.o : module_dm.F
10220 start_domain.o : start_domain.F
10221 solve_em.o : solve_em.F
10222 mediation_integrate.o : mediation_integrate.F
10223 module_configure.o : module_configure.F
10225 solve_interface.o                                              \
10226 shift_domain_em.o                                              \
10227 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10228 module_start.o module_initialize.o module_initialize_b_wave.o  \
10229 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10230 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10231 mediation_integrate.o \
10232 solve_em.o \
10233 module_configure.o                                             \
10234 module_initialize_real.o module_dm.o start_domain.o :
10235         $(RM) $@
10236         $(SED_FTN) $*.F > $*.b 
10237         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10238         $(RM) $*.b
10239         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10241 ###########################################################
10242 #ARCH    NEC SX-8, NEC SX cross compiler DM-Parallel (RSL, Allows nesting)
10244 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10245 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10247 DMPARALLEL      =       1
10248 MAX_PROC        =       1024
10249 FC              =       sxmpif90
10250 LD              =       sxmpif90
10251 CC              =       sxmpic++
10252 SCC             =       sxmpic++
10253 SFC             =       sxmpif90
10254 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10255 PROMOTION       =       
10256 CFLAGS          =       -DNCARIBM_NOC99 -DDM_PARALLEL -DWRF_RSL_IO \
10257                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL/RSL
10258 FCOPTIM         =       
10259 FCDEBUG         =       #-g
10260 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10261 FCBASEOPTS      =       -f4 -Wf,-P i $(FCDEBUG)
10262 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10263 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DWRF_RSL_IO -DRSL -DDM_PARALLEL \
10264                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10265                         -DLIMIT_ARGS
10266 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10267 ESMF_LIB_FLAGS  =       
10268 ESMF_IO_LIB     =       ESMFIOLIB
10269 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10270 INCLUDE_MODULES =       -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10271                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10272 PERL            =       perl
10273 REGISTRY        =       Registry
10274 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL/RSL -lrsl \
10275                         -L../external/io_grib1 -lio_grib1 \
10276                         -L../external/io_int -lwrfio_int \
10277                         -L../external/io_grib_share -lio_grib_share \
10278                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
10279 LDFLAGS         =       $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
10280 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10281 CPP             =       /lib/cpp -C -P -traditional
10282 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10283 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL/RSL -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
10284 AR_BASE         =       sxar
10285 AR              =       $(AR_BASE) ru
10286 M4              =       m4 -B 14000
10287 RANLIB          =       sxar rs
10288 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10289 CC_TOOLS        =       cc
10291 #### Override default sed command and script for Fortran source files         ####
10292 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10293 #### because the Fortran compiler complains about long source lines.          ####
10294 SED_FTN = sed -f ../arch/no_file_line.sed
10296 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 ../external/RSL/RSL/librsl.a wrfio_int gen_comms.c module_dm.F esmf_time
10298 gen_comms.c : ../external/RSL/gen_comms.c
10299         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10300           cat ../external/RSL/gen_comms.c >> ../tools/gen_comms.c )
10302 module_dm.F : ../external/RSL/module_dm.F
10303         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL/module_dm.F >> module_dm.F )
10305 wrfio_nf : 
10306         ( cd ../external/io_netcdf ; \
10307           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
10309 wrfio_grib_share :
10310         ( cd ../external/io_grib_share ; \
10311           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10313 wrfio_grib1 :
10314         ( cd ../external/io_grib1 ; \
10315           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10317 wrfio_grib2 :
10318         ( cd ../external/io_grib2 ; \
10319           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10321 wrfio_int : 
10322         ( cd ../external/io_int ; \
10323           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
10325 esmf_time : 
10326         ( cd ../external/esmf_time_f90 ; \
10327           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
10329 ../external/RSL/RSL/librsl.a :
10330         ( cd ../external/RSL/RSL ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST sx )
10332 # compile these without high optimization to speed compile
10333 solve_interface.o : solve_interface.F
10334 shift_domain_em.o : shift_domain_em.F
10335 module_io_mm5.o : module_io_mm5.F
10336 module_si_io.o : module_si_io.F
10337 module_io_wrf.o : module_io_wrf.F
10338 module_domain.o : module_domain.F
10339 module_start.o : module_start.F
10340 module_initialize.o : module_initialize.F
10341 module_initialize_b_wave.o : module_initialize_b_wave.F
10342 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10343 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10344 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10345 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10346 module_initialize_real.o : module_initialize_real.F
10347 module_dm.o : module_dm.F
10348 start_domain.o : start_domain.F
10349 mediation_integrate.o : mediation_integrate.F
10350 module_configure.o : module_configure.F
10352 solve_interface.o                                              \
10353 shift_domain_em.o                                              \
10354 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10355 module_start.o module_initialize.o module_initialize_b_wave.o  \
10356 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10357 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10358 module_configure.o                                             \
10359 mediation_integrate.o \
10360 module_initialize_real.o module_dm.o start_domain.o :
10361         $(RM) $@
10362         $(SED_FTN) $*.F > $*.b 
10363         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10364         $(RM) $*.b
10365         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10366 #       if [ ! -e $@ ] ; then \
10367 #       sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10368 #       fi
10369 #       if [ ! -e $@ ] ; then \
10370 #       sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10371 #       fi
10372 #       if [ ! -e $@ ] ; then \
10373 #       sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10374 #       fi
10376 ###########################################################
10377 #ARCH    NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
10379 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10380 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10382 DMPARALLEL      =       1
10383 MAX_PROC        =       1024
10384 FC              =       sxmpif90
10385 LD              =       sxmpif90
10386 CC              =       sxmpic++
10387 SCC             =       sxmpic++
10388 SFC             =       sxmpif90
10389 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10390 PROMOTION       =       
10391 CFLAGS          =       -DNCARIBM_NOC99 -DDM_PARALLEL \
10392                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10393 FCOPTIM         =       
10394 FCDEBUG         =       #-g
10395 #FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
10396 FCBASEOPTS      =       -f4 -Wf,-P i $(FCDEBUG)
10397 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10398 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
10399                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10400                         -DLIMIT_ARGS
10401 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10402 ESMF_LIB_FLAGS  =       
10403 ESMF_IO_LIB     =       ESMFIOLIB
10404 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10405 INCLUDE_MODULES =       -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10406                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10407 PERL            =       perl
10408 REGISTRY        =       Registry
10409 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10410                         -L../external/io_grib1 -lio_grib1 \
10411                         -L../external/io_int -lwrfio_int \
10412                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
10413 LDFLAGS         =       $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
10414 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10415 CPP             =       /lib/cpp -C -P -traditional
10416 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10417 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
10418 AR_BASE         =       sxar
10419 AR              =       $(AR_BASE) ru
10420 M4              =       m4 -B 14000
10421 RANLIB          =       sxar rs
10422 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10423 CC_TOOLS        =       cc
10425 #### Override default sed command and script for Fortran source files         ####
10426 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10427 #### because the Fortran compiler complains about long source lines.          ####
10428 SED_FTN = sed -f ../arch/no_file_line.sed
10430 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10432 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10433         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10434           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10436 module_dm.F : ../external/RSL_LITE/module_dm.F
10437         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10439 wrfio_nf : 
10440         ( cd ../external/io_netcdf ; \
10441           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
10443 wrfio_grib_share :
10444         ( cd ../external/io_grib_share ; \
10445           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10447 wrfio_grib1 :
10448         ( cd ../external/io_grib1 ; \
10449           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10451 wrfio_grib2 :
10452         ( cd ../external/io_grib2 ; \
10453           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
10455 wrfio_int : 
10456         ( cd ../external/io_int ; \
10457           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
10459 esmf_time : 
10460         ( cd ../external/esmf_time_f90 ; \
10461           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
10463 ../external/RSL_LITE/librsl_lite.a :
10464         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
10466 # compile these without high optimization to speed compile
10467 solve_interface.o : solve_interface.F
10468 shift_domain_em.o : shift_domain_em.F
10469 module_io_mm5.o : module_io_mm5.F
10470 module_si_io.o : module_si_io.F
10471 module_io_wrf.o : module_io_wrf.F
10472 module_domain.o : module_domain.F
10473 module_start.o : module_start.F
10474 module_initialize.o : module_initialize.F
10475 module_initialize_b_wave.o : module_initialize_b_wave.F
10476 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10477 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10478 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10479 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10480 module_initialize_real.o : module_initialize_real.F
10481 module_dm.o : module_dm.F
10482 start_domain.o : start_domain.F
10483 mediation_integrate.o : mediation_integrate.F
10484 module_configure.o : module_configure.F
10486 solve_interface.o                                              \
10487 shift_domain_em.o                                              \
10488 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10489 module_start.o module_initialize.o module_initialize_b_wave.o  \
10490 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10491 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10492 module_configure.o                                             \
10493 mediation_integrate.o \
10494 module_initialize_real.o module_dm.o start_domain.o :
10495         $(RM) $@
10496         $(SED_FTN) $*.F > $*.b 
10497         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10498         $(RM) $*.b
10499         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10500 #       if [ ! -e $@ ] ; then \
10501 #       sleep 10 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10502 #       fi
10503 #       if [ ! -e $@ ] ; then \
10504 #       sleep 30 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10505 #       fi
10506 #       if [ ! -e $@ ] ; then \
10507 #       sleep 300 ; $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90 ; \
10508 #       fi
10511 ###########################################################
10512 #ARCH    CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler  (Single-threaded, no nesting)
10514 FC              =       g95
10515 LD              =       g95
10516 CC              =       gcc
10517 SCC             =       $(CC)
10518 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10519 SFC             =       $(FC)
10520 # g95 does not like -r8. if you want -r8, just add it to PROMOTION below
10521 #PROMOTION      =       -r$(RWORDSIZE) -i4
10522 PROMOTION       =       -i4
10523 CFLAGS          =
10524 FCOPTIM         =       -O2
10525 FCDEBUG         =       #-g
10526 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10527 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10528 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10529                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10530                         -DLIMIT_ARGS -DG95
10531 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10532 ESMF_LIB_FLAGS  =       
10533 ESMF_IO_LIB     =       ESMFIOLIB
10534 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10535 INCLUDE_MODULES =       -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10536                         -I../frame -I../share -I../phys -I../chem -I../inc
10537 PERL            =       perl
10538 REGISTRY        =       Registry
10539 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
10540                         -L../external/io_grib1 -lio_grib1 \
10541                         CONFIGURE_GRIB2_LIB \
10542                         -L../external/io_grib_share -lio_grib_share \
10543                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
10544 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
10545 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10546 CPP             =       cpp -C -P -traditional
10547 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10548 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10549 AR              =       ar ru
10550 M4              =       m4 -B 14000
10551 RANLIB          =       ranlib
10552 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10553 CC_TOOLS        =       $(CC)
10555 #### Override default sed command and script for Fortran source files         ####
10556 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10557 #### because the Fortran compiler complains about long source lines.          ####
10558 SED_FTN = sed -f ../arch/no_file_line.sed
10560 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10562 module_dm.F :
10563         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10565 wrfio_nf : 
10566         ( cd ../external/io_netcdf ; \
10567           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10569 wrfio_grib_share :
10570         ( cd ../external/io_grib_share ; \
10571           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10573 wrfio_grib1 :
10574         ( cd ../external/io_grib1 ; \
10575           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10577 wrfio_grib2 :
10578         ( cd ../external/io_grib2 ; \
10579           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
10582 wrfio_int : 
10583         ( cd ../external/io_int ; \
10584           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10585           TRADFLAG="-traditional" all )
10587 esmf_time : 
10588         ( cd ../external/esmf_time_f90 ; \
10589           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10591 # compile these without high optimization to speed compile
10592 solve_interface.o : solve_interface.F
10593 shift_domain_em.o : shift_domain_em.F
10594 module_io_mm5.o : module_io_mm5.F
10595 module_si_io.o : module_si_io.F
10596 module_io_wrf.o : module_io_wrf.F
10597 module_domain.o : module_domain.F
10598 module_start.o : module_start.F
10599 module_initialize.o : module_initialize.F
10600 module_initialize_b_wave.o : module_initialize_b_wave.F
10601 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10602 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10603 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10604 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10605 module_initialize_real.o : module_initialize_real.F
10606 module_dm.o : module_dm.F
10607 start_domain.o : start_domain.F
10608 mediation_integrate.o : mediation_integrate.F
10609 module_configure.o : module_configure.F
10611 solve_interface.o                                              \
10612 shift_domain_em.o                                              \
10613 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10614 module_start.o module_initialize.o module_initialize_b_wave.o  \
10615 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10616 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10617 mediation_integrate.o \
10618 module_configure.o                                             \
10619 module_initialize_real.o module_dm.o start_domain.o :
10620         $(RM) $@
10621         $(SED_FTN) $*.F > $*.b 
10622         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10623         $(RM) $*.b
10624         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10626 ###########################################################
10627 #ARCH    PC Linux i486 i586 i686, g95 compiler  (Single-threaded, no nesting)
10629 FC              =       g95
10630 LD              =       g95
10631 CC              =       gcc
10632 SCC             =       $(CC)
10633 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10634 SFC             =       $(FC)
10635 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10636 #PROMOTION      =       -r$(RWORDSIZE) -i4
10637 PROMOTION       =       -i4
10638 CFLAGS          =       
10639 FCOPTIM         =       -O2 # -fast
10640 FCDEBUG         =       #-g -O0
10641 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10642 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10643 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10644                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10645                         -DLIMIT_ARGS -DG95
10646 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10647 ESMF_LIB_FLAGS  =       
10648 ESMF_IO_LIB     =       ESMFIOLIB
10649 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10650 INCLUDE_MODULES =       -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10651                         -I../frame -I../share -I../phys -I../chem -I../inc
10652 PERL            =       perl
10653 REGISTRY        =       Registry
10654 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
10655                         -L../external/io_grib1 -lio_grib1 \
10656                         CONFIGURE_GRIB2_LIB \
10657                         -L../external/io_grib_share -lio_grib_share \
10658                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
10659 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
10660 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10661 CPP             =       /lib/cpp -C -P -traditional
10662 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10663 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10664 AR              =       ar ru
10665 M4              =       m4 -B 14000
10666 RANLIB          =       ranlib
10667 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10668 CC_TOOLS        =       $(CC)
10670 #### Override default sed command and script for Fortran source files         ####
10671 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10672 #### because the Fortran compiler complains about long source lines.          ####
10673 SED_FTN = sed -f ../arch/no_file_line.sed
10675 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10677 module_dm.F :
10678         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10680 wrfio_nf : 
10681         ( cd ../external/io_netcdf ; \
10682           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10684 wrfio_grib_share :
10685         ( cd ../external/io_grib_share ; \
10686           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10688 wrfio_grib1 :
10689         ( cd ../external/io_grib1 ; \
10690           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10692 wrfio_grib2 :
10693         ( cd ../external/io_grib2 ; \
10694           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive )
10696 wrfio_int : 
10697         ( cd ../external/io_int ; \
10698           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10699           TRADFLAG="-traditional" all )
10701 esmf_time : 
10702         ( cd ../external/esmf_time_f90 ; \
10703           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10705 # compile these without high optimization to speed compile
10706 solve_interface.o : solve_interface.F
10707 shift_domain_em.o : shift_domain_em.F
10708 module_io_mm5.o : module_io_mm5.F
10709 module_si_io.o : module_si_io.F
10710 module_io_wrf.o : module_io_wrf.F
10711 module_domain.o : module_domain.F
10712 module_start.o : module_start.F
10713 module_initialize.o : module_initialize.F
10714 module_initialize_b_wave.o : module_initialize_b_wave.F
10715 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10716 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10717 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10718 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10719 module_initialize_real.o : module_initialize_real.F
10720 module_dm.o : module_dm.F
10721 start_domain.o : start_domain.F
10722 mediation_integrate.o : mediation_integrate.F
10723 module_configure.o : module_configure.F
10725 solve_interface.o                                              \
10726 shift_domain_em.o                                              \
10727 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10728 module_start.o module_initialize.o module_initialize_b_wave.o  \
10729 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10730 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10731 mediation_integrate.o \
10732 module_configure.o                                             \
10733 module_initialize_real.o module_dm.o start_domain.o :
10734         $(RM) $@
10735         $(SED_FTN) $*.F > $*.b 
10736         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10737         $(RM) $*.b
10738         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10740 ###########################################################
10741 #ARCH     PC Linux i486 i586 i686, g95 compiler  DM-Parallel (RSL_LITE, MPICH, Allows nesting)
10743 # Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
10744 #        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
10746 DMPARALLEL      =       1
10747 MAX_PROC        =       1024
10748 FC              =       mpif90 -f90=g95
10749 LD              =       mpif90 -f90=g95
10750 CC              =       mpicc -cc=gcc
10751 SCC             =       gcc
10752 SFC             =       g95
10753 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10754 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10755 #PROMOTION      =       -r$(RWORDSIZE) -i4
10756 PROMOTION       =       -i4
10757 CFLAGS          =       -DDM_PARALLEL \
10758                         -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I../external/RSL_LITE
10759 FCOPTIM         =       -O2 # -fast
10760 FCDEBUG         =       #-g -O0
10761 FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
10762 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10763 ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DDM_PARALLEL \
10764                         -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
10765                         -DLIMIT_ARGS -DNMM_NEST=$(WRF_NMM_NEST) -DG95
10766 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10767 ESMF_LIB_FLAGS  =       
10768 ESMF_IO_LIB     =       ESMFIOLIB
10769 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10770 INCLUDE_MODULES =       -fmod=../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10771                         -I../external -I../frame -I../share -I../phys -I../chem -I../inc
10772 PERL            =       perl
10773 REGISTRY        =       Registry
10774 LIB             =       CONFIGURE_NETCDF_LIB_PATH -L../external/RSL_LITE -lrsl_lite \
10775                         -L../external/io_grib1 -lio_grib1 \
10776                         CONFIGURE_GRIB2_LIB \
10777                         -L../external/io_grib_share -lio_grib_share \
10778                         -L../external/io_int -lwrfio_int \
10779                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time 
10780 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
10781 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10782 CPP             =       /lib/cpp -C -P -traditional
10783 POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10784 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I../external/RSL_LITE -C -P `cat ../inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF)
10785 AR              =       ar ru
10786 M4              =       m4 -B 14000
10787 RANLIB          =       ranlib
10788 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10789 CC_TOOLS        =       cc
10791 #### Override default sed command and script for Fortran source files         ####
10792 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10793 #### because the Fortran compiler complains about long source lines.          ####
10794 SED_FTN = sed -f ../arch/no_file_line.sed
10796 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 ../external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time
10798 gen_comms.c : ../external/RSL_LITE/gen_comms.c
10799         ( /bin/cp ../tools/gen_comms_warning ../tools/gen_comms.c ; \
10800           cat ../external/RSL_LITE/gen_comms.c >> ../tools/gen_comms.c )
10802 module_dm.F : ../external/RSL_LITE/module_dm.F
10803         ( /bin/cp module_dm_warning module_dm.F ; cat ../external/RSL_LITE/module_dm.F >> module_dm.F )
10805 wrfio_nf : 
10806         ( cd ../external/io_netcdf ; \
10807           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10809 wrfio_grib_share :
10810         ( cd ../external/io_grib_share ; \
10811           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10813 wrfio_grib1 :
10814         ( cd ../external/io_grib1 ; \
10815           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10817 wrfio_grib2 :
10818         ( cd ../external/io_grib2 ; \
10819           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-Mfixed" archive)
10821 wrfio_int : 
10822         ( cd ../external/io_int ; \
10823           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
10825 esmf_time : 
10826         ( cd ../external/esmf_time_f90 ; \
10827           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10829 ../external/RSL_LITE/librsl_lite.a :
10830         ( cd ../external/RSL_LITE ; make CC="$(CC)" FC="$(FC) $(FCFLAGS) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
10832 # compile these without high optimization to speed compile
10833 solve_interface.o : solve_interface.F
10834 shift_domain_em.o : shift_domain_em.F
10835 module_io_mm5.o : module_io_mm5.F
10836 module_si_io.o : module_si_io.F
10837 module_io_wrf.o : module_io_wrf.F
10838 module_domain.o : module_domain.F
10839 module_start.o : module_start.F
10840 module_initialize.o : module_initialize.F
10841 module_initialize_b_wave.o : module_initialize_b_wave.F
10842 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10843 module_initialize_fire.o : module_initialize_fire.F
10844 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10845 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10846 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10847 module_initialize_real.o : module_initialize_real.F
10848 module_dm.o : module_dm.F
10849 start_domain.o : start_domain.F
10850 mediation_integrate.o : mediation_integrate.F
10851 module_configure.o : module_configure.F
10853 shift_domain_em.o                                              \
10854 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10855 module_start.o module_initialize.o module_initialize_b_wave.o  \
10856 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10857 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10858 module_configure.o                                             \
10859 mediation_integrate.o \
10860 module_initialize_real.o module_dm.o start_domain.o :
10861         $(RM) $@
10862         $(SED_FTN) $*.F > $*.b 
10863         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10864         $(RM) $*.b
10865         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10867 ###########################################################
10868 #ARCH    Darwin Intel, g95 compiler  (Single-threaded, no nesting, debug)
10870 FC              =       g95 -g
10871 LD              =       g95 -g
10872 CC              =       gcc -g
10873 SCC             =       $(CC)
10874 RWORDSIZE       =       $(NATIVE_RWORDSIZE)
10875 SFC             =       $(FC)
10876 # g95 does not like -r4. if you want promotion to -r8 add it to PROMOTION below
10877 #PROMOTION      =       -r$(RWORDSIZE) -i4
10878 PROMOTION       =       -i4
10879 CFLAGS          =       -w -DF2CSTYLE -DMACOS
10880 FCOPTIM         =       -O0 # -fast
10881 FCDEBUG         =       -g -O0
10882 FCBASEOPTS      =       -Wno=101,139,155,158 -fendian=big -ffree-form -ffree-line-length-huge $(FCDEBUG) # -Mlfs
10883 FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
10884 ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
10885                          CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
10886                         -DLIMIT_ARGS -DG95 -DMACOS
10887 # machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
10888 ESMF_LIB_FLAGS  =
10889 ESMF_IO_LIB     =       ESMFIOLIB
10890 ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
10891 INCLUDE_MODULES =       -fmod=../main -I../main -I../external/io_netcdf -I../external/io_int -I../external/esmf_time_f90 \
10892                         -I../frame -I../share -I../phys -I../chem -I../inc
10893 PERL            =       perl
10894 REGISTRY        =       Registry
10895 LIB             =       CONFIGURE_NETCDF_LIB_PATH \
10896                         -L../external/io_grib1 -lio_grib1 \
10897                         CONFIGURE_GRIB2_LIB \
10898                         -L../external/io_grib_share -lio_grib_share \
10899                         ../frame/module_internal_header_util.o ../frame/pack_utils.o -L../external/esmf_time_f90 -lesmf_time
10900 LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
10901 ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
10902 CPP             =       cpp -C -P -traditional
10903 POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
10904 CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
10905 AR              =       ar ru
10906 M4              =       m4 -B 14000
10907 RANLIB          =       ranlib
10908 NETCDFPATH      =       CONFIGURE_NETCDF_PATH
10909 CC_TOOLS        =       $(CC)
10911 #### Override default sed command and script for Fortran source files         ####
10912 #### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
10913 #### because the Fortran compiler complains about long source lines.          ####
10914 SED_FTN = sed -f ../arch/no_file_line.sed
10916 externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time
10918 module_dm.F :
10919         ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
10921 wrfio_nf :
10922         ( cd ../external/io_netcdf ; \
10923           make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
10925 wrfio_grib_share :
10926         ( cd ../external/io_grib_share ; \
10927           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
10929 wrfio_grib1 :
10930         ( cd ../external/io_grib1 ; \
10931           make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
10933 wrfio_grib2 :
10934         ( cd ../external/io_grib2 ; \
10935           make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" FIXED="-ffixed-form" archive)
10937 wrfio_int :
10938         ( cd ../external/io_int ; \
10939           make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
10940           TRADFLAG="-traditional" all )
10942 esmf_time :
10943         ( cd ../external/esmf_time_f90 ; \
10944           make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I../../inc -I. $(POUND_DEF)" )
10946 # compile these without high optimization to speed compile
10947 solve_interface.o : solve_interface.F
10948 shift_domain_em.o : shift_domain_em.F
10949 module_io_mm5.o : module_io_mm5.F
10950 module_si_io.o : module_si_io.F
10951 module_io_wrf.o : module_io_wrf.F
10952 module_domain.o : module_domain.F
10953 module_start.o : module_start.F
10954 module_initialize.o : module_initialize.F
10955 module_initialize_b_wave.o : module_initialize_b_wave.F
10956 module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
10957 module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
10958 module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
10959 module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
10960 module_initialize_real.o : module_initialize_real.F
10961 module_dm.o : module_dm.F
10962 start_domain.o : start_domain.F
10963 mediation_integrate.o : mediation_integrate.F
10964 module_configure.o : module_configure.F
10966 solve_interface.o                                              \
10967 shift_domain_em.o                                              \
10968 module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
10969 module_start.o module_initialize.o module_initialize_b_wave.o  \
10970 module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
10971 module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
10972 mediation_integrate.o \
10973 module_configure.o                                             \
10974 module_initialize_real.o module_dm.o start_domain.o :
10975         $(RM) $@
10976         $(SED_FTN) $*.F > $*.b
10977         $(CPP) -I../inc $(CPPFLAGS) $*.b  > $*.f90
10978         $(RM) $*.b
10979         $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
10981 ##################################################################
10982 #ARCH  NULL