source: trunk/WRF.COMMON/WRFV3/arch/configure_old.defaults @ 3567

Last change on this file since 3567 was 2759, checked in by aslmd, 2 years ago

adding unmodified code from WRFV3.0.1.1, expurged from useless data +1M size

File size: 169.4 KB
RevLine 
[2759]1##########################################################
2#ARCH   SGI 32 bit machine IRIX
3
4FC              =       f90
5SFC             =       $(FC)
6LD              =       f90
7CC              =       cc
8SCC             =       $(CC)
9RWORDSIZE       =       CONFIGURE_RWORDSIZE
10FCDEBUG         =       # -g
11FCBASEOPTS      =       -freeform -I. -w
12FCFLAGS         =       $(FCBASEOPTS)
13PROMOTION       =       -r$(RWORDSIZE) -i4
14CFLAGS          =
15# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
16ESMF_LIB_FLAGS  =       
17ESMF_IO_LIB     =       ESMFIOLIB
18ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
19INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
20                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
21ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DLIMIT_ARGS $(DA_ARCHFLAGS)
22LDFLAGS         =       CONFIGURE_LDFLAGS
23ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
24CPP             =       /lib/cpp -C -P
25POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
26CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
27PERL            =       CONFIGURE_PERL_PATH
28REGISTRY        =       Registry
29LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
30                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
31                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
32                        CONFIGURE_GRIB2_LIB \
33                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
34AR              =       ar ru
35M4              =       m4 -B14000
36RANLIB          =       echo
37NETCDFPATH      =       CONFIGURE_NETCDF_PATH
38CC_TOOLS        =       $(CC)
39
40#### Override default sed command and script for Fortran source files         ####
41#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
42#### because the SGI Fortran compiler complains about long source lines.      ####
43SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
44
45externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
46
47module_dm.F :
48        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
49
50wrfio_nf :
51        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
52        make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) -freeform -I." RANLIB="$(RANLIB)" CPP="$(CPP)" )
53
54wrfio_int :
55        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
56          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
57
58wrfio_grib_share :
59        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
60          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
61
62wrfio_grib1 :
63        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
64          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
65
66wrfio_grib2 :
67        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
68          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
69
70esmf_time :
71        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
72          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
73
74fftpack :
75        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
76          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
77
78# compile these without high optimization to speed compile
79solve_interface.o : solve_interface.F
80shift_domain_em.o : shift_domain_em.F
81module_configure.o : module_configure.F
82module_io_mm5.o : module_io_mm5.F
83module_si_io.o : module_si_io.F
84module_io_wrf.o : module_io_wrf.F
85module_domain.o : module_domain.F
86module_start.o : module_start.F
87module_initialize.o : module_initialize.F
88module_initialize_b_wave.o : module_initialize_b_wave.F
89module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
90module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
91module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
92module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
93module_initialize_real.o : module_initialize_real.F
94module_dm.o : module_dm.F
95module_comm_dm.o : module_comm_dm.F
96start_domain.o : start_domain.F
97
98solve_interface.o                                              \
99shift_domain_em.o                                              \
100module_configure.o                                             \
101module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
102module_start.o module_initialize.o module_initialize_b_wave.o  \
103module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
104module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
105module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
106        $(RM) $@
107        $(SED_FTN) $*.F > $*.b
108        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
109        $(RM) $*.b
110        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
111
112
113###########################################################
114#ARCH   SGI 32 bit machine, sycamore IRIX
115
116FC              =       f90
117SFC             =       $(FC)
118CC              =       cc
119SCC             =       $(CC)
120RWORDSIZE       =       CONFIGURE_RWORDSIZE
121FCDEBUG         =       # -g
122FCBASEOPTS      =       -freeform -I. -w
123FCFLAGS         =       -freeform -I. -w
124PROMOTION       =       -r$(RWORDSIZE) -i4
125CFLAGS          =
126# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
127ESMF_LIB_FLAGS  =       
128ESMF_IO_LIB     =       ESMFIOLIB
129ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
130INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem  \
131                        -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -I$(WRF_SRC_ROOT_DIR)/inc
132ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
133                        $(DA_ARCHFLAGS) \
134                        -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
135LDFLAGS         =       CONFIGURE_LDFLAGS
136ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
137CPP             =       /lib/cpp
138POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
139CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
140PERL            =       CONFIGURE_PERL_PATH
141REGISTRY        =       Registry
142LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
143                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
144                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
145                        CONFIGURE_GRIB2_LIB \
146                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
147AR              =       ar ru
148M4              =       m4 -B14000
149RANLIB          =       echo
150NETCDFPATH      =       CONFIGURE_NETCDF_PATH
151CC_TOOLS        =       $(CC)
152
153#### Override default sed command and script for Fortran source files         ####
154#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
155#### because the SGI Fortran compiler complains about long source lines.      ####
156SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
157
158externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
159
160module_dm.F :
161        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
162
163wrfio_nf :
164        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
165
166wrfio_int :
167        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
168          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
169
170wrfio_grib_share :
171        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
172          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
173
174wrfio_grib1 :
175        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
176          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
177
178wrfio_grib2 :
179        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
180          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
181
182esmf_time :
183        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
184          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
185
186fftpack :
187        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
188          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
189
190# compile these without high optimization to speed compile
191solve_interface.o : solve_interface.F
192shift_domain_em.o : shift_domain_em.F
193module_configure.o : module_configure.F
194module_io_mm5.o : module_io_mm5.F
195module_si_io.o : module_si_io.F
196module_io_wrf.o : module_io_wrf.F
197module_domain.o : module_domain.F
198module_start.o : module_start.F
199module_initialize.o : module_initialize.F
200module_initialize_b_wave.o : module_initialize_b_wave.F
201module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
202module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
203module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
204module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
205module_initialize_real.o : module_initialize_real.F
206module_dm.o : module_dm.F
207module_comm_dm.o : module_comm_dm.F
208start_domain.o : start_domain.F
209
210solve_interface.o                                              \
211shift_domain_em.o                                              \
212module_configure.o                                             \
213module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
214module_start.o module_initialize.o module_initialize_b_wave.o  \
215module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
216module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
217module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
218        $(RM) $@
219        $(SED_FTN) $*.F > $*.b
220        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
221        $(RM) $*.b
222        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
223
224###########################################################
225#ARCH       SGI 64 bit machine IRIX64     (single-threaded, no nesting)
226
227FC              =       f90
228SFC             =       $(FC)
229LD              =       f90
230CC              =       cc
231SCC             =       $(CC)
232CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
233FCOPTIM         =       -O3
234RWORDSIZE       =       CONFIGURE_RWORDSIZE
235FCDEBUG         =       # -g
236FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
237FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
238PROMOTION       =       -r$(RWORDSIZE) -i4
239# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
240ESMF_LIB_FLAGS  =       
241ESMF_IO_LIB     =       ESMFIOLIB
242ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
243INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
244                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
245ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
246                        $(DA_ARCHFLAGS) \
247                        CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
248                        -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
249PERL            =       CONFIGURE_PERL_PATH
250REGISTRY        =       Registry
251LIB             =       CONFIGURE_NETCDF_LIB_PATH \
252                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
253                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
254                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
255                        CONFIGURE_GRIB2_LIB \
256                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
257                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
258LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
259ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
260CPP             =       /lib/cpp -C -P
261POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
262CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
263AR              =       ar ru
264M4              =       m4 -B14000
265RANLIB          =       echo
266NETCDFPATH      =       CONFIGURE_NETCDF_PATH
267CC_TOOLS        =       $(CC)
268
269#### Override default sed command and script for Fortran source files         ####
270#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
271#### because the SGI Fortran compiler complains about long source lines.      ####
272SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
273
274externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
275
276module_dm.F :
277        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
278
279wrfio_nf :
280        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH FC="$(FC) $(PROMOTION) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" )
281
282wrfio_int :
283        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
284          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
285
286wrfio_grib_share :
287        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
288          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
289
290wrfio_grib1 :
291        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
292          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
293
294wrfio_grib2 :
295        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
296          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
297
298esmf_time :
299        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
300          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
301
302fftpack :
303        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
304          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
305
306# compile these without high optimization to speed compile
307solve_interface.o : solve_interface.F
308shift_domain_em.o : shift_domain_em.F
309module_io_mm5.o : module_io_mm5.F
310module_si_io.o : module_si_io.F
311module_io_wrf.o : module_io_wrf.F
312module_domain.o : module_domain.F
313module_start.o : module_start.F
314module_initialize.o : module_initialize.F
315module_initialize_b_wave.o : module_initialize_b_wave.F
316module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
317module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
318module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
319module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
320module_initialize_real.o : module_initialize_real.F
321module_dm.o : module_dm.F
322module_comm_dm.o : module_comm_dm.F
323start_domain.o : start_domain.F
324
325solve_interface.o                                              \
326shift_domain_em.o                                              \
327module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
328module_start.o module_initialize.o module_initialize_b_wave.o  \
329module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
330module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
331module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
332        $(RM) $@
333        $(SED_FTN) $*.F > $*.b
334        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
335        $(RM) $*.b
336        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
337
338module_configure.o : module_configure.F
339        $(RM) $@
340        $(SED_FTN) $*.F > $*.b
341        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
342        $(RM) $*.b
343        $(FC) -c $(PROMOTION) -freeform -I. -64 -cpp -OPT:Olimit=5269 -w $(MODULE_DIRS) $*.f90
344
345###########################################################
346#ARCH   SGI O2K IRIX
347
348FC              =       f90 -n32 -mips4 -w
349SFC             =       $(FC)
350LD              =       f90 -n32 -mips4 -w
351CC              =       cc
352SCC             =       $(CC)
353RWORDSIZE       =       CONFIGURE_RWORDSIZE
354PROMOTION       =       -r$(RWORDSIZE) -i4
355CFLAGS          =       -n32 -mips4
356FCDEBUG         =       # -g
357FCBASEOPTS      =       -freeform -I. -w
358FCFLAGS         =       -freeform -I. -O3 -OPT:roundoff=3:IEEE_arithmetic=3 -OPT:fold_arith_limit=2001
359ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
360                        $(DA_ARCHFLAGS) \
361                        -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS
362# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
363ESMF_LIB_FLAGS  =       
364ESMF_IO_LIB     =       ESMFIOLIB
365ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
366INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share \
367                        -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
368PERL            =       CONFIGURE_PERL_PATH
369REGISTRY        =       Registry
370LIB             =       CONFIGURE_NETCDF_LIB_PATH \
371                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
372                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
373                        CONFIGURE_GRIB2_LIB \
374                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
375                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
376AR              =       ar ru
377M4              =       m4 -B14000
378LDFLAGS         =       CONFIGURE_LDFLAGS
379ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
380CPP             =       /lib/cpp -C -P
381POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
382CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -C -P $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
383RANLIB          =       echo
384NETCDFPATH      =       CONFIGURE_NETCDF_PATH
385CC_TOOLS        =       $(CC)
386
387#### Override default sed command and script for Fortran source files         ####
388#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
389#### because the SGI Fortran compiler complains about long source lines.      ####
390SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
391
392externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
393
394module_dm.F :
395        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
396
397wrfio_nf :
398        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
399
400wrfio_int :
401        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
402          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
403
404wrfio_grib_share :
405        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
406          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" archive)
407
408wrfio_grib1 :
409        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
410          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
411
412wrfio_grib2 :
413        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
414          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive)
415
416esmf_time :
417        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
418          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
419
420fftpack :
421        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
422          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
423
424# compile these without high optimization to speed compile
425solve_interface.o : solve_interface.F
426shift_domain_em.o : shift_domain_em.F
427module_configure.o : module_configure.F
428module_io_mm5.o : module_io_mm5.F
429module_si_io.o : module_si_io.F
430module_io_wrf.o : module_io_wrf.F
431module_domain.o : module_domain.F
432module_start.o : module_start.F
433module_initialize.o : module_initialize.F
434module_initialize_b_wave.o : module_initialize_b_wave.F
435module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
436module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
437module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
438module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
439module_initialize_real.o : module_initialize_real.F
440module_dm.o : module_dm.F
441module_comm_dm.o : module_comm_dm.F
442start_domain.o : start_domain.F
443
444solve_interface.o                                              \
445shift_domain_em.o                                              \
446module_configure.o                                             \
447module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
448module_start.o module_initialize.o module_initialize_b_wave.o  \
449module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
450module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
451module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
452        $(RM) $@
453        $(SED_FTN) $*.F > $*.b
454        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
455        $(RM) $*.b
456        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
457
458###########################################################
459#ARCH       SGI 64 bit machine IRIX64     (OpenMP, no nesting)
460
461OMP             =       -mp
462OMPCPP          =       -D_OPENMP
463FC              =       f90
464SFC             =       $(FC)
465LD              =       f90
466CC              =       cc
467SCC             =       $(CC)
468RWORDSIZE       =       CONFIGURE_RWORDSIZE
469PROMOTION       =       -r$(RWORDSIZE) -i4
470CFLAGS          =       -64 -DLANDREAD_STUB -DNCARIBM_NOC99
471FCOPTIM         =       -O3
472FCDEBUG         =       # -g
473FCBASEOPTS      =       -freeform -I. -64 -cpp -OPT:Olimit=5269 $(FCDEBUG) -w
474FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
475# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
476ESMF_LIB_FLAGS  =       
477ESMF_IO_LIB     =       ESMFIOLIB
478ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
479INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
480                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
481ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
482                        $(DA_ARCHFLAGS) \
483                        CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
484                        -DINTIO -DLIMIT_ARGS -DLANDREAD_STUB
485PERL            =       CONFIGURE_PERL_PATH
486REGISTRY        =       Registry
487LIB             =       CONFIGURE_NETCDF_LIB_PATH $(OMP) \
488                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
489                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
490                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
491                        CONFIGURE_GRIB2_LIB \
492                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
493                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
494LDFLAGS         =       $(FCOPTIM) -64 -OPT:Olimit=5269       CONFIGURE_LDFLAGS
495ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
496CPP             =       /lib/cpp -C -P
497POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
498CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
499AR              =       ar ru
500M4              =       m4 -B14000
501RANLIB          =       echo
502NETCDFPATH      =       CONFIGURE_NETCDF_PATH
503CC_TOOLS        =       $(CC)
504
505#### Override default sed command and script for Fortran source files         ####
506#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
507#### because the SGI Fortran compiler complains about long source lines.      ####
508SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
509
510externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
511
512module_dm.F :
513        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
514
515wrfio_nf :
516        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
517
518wrfio_int :
519        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
520          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
521
522wrfio_grib_share :
523        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
524          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" archive)
525
526wrfio_grib1 :
527        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
528          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
529
530wrfio_grib2 :
531        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
532          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -w" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
533
534esmf_time :
535        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
536          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
537
538fftpack :
539        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
540          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
541
542# compile these without high optimization to speed compile
543solve_interface.o : solve_interface.F
544shift_domain_em.o : shift_domain_em.F
545module_configure.o : module_configure.F
546module_io_mm5.o : module_io_mm5.F
547module_si_io.o : module_si_io.F
548module_io_wrf.o : module_io_wrf.F
549module_domain.o : module_domain.F
550module_start.o : module_start.F
551module_initialize.o : module_initialize.F
552module_initialize_b_wave.o : module_initialize_b_wave.F
553module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
554module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
555module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
556module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
557module_initialize_real.o : module_initialize_real.F
558module_dm.o : module_dm.F
559module_comm_dm.o : module_comm_dm.F
560start_domain.o : start_domain.F
561
562solve_interface.o                                              \
563shift_domain_em.o                                              \
564module_configure.o                                             \
565module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
566module_start.o module_initialize.o module_initialize_b_wave.o  \
567module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
568module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
569module_initialize_real.o module_dm.o module_comm_dm.o  start_domain.o :
570        $(RM) $@
571        $(SED_FTN) $*.F > $*.b
572        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
573        $(RM) $*.b
574        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
575
576###########################################################
577#ARCH   Sun  SunOS      (single-threaded, no nesting)
578#
579FC              =       f95
580SFC             =       $(FC)
581LD              =       f95
582CC              =       cc
583SCC             =       $(CC)
584RWORDSIZE       =       CONFIGURE_RWORDSIZE
585RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
586PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
587CFLAGS          =       -DNCARIBM_NOC99
588FCOPTIM         =       -O2 # -O4 -xlibmopt
589FCDEBUG         =       #-g
590FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) -w
591FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
592# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
593ESMF_LIB_FLAGS  =       
594ESMF_IO_LIB     =       ESMFIOLIB
595ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
596INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
597                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
598                        -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
599                        -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
600                        -M$(WRF_SRC_ROOT_DIR)/dyn_em
601ARCHFLAGS       =       $(COREDEFS) -DINTIO -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
602                        $(DA_ARCHFLAGS) \
603                        CONFIGURE_NETCDF_FLAG \
604                        -DLIMIT_ARGS
605PERL            =       CONFIGURE_PERL_PATH
606REGISTRY        =       Registry
607LIB             =       CONFIGURE_NETCDF_LIB_PATH \
608                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
609                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
610                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
611                        CONFIGURE_GRIB2_LIB \
612                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
613                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
614LDFLAGS         =       $(FCOPTIM)       CONFIGURE_LDFLAGS
615ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
616#CPP            =       /opt/SUNWspro/bin/fpp
617CPP             =       /usr/ccs/lib/cpp -C -P
618POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
619CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
620AR              =       ar ru
621M4              =       m4 -B14000
622RANLIB          =       ranlib
623NETCDFPATH      =       CONFIGURE_NETCDF_PATH
624CC_TOOLS        =       $(CC)
625
626#### Override default sed command and script for Fortran source files         ####
627#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
628#### because the Sun Fortran compiler complains about long source lines,      ####
629#### usually due to cpp translating __FILE__ to a full pathname.              ####
630SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
631
632externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
633
634module_dm.F :
635        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
636
637wrfio_nf :
638        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
639
640wrfio_int :
641        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
642          make CC="$(CC)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" all )
643
644wrfio_grib_share :
645        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
646          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) -qarch=auto -qzerosize" archive)
647
648wrfio_grib1 :
649        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
650          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
651
652wrfio_grib2 :
653        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
654          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
655
656esmf_time :
657        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
658          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
659
660fftpack :
661        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
662          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
663
664solve_interface.o : solve_interface.F
665        $(RM) $@
666        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
667        $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
668
669# compile these without high optimization to speed compile
670shift_domain_em.o : shift_domain_em.F
671module_io_mm5.o : module_io_mm5.F
672module_si_io.o : module_si_io.F
673module_io_wrf.o : module_io_wrf.F
674module_domain.o : module_domain.F
675module_start.o : module_start.F
676module_initialize.o : module_initialize.F
677module_initialize_b_wave.o : module_initialize_b_wave.F
678module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
679module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
680module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
681module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
682module_initialize_real.o : module_initialize_real.F
683mediation_interp_domain.o : mediation_interp_domain.F
684mediation_force_domain.o : mediation_force_domain.F
685module_dm.o : module_dm.F
686module_comm_dm.o : module_comm_dm.F
687start_domain.o : start_domain.F
688wrf_bdyin.o : wrf_bdyin.F
689wrf_bdyout.o : wrf_bdyout.F
690wrf_histin.o : wrf_histin.F
691wrf_histout.o : wrf_histout.F
692wrf_inputin.o : wrf_inputin.F
693wrf_inputout.o : wrf_inputout.F
694wrf_restartin.o : wrf_restartin.F
695wrf_restartout.o : wrf_restartout.F
696module_configure.o : module_configure.F
697
698module_configure.o \
699shift_domain_em.o                                              \
700wrf_bdyin.o wrf_bdyout.o  \
701wrf_histin.o wrf_histout.o  \
702wrf_inputin.o wrf_inputout.o  \
703wrf_restartin.o wrf_restartout.o  \
704module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
705module_start.o module_initialize.o module_initialize_b_wave.o  \
706module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
707module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
708module_initialize_real.o mediation_interp_domain.o \
709mediation_force_domain.o module_dm.o module_comm_dm.o start_domain.o :
710        $(RM) $@
711        $(SED_FTN) $*.F > $*.b
712        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
713        $(RM) $*.b
714        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
715
716###########################################################
717#ARCH   Sun  SunOS SM   (OpenMP, no nesting)
718#
719OMP             =       -mp=openmp -explicitpar -stackvar
720OMPCPP          =       -D_OPENMP
721FC              =       f95
722SFC             =       $(FC)
723LD              =       f95
724CC              =       cc
725SCC             =       $(CC)
726RWORDSIZE       =       CONFIGURE_RWORDSIZE
727RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
728PROMOTION       =       -xtypemap=real:$(RSIZEBITS),integer:32
729CFLAGS          =       -DNCARIBM_NOC99
730FCOPTIM         =       -O3 -xlibmopt
731FCDEBUG         =       #-g
732FCBASEOPTS      =       -fnonstd -free -xpp=cpp $(FCDEBUG) $(OMP) -w
733FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
734# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
735ESMF_LIB_FLAGS  =       
736ESMF_IO_LIB     =       ESMFIOLIB
737ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
738INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
739                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem \
740                        -M$(WRF_SRC_ROOT_DIR)/external/io_netcdf -M$(WRF_SRC_ROOT_DIR)/external/io_int -M$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
741                        -M$(WRF_SRC_ROOT_DIR)/frame -M$(WRF_SRC_ROOT_DIR)/share -M$(WRF_SRC_ROOT_DIR)/phys -M$(WRF_SRC_ROOT_DIR)/inc -M$(WRF_SRC_ROOT_DIR)/chem \
742                        -M$(WRF_SRC_ROOT_DIR)/dyn_em
743ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
744                        $(DA_ARCHFLAGS) \
745                        CONFIGURE_NETCDF_FLAG \
746                        -DLIMIT_ARGS
747PERL            =       CONFIGURE_PERL_PATH
748REGISTRY        =       Registry
749LIB             =       CONFIGURE_NETCDF_LIB_PATH \
750                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
751                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
752                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
753                        CONFIGURE_GRIB2_LIB \
754                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
755                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
756LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
757ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
758#CPP            =       /opt/SUNWspro/bin/fpp
759CPP             =       /usr/ccs/lib/cpp -C -P
760POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
761CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
762AR              =       ar ru
763M4              =       m4 -B14000
764RANLIB          =       ranlib
765NETCDFPATH      =       CONFIGURE_NETCDF_PATH
766CC_TOOLS        =       $(CC)
767
768#### Override default sed command and script for Fortran source files         ####
769#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
770#### because the Sun Fortran compiler complains about long source lines,      ####
771#### usually due to cpp translating __FILE__ to a full pathname.              ####
772SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
773
774externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
775
776module_dm.F :
777        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
778
779wrfio_nf :
780        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS) " )
781
782wrfio_int :
783        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
784          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" all )
785
786wrfio_grib_share :
787        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
788          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" archive)
789
790wrfio_grib1 :
791        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
792          make CC="$(SCC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
793
794wrfio_grib2 :
795        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
796          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" FC="$(SFC) $(PROMOTION) $(FCBASEOPTS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" archive )
797
798esmf_time :
799        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
800          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
801
802fftpack :
803        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
804          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
805
806solve_interface.o : solve_interface.F
807        $(RM) $@
808        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
809        $(FC) -c $(FCBASEOPTS) -I. $(PROMOTION) $(MODULE_DIRS) $*.f90
810
811# compile these without high optimization to speed compile
812shift_domain_em.o : shift_domain_em.F
813module_io_mm5.o : module_io_mm5.F
814module_si_io.o : module_si_io.F
815module_io_wrf.o : module_io_wrf.F
816module_domain.o : module_domain.F
817module_start.o : module_start.F
818module_initialize.o : module_initialize.F
819module_initialize_b_wave.o : module_initialize_b_wave.F
820module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
821module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
822module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
823module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
824module_initialize_real.o : module_initialize_real.F
825module_dm.o : module_dm.F
826module_comm_dm.o : module_comm_dm.F
827start_domain.o : start_domain.F
828module_configure.o : module_configure.F
829
830shift_domain_em.o                                              \
831module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
832module_start.o module_initialize.o module_initialize_b_wave.o  \
833module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
834module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
835module_configure.o                                             \
836module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
837        $(RM) $@
838        $(SED_FTN) $*.F > $*.b
839        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
840        $(RM) $*.b
841        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
842
843###########################################################
844#ARCH       Compaq OSF1 alpha          (single-threaded, no nesting)
845#
846OMP             =       
847OMPCPP          =       
848FC              =       f90
849SFC             =       $(FC)
850LD              =       f90
851CC              =       cc
852SCC             =       $(CC)
853RWORDSIZE       =       CONFIGURE_RWORDSIZE
854RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
855ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
856                        $(DA_ARCHFLAGS) \
857                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
858                        -DLIMIT_ARGS -DFLOATSAFE
859PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
860CFLAGS          =       $(ARCHFLAGS)
861FCOPTIM         =       -fast -O4
862FCDEBUG         =       # -g
863FCDEBUG_ESMF    =       # -O0
864FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
865FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
866FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
867FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
868# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
869ESMF_LIB_FLAGS  =       
870ESMF_IO_LIB     =       ESMFIOLIB
871ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
872INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
873                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
874PERL            =       CONFIGURE_PERL_PATH
875REGISTRY        =       Registry
876LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
877                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
878                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time  \
879                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
880                        CONFIGURE_GRIB2_LIB \
881                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
882LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
883ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
884CPP             =       /usr/bin/cpp -C -P
885POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
886CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
887AR              =       ar ru
888M4              =       m4 -B 14000
889RANLIB          =       ranlib
890NETCDFPATH      =       CONFIGURE_NETCDF_PATH
891CC_TOOLS        =       cc
892
893externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
894
895module_dm.F :
896        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
897
898wrfio_nf :
899        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
900          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
901
902wrfio_int :
903        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
904          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
905
906wrfio_grib_share :
907        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
908          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)
909
910wrfio_grib1 :
911        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
912          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)
913
914wrfio_grib2 :
915        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
916          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)
917
918esmf_time :
919        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
920          make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
921
922fftpack :
923        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
924          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
925
926nest_init_utils.o : nest_init_utils.F
927module_optional_si_input.o : module_optional_si_input.F
928
929nest_init_utils.o module_optional_si_input.o :
930        $(RM) $@
931        $(SED_FTN) $*.F > $*.b
932        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
933        $(RM) $*.b
934        $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
935
936# compile these without high optimization to speed compile
937module_io_mm5.o : module_io_mm5.F
938module_si_io.o : module_si_io.F
939module_io_wrf.o : module_io_wrf.F
940module_domain.o : module_domain.F
941module_start.o : module_start.F
942module_initialize.o : module_initialize.F
943module_initialize_b_wave.o : module_initialize_b_wave.F
944module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
945module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
946module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
947module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
948module_initialize_real.o : module_initialize_real.F
949start_domain.o : start_domain.F
950module_configure.o : module_configure.F
951mediation_interp_domain.o : mediation_interp_domain.F
952mediation_force_domain.o : mediation_force_domain.F
953mediation_feedback_domain.o : mediation_feedback_domain.F
954
955module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
956module_start.o module_initialize.o module_initialize_b_wave.o  \
957module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
958module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
959module_configure.o                                             \
960mediation_interp_domain.o  \
961mediation_force_domain.o  \
962mediation_feedback_domain.o  \
963module_initialize_real.o start_domain.o :
964        $(RM) $@
965        $(SED_FTN) $*.F > $*.b
966        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
967        $(RM) $*.b
968        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
969
970mediation_integrate.o : mediation_integrate.F
971module_dm.o : module_dm.F
972module_comm_dm.o : module_comm_dm.F
973mediation_wrfmain.o : mediation_wrfmain.F
974solve_em.o : solve_em.F
975
976mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
977        $(RM) $@
978        $(SED_FTN) $*.F > $*.b
979        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
980        $(RM) $*.b
981        $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
982
983###########################################################
984#ARCH       Compaq OSF1 alpha SM       (OpenMP, no nesting)
985#
986OMP             =       -omp
987OMPCPP          =       -D_OPENMP
988FC              =       f90
989SFC             =       $(FC)
990LD              =       f90
991CC              =       cc
992SCC             =       $(CC)
993RWORDSIZE       =       CONFIGURE_RWORDSIZE
994RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
995ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
996                        $(DA_ARCHFLAGS) \
997                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
998                        -DLIMIT_ARGS -DFLOATSAFE
999PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
1000CFLAGS          =       $(ARCHFLAGS)
1001FCOPTIM         =       -fast -O4
1002FCDEBUG         =       # -g
1003FCDEBUG_ESMF    =       # -O0
1004FCREAL8OMP      =       -align records -align dcommons -granularity quadword
1005FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG) $(FCREAL8OMP)
1006FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF) $(FCREAL8OMP)
1007FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1008FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
1009# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1010ESMF_LIB_FLAGS  =       
1011ESMF_IO_LIB     =       ESMFIOLIB
1012ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1013INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1014                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1015PERL            =       CONFIGURE_PERL_PATH
1016REGISTRY        =       Registry
1017LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1018                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1019                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1020                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1021                        CONFIGURE_GRIB2_LIB \
1022                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
1023LDFLAGS         =       $(FCOPTIM) $(OMP) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
1024ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1025CPP             =       /usr/bin/cpp -C -P
1026POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1027CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1028AR              =       ar ru
1029M4              =       m4 -B 14000
1030RANLIB          =       ranlib
1031NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1032CC_TOOLS        =       cc
1033
1034externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
1035
1036module_dm.F :
1037        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1038
1039wrfio_nf :
1040        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1041          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCREAL8OMP) -convert big_endian -automatic -cpp -free -w" )
1042
1043wrfio_int :
1044        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1045          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
1046
1047wrfio_grib_share :
1048        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1049          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)
1050
1051wrfio_grib1 :
1052        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1053          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)
1054
1055wrfio_grib2 :
1056        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1057          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)
1058
1059esmf_time :
1060        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1061          make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1062
1063fftpack :
1064        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1065          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1066
1067nest_init_utils.o : nest_init_utils.F
1068module_optional_si_input.o : module_optional_si_input.F
1069
1070nest_init_utils.o module_optional_si_input.o :
1071        $(RM) $@
1072        $(SED_FTN) $*.F > $*.b
1073        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1074        $(RM) $*.b
1075        $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
1076
1077# compile these without high optimization to speed compile
1078module_io_mm5.o : module_io_mm5.F
1079module_si_io.o : module_si_io.F
1080module_io_wrf.o : module_io_wrf.F
1081module_domain.o : module_domain.F
1082module_start.o : module_start.F
1083module_initialize.o : module_initialize.F
1084module_initialize_b_wave.o : module_initialize_b_wave.F
1085module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1086module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1087module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1088module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1089module_initialize_real.o : module_initialize_real.F
1090start_domain.o : start_domain.F
1091module_configure.o : module_configure.F
1092mediation_interp_domain.o : mediation_interp_domain.F
1093mediation_force_domain.o : mediation_force_domain.F
1094mediation_feedback_domain.o : mediation_feedback_domain.F
1095
1096module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1097module_start.o module_initialize.o module_initialize_b_wave.o  \
1098module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1099module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1100module_configure.o                                             \
1101mediation_interp_domain.o  \
1102mediation_force_domain.o  \
1103mediation_feedback_domain.o  \
1104module_initialize_real.o start_domain.o :
1105        $(RM) $@
1106        $(SED_FTN) $*.F > $*.b
1107        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1108        $(RM) $*.b
1109        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1110
1111mediation_integrate.o : mediation_integrate.F
1112module_dm.o : module_dm.F
1113module_comm_dm.o : module_comm_dm.F
1114mediation_wrfmain.o : mediation_wrfmain.F
1115solve_em.o : solve_em.F
1116
1117mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
1118        $(RM) $@
1119        $(SED_FTN) $*.F > $*.b
1120        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1121        $(RM) $*.b
1122        $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
1123
1124###########################################################
1125#ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows ARW and NMM nesting)
1126#
1127# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1128#        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1129#
1130DMPARALLEL      =       1
1131OMP             =
1132OMPCPP          =
1133FC              =       mpif90
1134SFC             =       f90
1135LD              =       mpif90
1136CC              =       mpicc
1137SCC             =       cc
1138RWORDSIZE       =       CONFIGURE_RWORDSIZE
1139RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
1140ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1141                        $(DA_ARCHFLAGS) \
1142                        -DDM_PARALLEL -DRSL_LITE \
1143                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1144                        -DLIMIT_ARGS -DFLOATSAFE \
1145                        -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
1146PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
1147CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
1148FCOPTIM         =       -fast -O4
1149FCDEBUG         =       #-g
1150FCDEBUG_ESMF    =       # -O0
1151FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
1152FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
1153FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1154FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
1155# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1156ESMF_LIB_FLAGS  =       
1157ESMF_IO_LIB     =       ESMFIOLIB
1158ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1159INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1160                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1161PERL            =       CONFIGURE_PERL_PATH
1162REGISTRY        =       Registry
1163LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1164                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1165                        -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite  \
1166                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1167                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1168                        CONFIGURE_GRIB2_LIB \
1169                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
1170LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
1171ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1172CPP             =       /usr/bin/cpp -C -P
1173POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1174CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1175MAX_PROC        =       1024
1176AR              =       ar ru
1177M4              =       m4 -B 14000
1178RANLIB          =       ranlib
1179NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1180CC_TOOLS        =       cc
1181
1182externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
1183
1184gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1185        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
1186          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1187
1188module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1189        ( /bin/cp module_dm_warning module_dm.F ; \
1190          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1191
1192wrfio_nf :
1193        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1194          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
1195
1196wrfio_int :
1197        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1198          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
1199
1200wrfio_grib_share :
1201        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1202          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)
1203
1204wrfio_grib1 :
1205        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1206          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 )
1207
1208wrfio_grib2 :
1209        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1210          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 )
1211
1212esmf_time :
1213        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1214          make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1215
1216fftpack :
1217        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1218          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1219
1220$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1221        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
1222          make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
1223
1224nest_init_utils.o : nest_init_utils.F
1225module_optional_si_input.o : module_optional_si_input.F
1226module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
1227
1228nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
1229        $(RM) $@
1230        $(SED_FTN) $*.F > $*.b
1231        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1232        $(RM) $*.b
1233        $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
1234
1235# compile these without high optimization to speed compile
1236module_io_mm5.o : module_io_mm5.F
1237module_si_io.o : module_si_io.F
1238module_io_wrf.o : module_io_wrf.F
1239module_domain.o : module_domain.F
1240module_start.o : module_start.F
1241module_initialize.o : module_initialize.F
1242module_initialize_b_wave.o : module_initialize_b_wave.F
1243module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1244module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1245module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1246module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1247module_initialize_real.o : module_initialize_real.F
1248start_domain.o : start_domain.F
1249start_domain_nmm.o : start_domain_nmm.F
1250module_configure.o : module_configure.F
1251mediation_interp_domain.o : mediation_interp_domain.F
1252mediation_force_domain.o : mediation_force_domain.F
1253mediation_feedback_domain.o : mediation_feedback_domain.F
1254
1255module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1256module_start.o module_initialize.o module_initialize_b_wave.o  \
1257module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1258module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1259module_configure.o                                             \
1260mediation_interp_domain.o  \
1261mediation_force_domain.o  \
1262mediation_feedback_domain.o  \
1263module_initialize_real.o start_domain.o start_domain_nmm.o :
1264        $(RM) $@
1265        $(SED_FTN) $*.F > $*.b
1266        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1267        $(RM) $*.b
1268        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1269
1270mediation_integrate.o : mediation_integrate.F
1271module_dm.o : module_dm.F
1272module_comm_dm.o : module_comm_dm.F
1273mediation_wrfmain.o : mediation_wrfmain.F
1274solve_em.o : solve_em.F
1275
1276mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
1277        $(RM) $@
1278        $(SED_FTN) $*.F > $*.b
1279        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1280        $(RM) $*.b
1281        $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
1282
1283###########################################################
1284#ARCH       Compaq OSF1 alpha DM/SM    (BUILD FOR AUTODOC ONLY -- DO NOT USE TO COMPILE CODE)
1285#
1286DMPARALLEL      =       1
1287OMP             =
1288OMPCPP          =
1289FC              =       echo # mpif90
1290SFC             =       echo # mpif90
1291LD              =       echo # mpif90
1292CC              =       echo # mpicc
1293SCC             =       echo # cc
1294RWORDSIZE       =       CONFIGURE_RWORDSIZE
1295RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
1296ARCHFLAGS       =       $(COREDEFS) -DAUTODOC_BUILD CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DWRF_RSL_IO \
1297                        $(DA_ARCHFLAGS) \
1298                        -DDM_PARALLEL="'<b>DM_PARALLEL</b>'" -DRSL_LITE="'<b>RSL_LITE</b>'" \
1299                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1300                        -DLIMIT_ARGS -DFLOATSAFE \
1301                        -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -DMOVE_NESTS
1302PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
1303CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
1304FCOPTIM         =       -fast -O4
1305FCDEBUG         =       # -g
1306FCDEBUG_ESMF    =       # -O0
1307FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
1308FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
1309FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1310FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
1311# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1312ESMF_LIB_FLAGS  =       
1313ESMF_IO_LIB     =       ESMFIOLIB
1314ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1315INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1316                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
1317PERL            =       CONFIGURE_PERL_PATH
1318REGISTRY        =       Registry
1319LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1320                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1321                        -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
1322                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1323                        CONFIGURE_GRIB2_LIB \
1324                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1325                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1326LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
1327ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1328CPP             =       /usr/bin/cpp -C -P
1329POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1330CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1331MAX_PROC        =       1024
1332AR              =       ar ru
1333M4              =       m4 -B 14000
1334RANLIB          =       ranlib
1335NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1336CC_TOOLS        =       cc
1337
1338externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
1339
1340gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1341        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
1342          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1343
1344module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1345        ( /bin/cp module_dm_warning module_dm.F ; \
1346          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1347
1348wrfio_nf :
1349        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1350          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
1351
1352wrfio_int :
1353        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1354          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
1355
1356wrfio_grib_share :
1357        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1358          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)
1359
1360wrfio_grib1 :
1361        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1362          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 )
1363
1364wrfio_grib2 :
1365        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1366          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 )
1367
1368esmf_time :
1369        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1370          make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1371
1372fftpack :
1373        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1374          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1375
1376$(WRF_SRC_ROOT_DIR)/external/RSL/RSL/librsl_lite.a :
1377        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
1378          make CC="$(CC)" FC="$(FC) $(PROMOTION)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) all )
1379
1380# compile these without high optimization to speed compile
1381module_io_mm5.o : module_io_mm5.F
1382module_si_io.o : module_si_io.F
1383module_io_wrf.o : module_io_wrf.F
1384module_domain.o : module_domain.F
1385module_start.o : module_start.F
1386module_initialize.o : module_initialize.F
1387module_initialize_b_wave.o : module_initialize_b_wave.F
1388module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1389module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1390module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1391module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1392module_initialize_real.o : module_initialize_real.F
1393start_domain.o : start_domain.F
1394module_configure.o : module_configure.F
1395
1396module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1397module_start.o module_initialize.o module_initialize_b_wave.o  \
1398module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1399module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1400module_configure.o                                             \
1401module_initialize_real.o start_domain.o :
1402        $(RM) $@
1403        $(SED_FTN) $*.F > $*.b
1404        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1405        $(RM) $*.b
1406        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1407
1408mediation_integrate.o : mediation_integrate.F
1409module_dm.o : module_dm.F
1410module_comm_dm.o : module_comm_dm.F
1411mediation_wrfmain.o : mediation_wrfmain.F
1412solve_em.o : solve_em.F
1413
1414mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
1415        $(RM) $@
1416        $(SED_FTN) $*.F > $*.b
1417        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1418        $(RM) $*.b
1419        $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
1420
1421###########################################################
1422#ARCH     Compaq OSF1 alpha DM-Parallel       (RSL_LITE, MPICH, allows ARW and NMM nesting, UNOPT shift_domain)
1423#
1424# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
1425#        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
1426#
1427DMPARALLEL      =       1
1428OMP             =
1429OMPCPP          =
1430FC              =       mpif90
1431SFC             =       f90
1432LD              =       mpif90
1433CC              =       mpicc
1434SCC             =       cc
1435RWORDSIZE       =       CONFIGURE_RWORDSIZE
1436RSIZEBITS       =       `expr $(RWORDSIZE) \* 8`
1437ARCHFLAGS       =       $(COREDEFS) -DNETCDF -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1438                        $(DA_ARCHFLAGS) \
1439                        -DDM_PARALLEL -DRSL_LITE \
1440                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1441                        -DLIMIT_ARGS -DFLOATSAFE \
1442                        -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC)
1443PROMOTION       =       -real_size $(RSIZEBITS) -integer_size `expr 4 \* 8`
1444CFLAGS          =       $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE
1445FCOPTIM         =       -fast -O4
1446FCDEBUG         =       #-g
1447FCDEBUG_ESMF    =       # -O0
1448FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG)
1449FCBASEOPTS_ESMF =       -w -convert big_endian -automatic -cpp -free -I. -arch host $(FCDEBUG_ESMF)
1450FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1451FCFLAGS_ESMF    =       $(FCOPTIM) $(FCBASEOPTS_ESMF) $(OMP)
1452# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1453ESMF_LIB_FLAGS  =       
1454ESMF_IO_LIB     =       ESMFIOLIB
1455ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1456INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1457                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1458PERL            =       CONFIGURE_PERL_PATH
1459REGISTRY        =       Registry
1460LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1461                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1462                        -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite  \
1463                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1464                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1465                        CONFIGURE_GRIB2_LIB \
1466                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
1467LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian $(OMP) CONFIGURE_LDFLAGS
1468ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1469CPP             =       /usr/bin/cpp -C -P
1470POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1471CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1472MAX_PROC        =       1024
1473AR              =       ar ru
1474M4              =       m4 -B 14000
1475RANLIB          =       ranlib
1476NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1477CC_TOOLS        =       cc
1478
1479externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a gen_comms.c module_dm.F esmf_time fftpack
1480
1481gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
1482        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
1483          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
1484
1485module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
1486        ( /bin/cp module_dm_warning module_dm.F ; \
1487          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
1488
1489wrfio_nf :
1490        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1491          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" )
1492
1493wrfio_int :
1494        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1495          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -convert big_endian -automatic -cpp -free -w" all )
1496
1497wrfio_grib_share :
1498        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1499          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)
1500
1501wrfio_grib1 :
1502        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1503          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 )
1504
1505wrfio_grib2 :
1506        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1507          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 )
1508
1509esmf_time :
1510        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1511          make FC="$(FC) $(PROMOTION) $(FCFLAGS_ESMF)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1512
1513fftpack :
1514        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1515          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1516
1517$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
1518        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
1519          make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
1520
1521nest_init_utils.o : nest_init_utils.F
1522module_optional_si_input.o : module_optional_si_input.F
1523module_IGWAVE_ADJUST.o : module_IGWAVE_ADJUST.F
1524
1525nest_init_utils.o module_optional_si_input.o module_IGWAVE_ADJUST.o:
1526        $(RM) $@
1527        $(SED_FTN) $*.F > $*.b
1528        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1529        $(RM) $*.b
1530        $(FC) -c $(PROMOTION) -w -convert big_endian -automatic -cpp -free -I. -arch host $(MODULE_DIRS) $*.f90
1531
1532# compile these without high optimization to speed compile
1533module_io_mm5.o : module_io_mm5.F
1534module_si_io.o : module_si_io.F
1535module_io_wrf.o : module_io_wrf.F
1536module_domain.o : module_domain.F
1537module_start.o : module_start.F
1538module_initialize.o : module_initialize.F
1539module_initialize_b_wave.o : module_initialize_b_wave.F
1540module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1541module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1542module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1543module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1544module_initialize_real.o : module_initialize_real.F
1545start_domain.o : start_domain.F
1546start_domain_nmm.o : start_domain_nmm.F
1547module_configure.o : module_configure.F
1548mediation_interp_domain.o : mediation_interp_domain.F
1549mediation_force_domain.o : mediation_force_domain.F
1550mediation_feedback_domain.o : mediation_feedback_domain.F
1551shift_domain_em.o : shift_domain_em.F
1552
1553module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1554module_start.o module_initialize.o module_initialize_b_wave.o  \
1555module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1556module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1557module_configure.o                                             \
1558mediation_interp_domain.o  \
1559mediation_force_domain.o  \
1560mediation_feedback_domain.o  \
1561shift_domain_em.o \
1562module_initialize_real.o start_domain.o start_domain_nmm.o :
1563        $(RM) $@
1564        $(SED_FTN) $*.F > $*.b
1565        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1566        $(RM) $*.b
1567        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) -O0 $*.f90
1568
1569mediation_integrate.o : mediation_integrate.F
1570module_dm.o : module_dm.F
1571module_comm_dm.o : module_comm_dm.F
1572mediation_wrfmain.o : mediation_wrfmain.F
1573solve_em.o : solve_em.F
1574
1575mediation_integrate.o module_dm.o module_comm_dm.o mediation_wrfmain.o solve_em.o :
1576        $(RM) $@
1577        $(SED_FTN) $*.F > $*.b
1578        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1579        $(RM) $*.b
1580        $(FC) -c $(PROMOTION) $(FCBASEOPTS_ESMF) $(MODULE_DIRS) -O0 $*.f90
1581
1582###########################################################
1583#ARCH       Alpha Linux alpha DM  (single-threaded, no nesting)
1584#
1585FC              =       fort
1586SFC             =       $(FC)
1587LD              =       fort
1588CC              =       cc
1589SCC             =       $(CC)
1590RWORDSIZE       =       CONFIGURE_RWORDSIZE
1591PROMOTION       =       -r$(RWORDSIZE) -i4
1592CFLAGS          =       -DF2CSTYLE
1593FCOPTIM         =       -fast -O4
1594FCDEBUG         =       # -g
1595FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
1596FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
1597                        -arch host $(FCDEBUG)
1598FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1599ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1600                        $(DA_ARCHFLAGS) \
1601                        CONFIGURE_NETCDF_FLAG
1602# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1603ESMF_LIB_FLAGS  =       
1604ESMF_IO_LIB     =       ESMFIOLIB
1605ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1606INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1607                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1608PERL            =       CONFIGURE_PERL_PATH
1609REGISTRY        =       Registry
1610LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1611                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1612                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1613                        CONFIGURE_GRIB2_LIB \
1614                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1615                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o  -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1616LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
1617ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1618CPP             =       /lib/cpp -C -P
1619POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1620CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional  $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1621AR              =       ar ru
1622M4              =       m4 -B 14000
1623RANLIB          =       ranlib
1624NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1625CC_TOOLS        =       cc
1626
1627externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
1628
1629module_dm.F :
1630        ( /bin/cp module_dm_warning module_dm.F ; \
1631          cat  module_dm_stubs.F >> module_dm.F )
1632
1633wrfio_nf :
1634        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1635          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
1636
1637wrfio_int :
1638        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1639          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1640          TRADFLAG="-traditional" all )
1641
1642wrfio_grib_share :
1643        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1644          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1645          TRADFLAG="-traditional" archive)
1646
1647wrfio_grib1 :
1648        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1649          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1650          TRADFLAG="-traditional" archive )
1651
1652wrfio_grib2 :
1653        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1654          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1655          TRADFLAG="-traditional" archive )
1656
1657esmf_time :
1658        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1659          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1660
1661fftpack :
1662        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1663          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1664
1665# compile these without high optimization to speed compile
1666module_io_mm5.o : module_io_mm5.F
1667module_si_io.o : module_si_io.F
1668module_io_wrf.o : module_io_wrf.F
1669module_domain.o : module_domain.F
1670module_start.o : module_start.F
1671module_initialize.o : module_initialize.F
1672module_initialize_b_wave.o : module_initialize_b_wave.F
1673module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1674module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1675module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1676module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1677module_initialize_real.o : module_initialize_real.F
1678module_dm.o : module_dm.F
1679module_comm_dm.o : module_comm_dm.F
1680start_domain.o : start_domain.F
1681module_configure.o : module_configure.F
1682
1683module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1684module_start.o module_initialize.o module_initialize_b_wave.o  \
1685module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1686module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1687module_configure.o                                             \
1688module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
1689        $(RM) $@
1690        $(SED_FTN) $*.F > $*.b
1691        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1692        $(RM) $*.b
1693        $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
1694
1695###########################################################
1696#ARCH       Alpha Linux alpha SM  (DOES NOT WORK ON JET! No nesting)
1697#
1698FC              =       fort
1699SFC             =       $(FC)
1700LD              =       fort
1701CC              =       cc
1702SCC             =       $(CC)
1703RWORDSIZE       =       CONFIGURE_RWORDSIZE
1704PROMOTION       =       -r$(RWORDSIZE) -i4
1705CFLAGS          =       -DF2CSTYLE
1706FCOPTIM         =       -fast -O4
1707FCDEBUG         =       # -g
1708FCBASENOINL     =       -convert big_endian -O1 -automatic -cpp -free -I. -arch host $(FCDEBUG)
1709FCBASEOPTS      =       -w -convert big_endian -automatic -cpp -free -I. \
1710                        -arch host $(FCDEBUG)
1711FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
1712ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1713                        $(DA_ARCHFLAGS) \
1714                        CONFIGURE_NETCDF_FLAG
1715# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1716ESMF_LIB_FLAGS  =       
1717ESMF_IO_LIB     =       ESMFIOLIB
1718ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1719INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
1720                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
1721PERL            =       CONFIGURE_PERL_PATH
1722REGISTRY        =       Registry
1723LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
1724                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1725                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1726                        CONFIGURE_GRIB2_LIB \
1727                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1728                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o  -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
1729LDFLAGS         =       $(FCOPTIM) -automatic -convert big_endian CONFIGURE_LDFLAGS
1730ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1731CPP             =       /lib/cpp -C -P
1732POUND_DEF       =       -DDEC_ALPHA -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1733CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -traditional -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1734AR              =       ar ru
1735M4              =       m4 -B 14000
1736RANLIB          =       ranlib
1737NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1738CC_TOOLS        =       cc
1739
1740externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
1741
1742module_dm.F :
1743        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
1744          /bin/cp module_dm_warning module_dm.F )
1745
1746wrfio_nf :
1747        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1748          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCBASENOINL) -w" TRADFLAG="-traditional" )
1749
1750wrfio_int :
1751        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
1752          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1753          TRADFLAG="-traditional" all )
1754
1755wrfio_grib_share :
1756        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1757          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1758          TRADFLAG="-traditional" archive)
1759
1760wrfio_grib1 :
1761        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1762          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1763          TRADFLAG="-traditional" archive )
1764wrfio_grib2 :
1765        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1766          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASENOINL) -w" \
1767          TRADFLAG="-traditional" archive )
1768
1769esmf_time :
1770        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
1771          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
1772
1773fftpack :
1774        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
1775          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
1776
1777# compile these without high optimization to speed compile
1778module_io_mm5.o : module_io_mm5.F
1779module_si_io.o : module_si_io.F
1780module_io_wrf.o : module_io_wrf.F
1781module_domain.o : module_domain.F
1782module_start.o : module_start.F
1783module_initialize.o : module_initialize.F
1784module_initialize_b_wave.o : module_initialize_b_wave.F
1785module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
1786module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
1787module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
1788module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
1789module_initialize_real.o : module_initialize_real.F
1790module_dm.o : module_dm.F
1791module_comm_dm.o : module_comm_dm.F
1792start_domain.o : start_domain.F
1793module_configure.o : module_configure.F
1794
1795module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
1796module_start.o module_initialize.o module_initialize_b_wave.o  \
1797module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
1798module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
1799module_configure.o                                             \
1800module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
1801        $(RM) $@
1802        $(SED_FTN) $*.F > $*.b
1803        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
1804        $(RM) $*.b
1805        $(FC) -c $(PROMOTION) $(FCBASENOINL) $(MODULE_DIRS) $*.f90
1806
1807###########################################################
1808#ARCH       VPP UNIX_System_V F300 5000
1809#
1810FC              =       frt
1811SFC             =       $(FC)
1812LD              =       frt
1813CC              =       vcc
1814SCC             =       $(CC)
1815RWORDSIZE       =       CONFIGURE_RWORDSIZE
1816PROMOTION       =       -r$(RWORDSIZE) -i4
1817CFLAGS          =
1818FCFLAGS         =       -Free -X9 -Am
1819FCFLAGS         =       -Free -X9 -Sw -Wv,-Of,-te,-ilfunc,-noalias,-m3,-P255 -Oe,-P -Kfast -Am
1820FCDEBUG         =       # -g
1821FCBASEOPTS      =       $(FCFLAGS)
1822ARCHFLAGS       = $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
1823                        $(DA_ARCHFLAGS) \
1824                        -DLIMIT_ARGS
1825PERL            =       CONFIGURE_PERL_PATH
1826REGISTRY        =       Registry
1827LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time \
1828                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1829                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1830                        CONFIGURE_GRIB2_LIB \
1831                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
1832LDFLAGS         =      -Wl,-P -J CONFIGURE_LDFLAGS
1833ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1834LDFLAGS         =      -J CONFIGURE_LDFLAGS
1835CPP             =       /lib/cpp -C -P
1836POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1837CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1838AR              =       ar ru
1839M4              =       m4 -B 14000
1840RANLIB          =       ranlib
1841NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1842CC_TOOLS        =       $(CC)
1843
1844externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  module_dm.F esmf_time fftpack
1845
1846module_dm.F :
1847        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1848
1849wrfio_nf :
1850        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1851          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" )
1852
1853wrfio_grib_share :
1854        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1855          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive)
1856
1857wrfio_grib1 :
1858        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1859          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) -Free -X9" archive )
1860
1861wrfio_grib2 :
1862        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1863          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -Free -X9" archive )
1864
1865###########################################################
1866#ARCH   Cray
1867#
1868FC              =       f90
1869SFC             =       $(FC)
1870CC              =       cc
1871SCC             =       $(CC)
1872NATIVE_RWORDSIZE =      8
1873RWORDSIZE       =       CONFIGURE_RWORDSIZE
1874# does this PROMOTION flag work on Cray? 
1875PROMOTION       =       -r$(RWORDSIZE) -i4
1876CFLAGS          =
1877FCFLAGS         =       -f free -N 255 -I.
1878FCDEBUG         =       # -g
1879FCBASEOPTS      =       $(FCFLAGS)
1880ARCHFLAGS       =       $(COREDEFS) -DCRAY CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DIWORDSIZE=8 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=8 \
1881                        $(DA_ARCHFLAGS) \
1882                        -DLIMIT_ARGS
1883LDFLAGS         = CONFIGURE_LDFLAGS
1884ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1885CPP             =       /opt/ctl/bin/cpp
1886POUND_DEF       =       -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
1887CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1888PERL            =       CONFIGURE_PERL_PATH
1889REGISTRY        =       Registry
1890#LIB             =       CONFIGURE_NETCDF_LIB_PATH
1891LIB             =       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time  \
1892                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1893                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1894                        CONFIGURE_GRIB2_LIB \
1895                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share
1896AR              =       ar ru
1897M4              =       m4 -B 14000
1898RANLIB          =       ranlib
1899NETCDFPATH      =       CONFIGURE_NETCDF_PATH
1900CC_TOOLS        =       $(CC)
1901
1902externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2  esmf_time fftpack
1903        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
1904
1905wrfio_nf :
1906        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
1907          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" )
1908
1909wrfio_grib_share :
1910        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
1911          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive)
1912
1913wrfio_grib1 :
1914        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
1915          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" archive )
1916
1917wrfio_grib2 :
1918        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
1919          make CC="$(SCC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" archive )
1920
1921solve_interface.o : solve_interface.F
1922        $(RM) $@
1923        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
1924        $(FC) -c -O 0 $(PROMOTION) $(FCFLAGS) $*.f90
1925
1926###########################################################
1927#ARCH   UNICOS/mp  machine crayx1 (RSL_LITE, MPI, MSP mode)
1928#
1929#  Cray X1 (RSL_LITE, MPI, MSP mode)
1930#  For CSD mode set numtiles=4 in &domains section
1931#  in namelist.input for best MSP efficiency.
1932#
1933DMPARALLEL      =       1
1934MAX_PROC         =       1024
1935FC              =       ftn
1936SFC             =       $(FC)
1937LD              =       ftn
1938CC              =       cc
1939SCC             =       $(CC)
1940
1941#### Override default sed command and script for Fortran source files ####
1942#### This sed script converts !$OMP directives to !csd$ directives ####
1943SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/cray_csd.sed
1944
1945## Use these for X1 cross compiler to build Registry
1946##X1_CROSS_COMP = "gcc"
1947##X1_CROSS_CFLG = ""
1948## Use these for X1 native (trigger) compiler
1949X1_CROSS_COMP = "cc"
1950X1_CROSS_CFLG = "-hcommand"
1951CC_TOOLS        =       $(X1_CROSS_COMP) $(X1_CROSS_CFLG)
1952
1953RWORDSIZE         = CONFIGURE_RWORDSIZE
1954FCDEBUG         =       # -g
1955FCBASEOPTS      =       -f free -N 255 -I. -x omp -dy
1956FCFLAGS_LOWOPT  =       $(FCBASEOPTS) -O1
1957FCFLAGS         =       $(FCBASEOPTS) -Ofp3 -O3 -Ogen_private_callee
1958#if using 64bit precision
1959#PROMOTION      =       -sreal64 -dp -sinteger32
1960CFLAGS          =       -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -DMAXDOM_MAKE=$(MAX_DOMAINS) \
1961                        -DMAXPROC_MAKE=$(MAX_PROC) -DDM_PARALLEL -UCRAY -DLANDREAD_STUB -Dcrayx1
1962
1963# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
1964ESMF_LIB_FLAGS  =       
1965ESMF_IO_LIB     =       ESMFIOLIB
1966ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
1967INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/inc \
1968                        -p./ -p$(WRF_SRC_ROOT_DIR)/external/io_netcdf -p$(WRF_SRC_ROOT_DIR)/external/io_int -p$(WRF_SRC_ROOT_DIR)/frame \
1969                        -p$(WRF_SRC_ROOT_DIR)/frame -p$(WRF_SRC_ROOT_DIR)/share -p$(WRF_SRC_ROOT_DIR)/phys -p$(WRF_SRC_ROOT_DIR)/chem \
1970                        -p$(WRF_SRC_ROOT_DIR)/dyn_em -p $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90
1971ARCHFLAGS       =       $(COREDEFS) -DRSL_LITE -DDM_PARALLEL -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) \
1972                        -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO \
1973                        $(DA_ARCHFLAGS) \
1974                        -DLIMIT_ARGS -Dcrayx1
1975
1976PERL            =       perl
1977REGISTRY        =       Registry
1978
1979LIB             =       -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf CONFIGURE_NETCDF_LIB_PATH \
1980                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
1981                        -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
1982                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int  \
1983                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
1984                        CONFIGURE_GRIB2_LIB \
1985                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
1986                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
1987                        -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -lmalloc
1988
1989ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
1990LDFLAGS         =       
1991
1992CPP             =       cpp -C -P -Dcrayx1
1993POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS) #
1994CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
1995
1996AR              =       ar ru
1997M4              =       m4 -B14000
1998RANLIB          =       echo
1999NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2000
2001externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
2002
2003gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
2004        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
2005
2006module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
2007        ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
2008
2009wrfio_nf :
2010        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255 " )
2011
2012wrfio_int :
2013        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2014          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) -f free -N 255" all )
2015
2016wrfio_grib_share :
2017        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2018          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP) -Dcrayx1" FC="$(FC) $(PROMOTION) -f free -N 255" archive)
2019
2020wrfio_grib1 :
2021        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2022          make CC="$(CC) -UCRAY" CPP="$(CPP) -Dcrayx1" RANLIB="$(RANLIB)" \
2023          FC="$(FC) $(PROMOTION) -f free -N 255" archive )
2024wrfio_grib2 :
2025        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2026          make CC="$(CC) -UCRAY" CPP="$(CPP) CONFIGURE_GRIB2_INC -Dcrayx1" RM="$(RM)" RANLIB="$(RANLIB)" \
2027          FC="$(SFC) $(PROMOTION) -f free -N 255" archive )
2028
2029esmf_time :
2030        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2031          make FC="$(FC) $(PROMOTION) $(FCDEBUG) -f free -N 255" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2032
2033fftpack :
2034        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2035          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2036
2037$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
2038        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
2039          make CPP="$(CPP) $(CPPFLAGS)" CFLAGS="$(CFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" OPTS="$(FCBASEOPTS)" \
2040                                     MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST )
2041
2042# compile these without high optimization
2043module_io_mm5.o : module_io_mm5.F
2044module_si_io.o : module_si_io.F
2045module_domain.o : module_domain.F
2046module_start.o : module_start.F
2047module_initialize.o : module_initialize.F
2048module_initialize_b_wave.o : module_initialize_b_wave.F
2049module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2050module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2051module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2052module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2053module_initialize_real.o : module_initialize_real.F
2054module_dm.o : module_dm.F
2055module_comm_dm.o : module_comm_dm.F
2056start_domain.o : start_domain.F
2057mediation_interp_domain.o : mediation_interp_domain.F
2058mediation_force_domain.o : mediation_force_domain.F
2059convert_nmm.o : convert_nmm.F
2060module_configure.o : module_configure.F
2061solve_em.o : solve_em.F
2062solve_interface.o : solve_interface.F
2063wrf_restartout.o : wrf_restartout.F
2064wrf_restartin.o : wrf_restartin.F
2065input_wrf.o : input_wrf.F
2066output_wrf.o : output_wrf.F
2067
2068module_io_mm5.o module_si_io.o module_domain.o \
2069module_start.o module_initialize.o module_initialize_b_wave.o  \
2070module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2071module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2072module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o \
2073mediation_interp_domain.o \
2074mediation_force_domain.o \
2075module_configure.o solve_em.o \
2076input_wrf.o output_wrf.o \
2077solve_interface.o wrf_restartout.o wrf_restartin.o \
2078convert_nmm.o    :
2079        $(RM) $@
2080        $(SED_FTN) $*.F > $*.b
2081        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2082        $(RM) $*.b
2083        $(FC) -c $(PROMOTION) $(FCFLAGS_LOWOPT) $(MODULE_DIRS)  $*.f90
2084
2085###########################################################
2086#ARCH   HP-UX   PA8600  32bit   (single-threaded, no nesting)
2087#
2088OMP             =       
2089OMPCPP          =       
2090FC              =       f90
2091SFC             =       $(FC)
2092LD              =       f90
2093CC              =       cc
2094SCC             =       $(CC)
2095RWORDSIZE       =       CONFIGURE_RWORDSIZE
2096ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
2097                        $(DA_ARCHFLAGS) \
2098                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
2099PROMOTION       =       -r$(RWORDSIZE) -i4
2100CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
2101FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
2102                        +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
2103FCDEBUG         =       # -g
2104FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a +noppu +Onoopenmp $(FCDEBUG)
2105FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2106# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2107ESMF_LIB_FLAGS  =       
2108ESMF_IO_LIB     =       ESMFIOLIB
2109ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2110INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2111                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2112PERL            =       CONFIGURE_PERL_PATH
2113REGISTRY        =       Registry
2114LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2115                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2116                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2117                        CONFIGURE_GRIB2_LIB \
2118                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2119                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2120LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
2121ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2122CPP             =        /lib/cpp
2123POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2124CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2125AR              =       ar ru
2126M4              =       m4 -B14000
2127RANLIB          =       echo
2128NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2129CC_TOOLS        =       cc
2130
2131externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2132
2133module_dm.F :
2134        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2135
2136wrfio_nf :
2137        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2138          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
2139
2140wrfio_int :
2141        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2142          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
2143
2144wrfio_grib_share :
2145        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2146          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
2147
2148wrfio_grib1 :
2149        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2150          make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
2151          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2152wrfio_grib2 :
2153        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2154          make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
2155          FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2156
2157esmf_time :
2158        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2159          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2160
2161fftpack :
2162        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2163          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2164
2165# compile these without high optimization to speed compile
2166solve_interface.o : solve_interface.F
2167shift_domain_em.o : shift_domain_em.F
2168module_io_mm5.o : module_io_mm5.F
2169module_si_io.o : module_si_io.F
2170module_io_wrf.o : module_io_wrf.F
2171module_domain.o : module_domain.F
2172module_start.o : module_start.F
2173module_initialize.o : module_initialize.F
2174module_initialize_b_wave.o : module_initialize_b_wave.F
2175module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2176module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2177module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2178module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2179module_initialize_real.o : module_initialize_real.F
2180module_dm.o : module_dm.F
2181module_comm_dm.o : module_comm_dm.F
2182mediation_integrate.o : mediation_integrate.F
2183start_domain.o : start_domain.F
2184module_configure.o : module_configure.F
2185
2186solve_interface.o                                              \
2187shift_domain_em.o                                              \
2188module_configure.o                                              \
2189module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2190module_start.o module_initialize.o module_initialize_b_wave.o  \
2191module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2192module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2193module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
2194        $(RM) $@
2195        $(SED_FTN) $*.F > $*.b
2196        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2197        $(RM) $*.b
2198        $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
2199
2200###########################################################
2201#ARCH   HP-UX   Itanium2        (single-threaded, no nesting)
2202#
2203OMP             =       
2204OMPCPP          =       
2205FC              =       f90
2206SFC             =       $(FC)
2207LD              =       f90
2208CC              =       cc
2209SCC             =       $(CC)
2210RWORDSIZE       =       CONFIGURE_RWORDSIZE
2211ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
2212                        $(DA_ARCHFLAGS) \
2213                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
2214PROMOTION       =       -r$(RWORDSIZE) -i4
2215CFLAGS          =       $(ARCHFLAGS) +DSitanium2 -DNOUNDERSCORE
2216FCOPTIM         =       +O3 +Odataprefetch +Olibcalls +DO11.23 +noppu \
2217                        +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
2218FCDEBUG         =       # -g
2219FCBASEOPTS      =       +U77 +source=free -I. +DSitanium2 +noppu +Onoopenmp $(FCDEBUG)
2220FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2221# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2222ESMF_LIB_FLAGS  =       
2223ESMF_IO_LIB     =       ESMFIOLIB
2224ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2225INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2226                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2227PERL            =       CONFIGURE_PERL_PATH
2228REGISTRY        =       Registry
2229LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2230                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2231                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2232                        CONFIGURE_GRIB2_LIB \
2233                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2234                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2235LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
2236ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2237CPP             =        /lib/cpp
2238POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2239CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2240AR              =       ar ru
2241M4              =       m4 -B14000
2242RANLIB          =       echo
2243NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2244CC_TOOLS        =       cc
2245
2246externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2247
2248module_dm.F :
2249        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2250
2251wrfio_nf :
2252        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2253          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
2254
2255wrfio_int :
2256        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2257          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
2258
2259wrfio_grib_share :
2260        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2261          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
2262          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
2263
2264wrfio_grib1 :
2265        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2266          make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
2267          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2268wrfio_grib2 :
2269        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2270          make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
2271          FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2272
2273esmf_time :
2274        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2275          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2276
2277fftpack :
2278        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2279          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2280
2281# compile these without high optimization to speed compile
2282solve_interface.o : solve_interface.F
2283shift_domain_em.o : shift_domain_em.F
2284module_io_mm5.o : module_io_mm5.F
2285module_si_io.o : module_si_io.F
2286module_io_wrf.o : module_io_wrf.F
2287module_domain.o : module_domain.F
2288module_start.o : module_start.F
2289module_initialize.o : module_initialize.F
2290module_initialize_b_wave.o : module_initialize_b_wave.F
2291module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2292module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2293module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2294module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2295module_initialize_real.o : module_initialize_real.F
2296module_dm.o : module_dm.F
2297module_comm_dm.o : module_comm_dm.F
2298mediation_integrate.o : mediation_integrate.F
2299start_domain.o : start_domain.F
2300module_configure.o : module_configure.F
2301
2302solve_interface.o                                              \
2303shift_domain_em.o                                              \
2304module_configure.o                                              \
2305module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2306module_start.o module_initialize.o module_initialize_b_wave.o  \
2307module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2308module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2309module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
2310        $(RM) $@
2311        $(SED_FTN) $*.F > $*.b
2312        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2313        $(RM) $*.b
2314        $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
2315
2316###########################################################
2317#ARCH   HP-UX   PA8600          32bit   (openmp, no nesting)
2318#
2319OMP             =       +Oopenmp
2320OMPCPP          =       -D_OPENMP
2321FC              =       f90
2322SFC             =       $(FC)
2323LD              =       f90
2324CC              =       cc
2325SCC             =       $(CC)
2326RWORDSIZE       =       CONFIGURE_RWORDSIZE
2327ARCHFLAGS       =       $(COREDEFS) CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DLIMIT_ARGS -DFLOATSAFE \
2328                        $(DA_ARCHFLAGS) \
2329                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4
2330PROMOTION       =       -r$(RWORDSIZE) -i4
2331CFLAGS          =       $(ARCHFLAGS) +DS2.0a -DNOUNDERSCORE
2332FCOPTIM         =       +O3 +DA2.0N +DS2.0a +Odataprefetch +Olibcalls +DO11.0EP9806 +noppu \
2333                        +save +fastallocatable +Ofltacc +extend_source +source=free +FPD
2334FCDEBUG         =       # -g
2335FCBASEOPTS      =       +U77 +source=free -I. +DS2.0a $(FCDEBUG)
2336FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
2337# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2338ESMF_LIB_FLAGS  =       
2339ESMF_IO_LIB     =       ESMFIOLIB
2340ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2341INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2342                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2343PERL            =       CONFIGURE_PERL_PATH
2344REGISTRY        =       Registry
2345LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2346                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2347                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2348                        CONFIGURE_GRIB2_LIB \
2349                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2350                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2351LDFLAGS         =       $(FCOPTIM) $(OMP) CONFIGURE_LDFLAGS
2352ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2353CPP             =        /lib/cpp
2354POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2355CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2356AR              =       ar ru
2357M4              =       m4 -B14000
2358RANLIB          =       echo
2359NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2360CC_TOOLS        =       cc
2361
2362externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2363
2364module_dm.F :
2365        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2366
2367wrfio_nf :
2368        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2369          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) " )
2370
2371wrfio_int :
2372        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2373          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " all )
2374
2375wrfio_grib_share :
2376        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2377          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
2378          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive)
2379
2380wrfio_grib1 :
2381        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2382          make CC="$(CC)" CPP="$(CPP)" RANLIB="$(RANLIB)" \
2383          FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2384wrfio_grib2 :
2385        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2386          make CC="$(CC)" CPP="$(CPP) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" \
2387          FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS) -I$(WRF_SRC_ROOT_DIR)/inc " archive )
2388
2389esmf_time :
2390        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2391          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2392
2393fftpack :
2394        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2395          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2396
2397# compile these without high optimization to speed compile
2398solve_interface.o : solve_interface.F
2399shift_domain_em.o : shift_domain_em.F
2400module_io_mm5.o : module_io_mm5.F
2401module_si_io.o : module_si_io.F
2402module_io_wrf.o : module_io_wrf.F
2403module_domain.o : module_domain.F
2404module_start.o : module_start.F
2405module_initialize.o : module_initialize.F
2406module_initialize_b_wave.o : module_initialize_b_wave.F
2407module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2408module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2409module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2410module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2411module_initialize_real.o : module_initialize_real.F
2412module_dm.o : module_dm.F
2413module_comm_dm.o : module_comm_dm.F
2414mediation_integrate.o : mediation_integrate.F
2415start_domain.o : start_domain.F
2416module_configure.o : module_configure.F
2417
2418solve_interface.o                                              \
2419shift_domain_em.o                                              \
2420module_configure.o                                              \
2421module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2422module_start.o module_initialize.o module_initialize_b_wave.o  \
2423module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2424module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2425module_initialize_real.o module_dm.o module_comm_dm.o mediation_integrate.o start_domain.o :
2426        $(RM) $@
2427        $(SED_FTN) $*.F > $*.b
2428        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2429        $(RM) $*.b
2430        $(FC) -c $(PROMOTION) $(FCFLAGS) $(MODULE_DIRS) $*.f90
2431
2432###########################################################
2433#ARCH Darwin            (single-threaded, xlf, no nesting)
2434#     
2435#     Using -qfloat=nomaf option can result in identical results with
2436#           non-optimized and optimized results (suggested by Fovell of UCLA)
2437#           One may turn on by uncommenting it in FCOPTIM line
2438#
2439FC              =       xlf90_r
2440SFC             =       $(FC)
2441LD              =       xlf90_r
2442#CC              =       cc_r
2443CC              =       cc
2444SCC             =       $(CC)
2445RWORDSIZE       = CONFIGURE_RWORDSIZE
2446PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2447CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
2448FCOPTIM         =       -O3 -qarch=auto #-qfloat=nomaf
2449FCDEBUG         =       # -qnoopt -qfullpath
2450FCBASEOPTS      =       -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 -w
2451FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2452FCSUFFIX        =       -qsuffix=f=f90
2453# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2454ESMF_LIB_FLAGS  =       
2455ESMF_IO_LIB     =       ESMFIOLIB
2456ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2457INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2458                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2459ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2460                        $(DA_ARCHFLAGS) \
2461                        CONFIGURE_NETCDF_FLAG \
2462                        -DLIMIT_ARGS  -DLANDREAD_STUB -DMAC_KLUDGE
2463#                       -DLIMIT_ARGS  -DNATIVE_MASSV -DMACOS
2464PERL            =       CONFIGURE_PERL_PATH
2465REGISTRY        =       Registry
2466#LIB             =       CONFIGURE_NETCDF_LIB_PATH -lmass -lmassv
2467LIB             =       CONFIGURE_NETCDF_LIB_PATH \
2468                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2469                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2470                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2471                        CONFIGURE_GRIB2_LIB \
2472                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2473                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2474
2475LDFLAGS         =        -Wl,-stack_size,10000000,-stack_addr,0xc0000000 CONFIGURE_LDFLAGS
2476ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2477#CPP             =       /opt/ibmcmp/xlf/8.1/exe/cpp -C -P
2478CPP             =       /usr/bin/cpp  -C -P -xassembler-with-cpp
2479POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2480CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2481AR              =       ar ru
2482M4              =       m4 -B 14000
2483RANLIB          =       ranlib
2484NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2485CC_TOOLS        =       cc
2486
2487externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2488
2489module_dm.F :
2490        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2491
2492wrfio_nf :
2493        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2494
2495wrfio_int :
2496        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2497          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2498
2499wrfio_grib_share :
2500        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2501          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2502
2503wrfio_grib1 :
2504        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2505          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCSUFFIX) -qarch=auto -qzerosize" archive)
2506
2507wrfio_grib2 :
2508        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2509          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)
2510
2511esmf_time :
2512        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2513          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2514
2515fftpack :
2516        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2517          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2518
2519solve_interface.o : solve_interface.F
2520        $(RM) $@
2521        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.F > $*.f90
2522        $(FC) -c -qfree=f90 -qspillsize=32767 -I. $(PROMOTION) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
2523
2524# compile these without high optimization to speed compile
2525shift_domain_em.o : shift_domain_em.F
2526module_io_mm5.o : module_io_mm5.F
2527module_si_io.o : module_si_io.F
2528module_io_wrf.o : module_io_wrf.F
2529module_domain.o : module_domain.F
2530module_start.o : module_start.F
2531module_initialize.o : module_initialize.F
2532module_initialize_b_wave.o : module_initialize_b_wave.F
2533module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2534module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2535module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2536module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2537module_initialize_real.o : module_initialize_real.F
2538module_dm.o : module_dm.F
2539module_comm_dm.o : module_comm_dm.F
2540start_domain.o : start_domain.F
2541solve_em.o : solve_em.F
2542mediation_interp_domain.o : mediation_interp_domain.F
2543mediation_force_domain.o : mediation_force_domain.F
2544mediation_feedback_domain.o : mediation_feedback_domain.F
2545convert_nmm.o : convert_nmm.F
2546module_configure.o : module_configure.F
2547
2548module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
2549module_start.o module_initialize.o module_initialize_b_wave.o  \
2550module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
2551module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
2552module_initialize_real.o module_dm.o module_comm_dm.o \
2553shift_domain_em.o                                              \
2554mediation_interp_domain.o \
2555module_configure.o                                             \
2556solve_em.o \
2557convert_nmm.o :
2558        $(RM) $@
2559        $(SED_FTN) $*.F > $*.b
2560        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
2561        $(RM) $*.b
2562        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) $*.f90
2563
2564###########################################################
2565#ARCH Darwin            (OpenMP, xlf, no nesting)
2566#     
2567#     Using -qfloat=nomaf option can result in identical results with
2568#           non-optimized and optimized results (suggested by Fovell of UCLA)
2569#           One may turn on by uncommenting it in FCOPTIM line
2570#
2571OMP             =       -qsmp=noauto
2572OMPCPP          =       -D_OPENMP
2573FC              =       xlf90_r
2574SFC             =       $(FC)
2575LD              =       xlf90_r
2576CC              =       cc
2577SCC             =       $(CC)
2578RWORDSIZE       = CONFIGURE_RWORDSIZE
2579PROMOTION       =       -qrealsize=$(RWORDSIZE) -qintsize=4
2580CFLAGS          =       -DNOUNDERSCORE -DLANDREAD_STUB -I /usr/include/sys -DMACOS
2581FCOPTIM         =       -O2 -qarch=auto -qunroll=yes #-qfloat=nomaf
2582FCDEBUG         =       # -qnoopt -qfullpath
2583FCBASEOPTS      =       -w -qsave $(FCDEBUG) -qmaxmem=32767 -qspillsize=32767 #-qflttrap=zerodivide:invalid:enable -qsigtrap
2584FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2585FCSUFFIX        =       -qsuffix=f=f90
2586# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2587ESMF_LIB_FLAGS  =       
2588ESMF_IO_LIB     =       ESMFIOLIB
2589ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
2590INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int  -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2591                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
2592ARCHFLAGS       =       $(COREDEFS) -DGRIB1 CONFIGURE_GRIB2_FLAG -DINTIO -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
2593                        $(DA_ARCHFLAGS) \
2594                        CONFIGURE_NETCDF_FLAG \
2595                        -DLIMIT_ARGS  -DLANDREAD_STUB -DMACOS -DMAC_KLUDGE
2596PERL            =       CONFIGURE_PERL_PATH
2597REGISTRY        =       Registry
2598LIB             =       CONFIGURE_NETCDF_LIB_PATH -lxlsmp \
2599                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2600                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2601                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2602                        CONFIGURE_GRIB2_LIB \
2603                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2604                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
2605LDFLAGS         =       $(OMP) -Wl,-stack_size,10000000,-stack_addr,0xc0000000  CONFIGURE_LDFLAGS
2606ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
2607CPP             =        /usr/bin/cpp -C -P -xassembler-with-cpp
2608POUND_DEF       =       -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2609CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(OMPCPP) $(COREDEFS) $(ENVCOMPDEFS) $(POUND_DEF)
2610AR              =       ar ru
2611M4              =       m4 -B 14000
2612RANLIB          =       ranlib
2613NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2614CC_TOOLS        =       $(CC)
2615
2616externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
2617
2618module_dm.F :
2619        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
2620
2621wrfio_nf :
2622        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" )
2623
2624wrfio_int :
2625        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2626          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" all )
2627
2628wrfio_grib_share :
2629        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2630          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
2631
2632wrfio_grib1 :
2633        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2634          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCDEBUG) -qarch=auto -qzerosize" archive)
2635
2636wrfio_grib2 :
2637        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2638          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)
2639
2640esmf_time :
2641        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2642          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
2643
2644fftpack :
2645        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2646          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
2647
2648
2649module_configure.o : module_configure.F
2650module_domain.o   : module_domain.F
2651module_sm.o     : module_sm.F
2652module_tiles.o  : module_tiles.F
2653solve_em.o      : solve_em.F
2654solve_exp.o     : solve_exp.F
2655convert_nmm.o   : convert_nmm.F
2656
2657module_configure.o module_sm.o module_tiles.o solve_em.o solve_exp.o convert_nmm.o :
2658        $(RM) $@
2659        $(SED_FTN) $*.F > $*.b
2660        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
2661        $(RM) $*.b
2662        $(FC) -c -g $(PROMOTION) $(OMP) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
2663
2664module_domain.o :
2665        $(RM) $@
2666        $(SED_FTN) $*.F90 > $*.b
2667        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
2668        $(RM) $*.b
2669        $(FC) -c -g $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $(FCSUFFIX) -qnoopt -qnohot $*.f90
2670
2671###########################################################
2672
2673#ARCH NEC SUPER-UX SX-6 (serial)
2674
2675#***** some sx f90 compiler options***********
2676# -V : version # of f90 command to stderr
2677#-EP : activate cpp preprocessor to perform conditional compiling: output as i.[filename]
2678#-Ep: activate cpp preprocessor to perfomr conditional compiling
2679   #****However, cpp also activated by using .F or .F90 suffixes...
2680# -Wf: specifies option string of the f90/sx detailed options
2681#-g: debug info generated in object file for dbx symbolic debugging
2682# -ew : all numbers size=8bytes
2683#-eW: 4 bytes
2684# -float0: default and only -float(number) option for sx6
2685# -USX: unname the prev. defined reserved symbol SX of the preprocessor
2686   # -U overrides -D, so '-USX  -D$(RUNTIMESYSTEM)'  might be redundant
2687# -p: object file in execution format corresp. to 'prof' command be generated
2688# -f4: input source program is described in F90 standard free format
2689# -w: only syntax diagnostic messages at the fatal level are output
2690# -C: specifies compile mode
2691#   ssafe: only safe optimization in scalar mode (minimize side effects of
2692#          opt. no loop unrolling, etc
2693# -init : init stack and heap areas
2694# -L fmtlist summary stdout: formatted list, transformation lists, summary list are output to stdout
2695
2696DMPARALLEL      =       1
2697MAX_PROC        =       1024
2698FC              =       sxmpif90
2699LD              =       sxmpif90
2700CC              =       sxmpic++ -DMPI2_SUPPORT
2701SCC             =       sxmpic++
2702SFC             =       sxmpif90
2703RWORDSIZE       =       $(NATIVE_RWORDSIZE)
2704PROMOTION       =       
2705CFLAGS          =       -DNCARIBM_NOC99 -DDM_PARALLEL \
2706                        -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) \
2707                        -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
2708                        -Xa -Kc99
2709FCNOOPT         = -Cssafe
2710FCOPTIM         =       
2711FCDEBUG         =       #-g
2712#FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
2713FCBASEOPTS      =       -ftrace -Wf,-L fmtlist transform,-pvctl fullmsg loopcnt=1000000 -f4 -Wf,-P i \
2714FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
2715ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
2716                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 -DNETCDF \
2717                        $(DA_ARCHFLAGS) \
2718                        -DLIMIT_ARGS
2719# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
2720ESMF_LIB_FLAGS  =       
2721ESMF_IO_LIB     =       $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a
2722ESMF_IO_LIB_EXT =       -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a
2723INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
2724                        -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
2725PERL            =       perl
2726REGISTRY        =       Registry
2727LIB             =       $(WRF_SRC_ROOT_DIR)/external/io_netcdf/libwrfio_nf.a -L/pool/SX-6/netcdf/netcdf-3.6.2/lib -lnetcdf -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
2728                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
2729                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
2730                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
2731                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
2732                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time -L$(SX_BASE_CPLUS)/lib -lcpp
2733LDFLAGS         =       $(FCFLAGS) -Wl,-h nodefs
2734ENVCOMPDEFS     =       
2735WRF_CHEM        =       0
2736CPP             =       /lib/cpp -C -P -traditional
2737POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
2738CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
2739AR_BASE         =       sxar
2740AR              =       $(AR_BASE) ru
2741M4              =       m4 -B 14000
2742RANLIB          =       sxar rs
2743NETCDFPATH      =       CONFIGURE_NETCDF_PATH
2744CC_TOOLS        =       cc
2745
2746#### Override default sed command and script for Fortran source files         ####
2747#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
2748#### because the Fortran compiler complains about long source lines.          ####
2749SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
2750
2751externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int  esmf_time  module_dm.F fftpack
2752
2753module_dm.F:
2754        ( /sbin/cp module_dm_warning module_dm.F ; \
2755          cat module_dm_stubs.F  >> module_dm.F )
2756
2757wrfio_grib_share :
2758        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
2759          make CC="$(CC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" AR="$(AR_BASE)" archive)
2760
2761wrfio_grib1 :
2762        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
2763          make CC="$(CC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS)" AR="$(AR_BASE)" archive)
2764
2765wrfio_grib2 :
2766        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
2767          make CC="$(CC)" CFLAGS="$(CFLAGS) CONFIGURE_GRIB2_INC" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) $(FCFLAGS)" AR="$(AR_BASE)" archive)
2768
2769wrfio_nf :
2770        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
2771          make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
2772
2773wrfio_int :
2774        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
2775          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
2776
2777esmf_time :
2778        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
2779          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
2780
2781fftpack :
2782        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
2783          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR_BASE)" )
2784
2785# compile these without high optimization to speed compile
2786convert_nmm.o : convert_nmm.F
2787init_modules_em.o : init_modules_em.F
2788input_wrf.o : input_wrf.F
2789module_io.o : module_io.F
2790module_comm_dm.o : module_comm_dm.F
2791module_configure.o : module_configure.F
2792module_dm.o : module_dm.F
2793module_domain.o : module_domain.F
2794module_domain_type.o : module_domain_type.F
2795module_alloc_space.o : module_alloc_space.F
2796module_tiles.o : module_tiles.F
2797module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
2798module_initialize.o : module_initialize.F
2799module_physics_init.o : module_physics_init.F
2800module_initialize_b_wave.o : module_initialize_b_wave.F
2801module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
2802module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
2803module_initialize_real.o : module_initialize_real.F
2804module_initialize_real.o: module_initialize_real.F
2805module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
2806module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
2807module_integrate.o : module_integrate.F
2808module_io_mm5.o : module_io_mm5.F
2809module_io_wrf.o : module_io_wrf.F
2810module_si_io.o : module_si_io.F
2811module_state_description.o : module_state_description.F
2812output_wrf.o : output_wrf.F
2813solve_interface.o : solve_interface.F
2814start_domain.o : start_domain.F
2815start_domain_nmm.o : start_domain_nmm.F
2816start_em.o : start_em.F
2817wrf_auxhist10in.o : wrf_auxhist10in.F
2818wrf_auxhist10out.o : wrf_auxhist10out.F
2819wrf_auxhist11in.o : wrf_auxhist11in.F
2820wrf_auxhist11out.o : wrf_auxhist11out.F
2821wrf_auxhist1in.o : wrf_auxhist1in.F
2822wrf_auxhist1out.o : wrf_auxhist1out.F
2823wrf_auxhist2in.o : wrf_auxhist2in.F
2824wrf_auxhist2out.o : wrf_auxhist2out.F
2825wrf_auxhist3in.o : wrf_auxhist3in.F
2826wrf_auxhist3out.o : wrf_auxhist3out.F
2827wrf_auxhist4in.o : wrf_auxhist4in.F
2828wrf_auxhist4out.o : wrf_auxhist4out.F
2829wrf_auxhist5in.o : wrf_auxhist5in.F
2830wrf_auxhist5out.o : wrf_auxhist5out.F
2831wrf_auxhist6in.o : wrf_auxhist6in.F
2832wrf_auxhist6out.o : wrf_auxhist6out.F
2833wrf_auxhist7in.o : wrf_auxhist7in.F
2834wrf_auxhist7out.o : wrf_auxhist7out.F
2835wrf_auxhist8in.o : wrf_auxhist8in.F
2836wrf_auxhist8out.o : wrf_auxhist8out.F
2837wrf_auxhist9in.o : wrf_auxhist9in.F
2838wrf_auxhist9out.o : wrf_auxhist9out.F
2839wrf_auxinput10in.o : wrf_auxinput10in.F
2840wrf_auxinput10out.o : wrf_auxinput10out.F
2841wrf_auxinput11in.o : wrf_auxinput11in.F
2842wrf_auxinput11out.o : wrf_auxinput11out.F
2843wrf_auxinput1in.o : wrf_auxinput1in.F
2844wrf_auxinput1out.o : wrf_auxinput1out.F
2845wrf_auxinput2in.o : wrf_auxinput2in.F
2846wrf_auxinput2out.o : wrf_auxinput2out.F
2847wrf_auxinput3in.o : wrf_auxinput3in.F
2848wrf_auxinput3out.o : wrf_auxinput3out.F
2849wrf_auxinput4in.o : wrf_auxinput4in.F
2850wrf_auxinput4out.o : wrf_auxinput4out.F
2851wrf_auxinput5in.o : wrf_auxinput5in.F
2852wrf_auxinput5out.o : wrf_auxinput5out.F
2853wrf_auxinput6in.o : wrf_auxinput6in.F
2854wrf_auxinput6out.o : wrf_auxinput6out.F
2855wrf_auxinput7in.o : wrf_auxinput7in.F
2856wrf_auxinput7out.o : wrf_auxinput7out.F
2857wrf_auxinput8in.o : wrf_auxinput8in.F
2858wrf_auxinput8out.o : wrf_auxinput8out.F
2859wrf_auxinput9in.o : wrf_auxinput9in.F
2860wrf_auxinput9out.o : wrf_auxinput9out.F
2861wrf_bdyin.o : wrf_bdyin.F
2862wrf_bdyout.o : wrf_bdyout.F
2863wrf_ext_read_field.o : wrf_ext_read_field.F
2864wrf_ext_write_field.o : wrf_ext_write_field.F
2865wrf_fddaobs_in.o : wrf_fddaobs_in.F
2866wrf_histin.o : wrf_histin.F
2867wrf_histout.o : wrf_histout.F
2868wrf_inputin.o : wrf_inputin.F
2869wrf_inputout.o : wrf_inputout.F
2870wrf_restartin.o : wrf_restartin.F
2871wrf_restartout.o : wrf_restartout.F
2872wrf_tsin.o : wrf_tsin.F
2873nl_get_0_routines.o : nl_get_0_routines.F
2874nl_get_1_routines.o : nl_get_1_routines.F
2875nl_set_0_routines.o : nl_set_0_routines.F
2876nl_set_1_routines.o : nl_set_1_routines.F
2877
2878convert_nmm.o \
2879init_modules_em.o \
2880module_comm_dm.o \
2881module_dm.o \
2882module_alloc_space.o \
2883module_fddaobs_rtfdda.o \
2884module_initialize.o \
2885module_initialize_b_wave.o \
2886module_initialize_hill2d_x.o \
2887module_initialize_quarter_ss.o \
2888module_initialize_real.o \
2889module_initialize_squall2d_x.o \
2890module_initialize_squall2d_y.o \
2891module_integrate.o \
2892module_io_mm5.o \
2893module_io_wrf.o \
2894module_si_io.o \
2895module_tiles.o \
2896output_wrf.o \
2897solve_interface.o \
2898start_domain.o \
2899start_domain_nmm.o \
2900start_em.o \
2901wrf_fddaobs_in.o \
2902wrf_tsin.o :
2903        $(RM) $@
2904        $(SED_FTN) $*.F > $*.b
2905        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
2906        $(RM) $*.b
2907        $(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
2908
2909# compile without OMP
2910input_wrf.o \
2911module_domain.o \
2912module_domain_type.o \
2913module_physics_init.o \
2914module_io.o \
2915wrf_auxhist10in.o \
2916wrf_auxhist10out.o \
2917wrf_auxhist11in.o \
2918wrf_auxhist11out.o \
2919wrf_auxhist1in.o \
2920wrf_auxhist1out.o \
2921wrf_auxhist2in.o \
2922wrf_auxhist2out.o \
2923wrf_auxhist3in.o \
2924wrf_auxhist3out.o \
2925wrf_auxhist4in.o \
2926wrf_auxhist4out.o \
2927wrf_auxhist5in.o \
2928wrf_auxhist5out.o \
2929wrf_auxhist6in.o \
2930wrf_auxhist6out.o \
2931wrf_auxhist7in.o \
2932wrf_auxhist7out.o \
2933wrf_auxhist8in.o \
2934wrf_auxhist8out.o \
2935wrf_auxhist9in.o \
2936wrf_auxhist9out.o \
2937wrf_auxinput10in.o \
2938wrf_auxinput10out.o \
2939wrf_auxinput11in.o \
2940wrf_auxinput11out.o \
2941wrf_auxinput1in.o \
2942wrf_auxinput1out.o \
2943wrf_auxinput2in.o \
2944wrf_auxinput2out.o \
2945wrf_auxinput3in.o \
2946wrf_auxinput3out.o \
2947wrf_auxinput4in.o \
2948wrf_auxinput4out.o \
2949wrf_auxinput5in.o \
2950wrf_auxinput5out.o \
2951wrf_auxinput6in.o \
2952wrf_auxinput6out.o \
2953wrf_auxinput7in.o \
2954wrf_auxinput7out.o \
2955wrf_auxinput8in.o \
2956wrf_auxinput8out.o \
2957wrf_auxinput9in.o \
2958wrf_auxinput9out.o \
2959wrf_bdyin.o \
2960wrf_bdyout.o \
2961wrf_ext_read_field.o \
2962wrf_ext_write_field.o \
2963wrf_histin.o \
2964wrf_histout.o \
2965wrf_inputin.o \
2966wrf_inputout.o \
2967wrf_restartin.o \
2968wrf_restartout.o \
2969module_state_description.o \
2970nl_set_0_routines.o \
2971nl_set_1_routines.o \
2972nl_get_0_routines.o \
2973nl_get_1_routines.o \
2974module_configure.o :
2975        $(RM) $@
2976        $(SED_FTN) $*.F > $*.b
2977        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
2978        $(RM) $*.b
2979        $(FC) -c $(PROMOTION) $(FCSUFFIX) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
2980
2981
2982###########################################################
2983#ARCH    NEC SX-8, NEC SX cross compiler DM-Parallel (RSL_LITE, Allows nesting)
2984#
2985# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
2986#        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
2987#
2988DMPARALLEL      =       1
2989MAX_PROC        =       1024
2990OMP             =       -Popenmp
2991FC              =       sxmpif90
2992LD              =       sxmpif90
2993CC              =       sxmpic++
2994SCC             =       sxmpic++
2995SFC             =       sxmpif90
2996RWORDSIZE       =       CONFIGURE_RWORDSIZE
2997PROMOTION       =       
2998CFLAGS          =       -DNCARIBM_NOC99 -DDM_PARALLEL \
2999                        -DMAXDOM_MAKE=$(MAX_DOMAINS) -DMAXPROC_MAKE=$(MAX_PROC) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE \
3000                        -Xa -Kc99
3001FCNOOPT         = -Cssafe
3002FCOPTIM         =       
3003FCDEBUG         =       #-g
3004FCBASEOPTS      =       -Wf,-L fmtlist transform,-pvctl fullmsg loopcnt=1000000 -f4 -Wf,-P i
3005FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(OMP)
3006ARCHFLAGS       =       $(COREDEFS) -DGRIB1 -DINTIO -DDM_PARALLEL \
3007                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 CONFIGURE_NETCDF_FLAG \
3008                        $(DA_ARCHFLAGS) \
3009                        -DLIMIT_ARGS
3010# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3011ESMF_LIB_FLAGS  =       
3012ESMF_IO_LIB     =       ESMFIOLIB
3013ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3014INCLUDE_MODULES =       -I$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3015                        -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3016PERL            =       perl
3017REGISTRY        =       Registry
3018LIB             =       CONFIGURE_NETCDF_LIB_PATH -L$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -lrsl_lite \
3019                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3020                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3021                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3022                        -L$(WRF_SRC_ROOT_DIR)/external/io_int -lwrfio_int \
3023                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3024LDFLAGS         =       $(FCFLAGS) -Wl,-h nodefs CONFIGURE_LDFLAGS
3025ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3026CPP             =       /lib/cpp -C -P -traditional
3027POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3028CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P `cat $(WRF_SRC_ROOT_DIR)/inc/dm_comm_cpp_flags` $(ENVCOMPDEFS) $(POUND_DEF) -DNEC
3029AR_BASE         =       sxar
3030# it may be necessary to uncomment out the ru if ARFLAGS is not automatically defined to ru or rv in your installation's version of make
3031AR              =       $(AR_BASE) # ru
3032M4              =       m4 -B 14000
3033RANLIB          =       sxar rs
3034NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3035CC_TOOLS        =       cc
3036SED_FTN = $(WRF_SRC_ROOT_DIR)/tools/standard.exe
3037
3038externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib1 wrfio_grib_share $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
3039
3040gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
3041        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
3042          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
3043
3044module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
3045        ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
3046
3047wrfio_grib_share :
3048        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3049          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
3050
3051wrfio_grib1 :
3052        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3053          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
3054
3055wrfio_grib2 :
3056        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3057          make CC="$(SCC)" CFLAGS="$(CFLAGS) " RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" archive)
3058
3059wrfio_nf :
3060        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3061          make NETCDFPATH="$(NETCDFPATH)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" )
3062
3063wrfio_int :
3064        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3065          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" AR="$(AR_BASE)" all )
3066
3067esmf_time :
3068        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3069          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" AR="$(AR_BASE)" )
3070
3071fftpack :
3072        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3073          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" AR="$(AR_BASE)" )
3074
3075$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
3076        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" FC="$(FC) $(PROMOTION) $(FCBASEOPTS)" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) LEARN_BCAST=-DLEARN_BCAST AR="$(AR_BASE)" )
3077
3078# compile these without high optimization to speed compile
3079convert_nmm.o : convert_nmm.F
3080init_modules_em.o : init_modules_em.F
3081input_wrf.o : input_wrf.F
3082module_io.o : module_io.F
3083module_comm_dm.o : module_comm_dm.F
3084module_configure.o : module_configure.F
3085module_dm.o : module_dm.F
3086module_domain.o : module_domain.F
3087module_domain_type.o : module_domain_type.F
3088module_alloc_space.o : module_alloc_space.F
3089module_tiles.o : module_tiles.F
3090module_fddaobs_rtfdda.o : module_fddaobs_rtfdda.F
3091module_initialize.o : module_initialize.F
3092module_physics_init.o : module_physics_init.F
3093module_initialize_b_wave.o : module_initialize_b_wave.F
3094module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3095module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3096module_initialize_real.o : module_initialize_real.F
3097module_initialize_real.o: module_initialize_real.F
3098module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3099module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3100module_integrate.o : module_integrate.F
3101module_io_mm5.o : module_io_mm5.F
3102module_io_wrf.o : module_io_wrf.F
3103module_si_io.o : module_si_io.F
3104module_state_description.o : module_state_description.F
3105output_wrf.o : output_wrf.F
3106solve_interface.o : solve_interface.F
3107start_domain.o : start_domain.F
3108start_domain_nmm.o : start_domain_nmm.F
3109start_em.o : start_em.F
3110wrf_auxhist10in.o : wrf_auxhist10in.F
3111wrf_auxhist10out.o : wrf_auxhist10out.F
3112wrf_auxhist11in.o : wrf_auxhist11in.F
3113wrf_auxhist11out.o : wrf_auxhist11out.F
3114wrf_auxhist1in.o : wrf_auxhist1in.F
3115wrf_auxhist1out.o : wrf_auxhist1out.F
3116wrf_auxhist2in.o : wrf_auxhist2in.F
3117wrf_auxhist2out.o : wrf_auxhist2out.F
3118wrf_auxhist3in.o : wrf_auxhist3in.F
3119wrf_auxhist3out.o : wrf_auxhist3out.F
3120wrf_auxhist4in.o : wrf_auxhist4in.F
3121wrf_auxhist4out.o : wrf_auxhist4out.F
3122wrf_auxhist5in.o : wrf_auxhist5in.F
3123wrf_auxhist5out.o : wrf_auxhist5out.F
3124wrf_auxhist6in.o : wrf_auxhist6in.F
3125wrf_auxhist6out.o : wrf_auxhist6out.F
3126wrf_auxhist7in.o : wrf_auxhist7in.F
3127wrf_auxhist7out.o : wrf_auxhist7out.F
3128wrf_auxhist8in.o : wrf_auxhist8in.F
3129wrf_auxhist8out.o : wrf_auxhist8out.F
3130wrf_auxhist9in.o : wrf_auxhist9in.F
3131wrf_auxhist9out.o : wrf_auxhist9out.F
3132wrf_auxinput10in.o : wrf_auxinput10in.F
3133wrf_auxinput10out.o : wrf_auxinput10out.F
3134wrf_auxinput11in.o : wrf_auxinput11in.F
3135wrf_auxinput11out.o : wrf_auxinput11out.F
3136wrf_auxinput1in.o : wrf_auxinput1in.F
3137wrf_auxinput1out.o : wrf_auxinput1out.F
3138wrf_auxinput2in.o : wrf_auxinput2in.F
3139wrf_auxinput2out.o : wrf_auxinput2out.F
3140wrf_auxinput3in.o : wrf_auxinput3in.F
3141wrf_auxinput3out.o : wrf_auxinput3out.F
3142wrf_auxinput4in.o : wrf_auxinput4in.F
3143wrf_auxinput4out.o : wrf_auxinput4out.F
3144wrf_auxinput5in.o : wrf_auxinput5in.F
3145wrf_auxinput5out.o : wrf_auxinput5out.F
3146wrf_auxinput6in.o : wrf_auxinput6in.F
3147wrf_auxinput6out.o : wrf_auxinput6out.F
3148wrf_auxinput7in.o : wrf_auxinput7in.F
3149wrf_auxinput7out.o : wrf_auxinput7out.F
3150wrf_auxinput8in.o : wrf_auxinput8in.F
3151wrf_auxinput8out.o : wrf_auxinput8out.F
3152wrf_auxinput9in.o : wrf_auxinput9in.F
3153wrf_auxinput9out.o : wrf_auxinput9out.F
3154wrf_bdyin.o : wrf_bdyin.F
3155wrf_bdyout.o : wrf_bdyout.F
3156wrf_ext_read_field.o : wrf_ext_read_field.F
3157wrf_ext_write_field.o : wrf_ext_write_field.F
3158wrf_fddaobs_in.o : wrf_fddaobs_in.F
3159wrf_histin.o : wrf_histin.F
3160wrf_histout.o : wrf_histout.F
3161wrf_inputin.o : wrf_inputin.F
3162wrf_inputout.o : wrf_inputout.F
3163wrf_restartin.o : wrf_restartin.F
3164wrf_restartout.o : wrf_restartout.F
3165wrf_tsin.o : wrf_tsin.F
3166nl_get_0_routines.o : nl_get_0_routines.F
3167nl_get_1_routines.o : nl_get_1_routines.F
3168nl_set_0_routines.o : nl_set_0_routines.F
3169nl_set_1_routines.o : nl_set_1_routines.F
3170
3171convert_nmm.o \
3172init_modules_em.o \
3173module_comm_dm.o \
3174module_dm.o \
3175module_alloc_space.o \
3176module_fddaobs_rtfdda.o \
3177module_initialize.o \
3178module_initialize_b_wave.o \
3179module_initialize_hill2d_x.o \
3180module_initialize_quarter_ss.o \
3181module_initialize_real.o \
3182module_initialize_squall2d_x.o \
3183module_initialize_squall2d_y.o \
3184module_integrate.o \
3185module_io_mm5.o \
3186module_io_wrf.o \
3187module_si_io.o \
3188module_tiles.o \
3189output_wrf.o \
3190solve_interface.o \
3191start_domain.o \
3192start_domain_nmm.o \
3193start_em.o \
3194wrf_fddaobs_in.o \
3195wrf_tsin.o :
3196        $(RM) $@
3197        $(SED_FTN) $*.F > $*.b
3198        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
3199        $(RM) $*.b
3200        $(FC) -c $(PROMOTION) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $(OMP) $*.f90
3201
3202# compile without OMP
3203input_wrf.o \
3204module_domain.o \
3205module_domain_type.o \
3206module_physics_init.o \
3207module_io.o \
3208wrf_auxhist10in.o \
3209wrf_auxhist10out.o \
3210wrf_auxhist11in.o \
3211wrf_auxhist11out.o \
3212wrf_auxhist1in.o \
3213wrf_auxhist1out.o \
3214wrf_auxhist2in.o \
3215wrf_auxhist2out.o \
3216wrf_auxhist3in.o \
3217wrf_auxhist3out.o \
3218wrf_auxhist4in.o \
3219wrf_auxhist4out.o \
3220wrf_auxhist5in.o \
3221wrf_auxhist5out.o \
3222wrf_auxhist6in.o \
3223wrf_auxhist6out.o \
3224wrf_auxhist7in.o \
3225wrf_auxhist7out.o \
3226wrf_auxhist8in.o \
3227wrf_auxhist8out.o \
3228wrf_auxhist9in.o \
3229wrf_auxhist9out.o \
3230wrf_auxinput10in.o \
3231wrf_auxinput10out.o \
3232wrf_auxinput11in.o \
3233wrf_auxinput11out.o \
3234wrf_auxinput1in.o \
3235wrf_auxinput1out.o \
3236wrf_auxinput2in.o \
3237wrf_auxinput2out.o \
3238wrf_auxinput3in.o \
3239wrf_auxinput3out.o \
3240wrf_auxinput4in.o \
3241wrf_auxinput4out.o \
3242wrf_auxinput5in.o \
3243wrf_auxinput5out.o \
3244wrf_auxinput6in.o \
3245wrf_auxinput6out.o \
3246wrf_auxinput7in.o \
3247wrf_auxinput7out.o \
3248wrf_auxinput8in.o \
3249wrf_auxinput8out.o \
3250wrf_auxinput9in.o \
3251wrf_auxinput9out.o \
3252wrf_bdyin.o \
3253wrf_bdyout.o \
3254wrf_ext_read_field.o \
3255wrf_ext_write_field.o \
3256wrf_histin.o \
3257wrf_histout.o \
3258wrf_inputin.o \
3259wrf_inputout.o \
3260wrf_restartin.o \
3261wrf_restartout.o \
3262module_state_description.o \
3263nl_set_0_routines.o \
3264nl_set_1_routines.o \
3265nl_get_0_routines.o \
3266nl_get_1_routines.o \
3267module_configure.o :
3268        $(RM) $@
3269        $(SED_FTN) $*.F > $*.b
3270        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $(OMPCPP) $*.b  > $*.f90
3271        $(RM) $*.b
3272        $(FC) -c $(PROMOTION) $(FCSUFFIX) $(FCNOOPT) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3273
3274
3275
3276###########################################################
3277#ARCH    CYGWIN_NT-5.1 Cygwin i486 i586 i686, g95 compiler  (Single-threaded, no nesting)
3278#
3279FC              =       g95
3280LD              =       g95
3281CC              =       gcc
3282SCC             =       $(CC)
3283RWORDSIZE       =       CONFIGURE_RWORDSIZE
3284SFC             =       $(FC)
3285# g95 does not like -r8. if you want -r8, just add it to PROMOTION below
3286#PROMOTION      =       -r$(RWORDSIZE) -i4
3287PROMOTION       =       -i4
3288CFLAGS          =
3289FCOPTIM         =       -O2
3290FCDEBUG         =       #-g
3291FCBASEOPTS      =       -Wno=101,139,155,158 -fno-second-underscore -fendian=big -ffree-form $(FCDEBUG) # -Mlfs
3292FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS)
3293ARCHFLAGS       =       $(COREDEFS) -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3294                        $(DA_ARCHFLAGS) \
3295                         CONFIGURE_NETCDF_FLAG -DGRIB1 CONFIGURE_GRIB2_FLAG \
3296                        -DLIMIT_ARGS -DG95
3297# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3298ESMF_LIB_FLAGS  =       
3299ESMF_IO_LIB     =       ESMFIOLIB
3300ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3301INCLUDE_MODULES =       -fmod=$(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3302                        -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/chem -I$(WRF_SRC_ROOT_DIR)/inc
3303PERL            =       perl
3304REGISTRY        =       Registry
3305LIB             =       CONFIGURE_NETCDF_LIB_PATH \
3306                        -L$(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 -lfftpack \
3307                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib1 -lio_grib1 \
3308                        CONFIGURE_GRIB2_LIB \
3309                        -L$(WRF_SRC_ROOT_DIR)/external/io_grib_share -lio_grib_share \
3310                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o -L$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 -lesmf_time
3311LDFLAGS         =       $(FCFLAGS) CONFIGURE_LDFLAGS
3312ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3313CPP             =       cpp -C -P -traditional
3314POUND_DEF       =       $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3315CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) $(ENVCOMPDEFS) $(POUND_DEF)
3316AR              =       ar ru
3317M4              =       m4 -B 14000
3318RANLIB          =       ranlib
3319NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3320CC_TOOLS        =       $(CC)
3321
3322#### Override default sed command and script for Fortran source files         ####
3323#### This sed script does not pass __FILE__ and __LINE__ to wrf_error_fatal() ####
3324#### because the Fortran compiler complains about long source lines.          ####
3325SED_FTN = sed -f $(WRF_SRC_ROOT_DIR)/arch/no_file_line.sed
3326
3327externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 wrfio_int module_dm.F esmf_time fftpack
3328
3329module_dm.F :
3330        ( /bin/cp module_dm_warning module_dm.F ; cat module_dm_stubs.F >> module_dm.F )
3331
3332wrfio_nf :
3333        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3334          make NETCDFPATH=CONFIGURE_NETCDF_PATH RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3335
3336wrfio_grib_share :
3337        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib_share ; \
3338          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RM="$(RM)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive)
3339
3340wrfio_grib1 :
3341        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib1 ; \
3342          make CC="$(SCC)" CFLAGS="$(CFLAGS)" RANLIB="$(RANLIB)" CPP="$(CPP)" FC="$(SFC) $(PROMOTION) -I. $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" archive )
3343
3344wrfio_grib2 :
3345        ( cd $(WRF_SRC_ROOT_DIR)/external/io_grib2 ; \
3346          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 )
3347
3348
3349wrfio_int :
3350        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3351          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" \
3352          TRADFLAG="-traditional" all )
3353
3354esmf_time :
3355        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3356          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3357
3358fftpack :
3359        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3360          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3361
3362# compile these without high optimization to speed compile
3363solve_interface.o : solve_interface.F
3364shift_domain_em.o : shift_domain_em.F
3365module_io_mm5.o : module_io_mm5.F
3366module_si_io.o : module_si_io.F
3367module_io_wrf.o : module_io_wrf.F
3368module_domain.o : module_domain.F
3369module_start.o : module_start.F
3370module_initialize.o : module_initialize.F
3371module_initialize_b_wave.o : module_initialize_b_wave.F
3372module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3373module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3374module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3375module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3376module_initialize_real.o : module_initialize_real.F
3377module_dm.o : module_dm.F
3378module_comm_dm.o : module_comm_dm.F
3379start_domain.o : start_domain.F
3380mediation_integrate.o : mediation_integrate.F
3381module_configure.o : module_configure.F
3382
3383solve_interface.o                                              \
3384shift_domain_em.o                                              \
3385module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3386module_start.o module_initialize.o module_initialize_b_wave.o  \
3387module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3388module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3389mediation_integrate.o \
3390module_configure.o                                             \
3391module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3392        $(RM) $@
3393        $(SED_FTN) $*.F > $*.b
3394        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3395        $(RM) $*.b
3396        $(FC) -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3397
3398
3399###########################################################
3400#ARCH    PC Interix x86_64 (IA64 and Opteron), PGI 5.2 or higher DM-Parallel   (RSL_LITE, MPICH, Allows nesting)
3401#        Note that for 5.1.x comment out -Mpia=fast
3402#
3403# Notes: for experimental implementation of moving nests, add -DMOVE_NESTS to ARCHFLAGS
3404#        for experimental implementation of vortex tracking nests, add -DMOVE_NESTS -DVORTEX_CENTER to ARCHFLAGS
3405#
3406DMPARALLEL      =       1
3407MAX_PROC        =       1024
3408FC              =       pgf90.exe
3409LD              =       $(FC)
3410CC              =       pgcc.exe
3411CC              =       cc
3412SCC             =       $(CC)
3413SFC             =       $(FC)
3414
3415MPdir           =       /dev/fs/C/Program Files/Microsoft Compute Cluster Pack
3416MPinc           =       -I'$(MPdir)'/Include
3417MSMPdir         =       'C:\Program Files\Microsoft Compute Cluster Pack'
3418MSMPinc         =       /I'C:\Program Files\Microsoft Compute Cluster Pack\Include'
3419MSMPlib         =       'C:\Program Files\Microsoft Compute Cluster Pack\Lib\AMD64\msmpi.lib'
3420
3421RWORDSIZE       =       CONFIGURE_RWORDSIZE
3422PROMOTION       =       -r$(RWORDSIZE) -i4
3423
3424CFLAGS          =       -DLANDREAD_STUB -DMEMCPY_FOR_BCOPY -DMS_SUA -DDM_PARALLEL \
3425                        -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE $(MPinc) #-X /MD
3426FCOPTIM         =       -fastsse #-Mipa=fast
3427FCDEBUG         =       #-g
3428#FCBASEOPTS      =       -w -byteswapio -Ktrap=fp -Mfree $(FCDEBUG)
3429FCBASEOPTS      =       -w -byteswapio -Mfree $(FCDEBUG)
3430FCFLAGS         =       $(FCOPTIM) $(FCBASEOPTS) $(MPinc)
3431
3432ARCHFLAGS       =       $(COREDEFS) \
3433                        -DDM_PARALLEL \
3434                        -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=$(RWORDSIZE) -DLWORDSIZE=4 \
3435                        $(DA_ARCHFLAGS) \
3436                        -DNETCDF -DINTIO \
3437                        -DNO_NAMELIST_PRINT  \
3438                        -DLIMIT_ARGS -DLANDREAD_STUB -DNMM_NEST=$(WRF_NMM_NEST) -DMEMCPY_FOR_BCOPY
3439
3440# machine-specific flags needed to link in ESMF library (C++ run-time-library, etc.)
3441ESMF_LIB_FLAGS  =       
3442ESMF_IO_LIB     =       ESMFIOLIB
3443ESMF_IO_LIB_EXT =       ESMFIOEXTLIB
3444INCLUDE_MODULES =       -module $(WRF_SRC_ROOT_DIR)/main -I$(WRF_SRC_ROOT_DIR)/external/io_netcdf -I$(WRF_SRC_ROOT_DIR)/external/io_int -I$(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 \
3445                        -I$(WRF_SRC_ROOT_DIR)/external -I$(WRF_SRC_ROOT_DIR)/frame -I$(WRF_SRC_ROOT_DIR)/share -I$(WRF_SRC_ROOT_DIR)/phys -I$(WRF_SRC_ROOT_DIR)/inc -I$(WRF_SRC_ROOT_DIR)/chem
3446PERL            =       perl
3447REGISTRY        =       Registry
3448
3449LIB             =       CONFIGURE_NETCDF_LIB_PATH \
3450                        $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5/libfftpack.a \
3451                        $(WRF_SRC_ROOT_DIR)/external/io_int/libwrfio_int.a \
3452                        $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o \
3453                        $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90/libesmf_time.a \
3454                        $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a $(MSMPlib) \
3455                        "c:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\AMD64\bufferoverflowu.lib"
3456
3457LDFLAGS         =       -byteswapio CONFIGURE_LDFLAGS
3458ENVCOMPDEFS     =       CONFIGURE_COMPILEFLAGS
3459CPP             =       /lib/cpp -C -P -traditional
3460POUND_DEF       =       -DNO_RRTM_PHYSICS  -traditional $(COREDEFS) -DNONSTANDARD_SYSTEM -DCONFIG_BUF_LEN=$(CONFIG_BUF_LEN) -DMAX_DOMAINS_F=$(MAX_DOMAINS)
3461CPPFLAGS        =       -I$(LIBINCLUDE) -C -P $(ARCHFLAGS) -I$(WRF_SRC_ROOT_DIR)/external/RSL_LITE -C -P $(ENVCOMPDEFS) $(POUND_DEF)
3462AR              =       ar r
3463M4              =       NA
3464RANLIB          =       ranlib
3465NETCDFPATH      =       CONFIGURE_NETCDF_PATH
3466CC_TOOLS        =       cc
3467LIBWRFLIB       =       libwrflib.a
3468
3469externals : wrf_ioapi_includes CONFIGURE_WRFIO_NF wrfio_grib_share wrfio_grib1 CONFIGURE_WRFIO_GRIB2 $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a wrfio_int gen_comms.c module_dm.F esmf_time fftpack
3470
3471gen_comms.c : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c
3472        ( /bin/cp $(WRF_SRC_ROOT_DIR)/tools/gen_comms_warning $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c ; \
3473          cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/gen_comms.c >> $(WRF_SRC_ROOT_DIR)/tools/gen_comms.c )
3474
3475module_dm.F : $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F
3476        ( /bin/cp module_dm_warning module_dm.F ; cat $(WRF_SRC_ROOT_DIR)/external/RSL_LITE/module_dm.F >> module_dm.F )
3477
3478wrfio_nf :
3479        ( cd $(WRF_SRC_ROOT_DIR)/external/io_netcdf ; \
3480          make LIBS="libwrfio_nf.a 'CONFIGURE_NETCDF_PATH' 'c:\Program Files\Microsoft Platform SDK\Lib\AMD64\bufferoverflowu.lib'" \
3481              NETCDFPATH=CONFIGURE_NETCDF_PATH \
3482              RANLIB="$(RANLIB)" CPP="$(CPP) -DMS_SUA" \
3483              CPP1="$(CPP) -DMS_SUA"  \
3484              FC="$(FC) $(PROMOTION) $(FCFLAGS) -w" TRADFLAG="-traditional" )
3485
3486wrfio_grib_share :
3487
3488wrfio_grib1 :
3489
3490wrfio_grib2 :
3491
3492wrfio_int :
3493        ( cd $(WRF_SRC_ROOT_DIR)/external/io_int ; \
3494          make CC="$(CC)" RANLIB="$(RANLIB)" CPP="$(CPP)" SFC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" FC="$(SFC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS) -w" TRADFLAG="-traditional" all )
3495
3496esmf_time :
3497        ( cd $(WRF_SRC_ROOT_DIR)/external/esmf_time_f90 ; \
3498          make FC="$(FC) $(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP) -I$(WRF_SRC_ROOT_DIR)/inc -I. $(POUND_DEF)" )
3499
3500fftpack :
3501        ( cd $(WRF_SRC_ROOT_DIR)/external/fftpack/fftpack5 ; \
3502          make FC="$(SFC)" FFLAGS="$(PROMOTION) $(FCDEBUG) $(FCBASEOPTS)" RANLIB="$(RANLIB)" )
3503
3504$(WRF_SRC_ROOT_DIR)/external/RSL_LITE/librsl_lite.a :
3505        ( cd $(WRF_SRC_ROOT_DIR)/external/RSL_LITE ; \
3506          /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h ; \
3507          make CPP="$(CPP) $(CPPFLAGS)" CC="$(CC)" CFLAGS="$(CFLAGS)" FC="$(FC) $(PROMOTION) $(FCFLAGS) -byteswapio" MAX_DOMAINS=$(MAX_DOMAINS) MAX_PROC=$(MAX_PROC) )
3508
3509# compile these without high optimization to speed compile
3510solve_interface.o : solve_interface.F
3511shift_domain_em.o : shift_domain_em.F
3512module_io_mm5.o : module_io_mm5.F
3513module_si_io.o : module_si_io.F
3514module_io_wrf.o : module_io_wrf.F
3515module_domain.o : module_domain.F
3516module_start.o : module_start.F
3517module_initialize.o : module_initialize.F
3518module_initialize_b_wave.o : module_initialize_b_wave.F
3519module_initialize_hill2d_x.o : module_initialize_hill2d_x.F
3520module_initialize_quarter_ss.o : module_initialize_quarter_ss.F
3521module_initialize_squall2d_x.o : module_initialize_squall2d_x.F
3522module_initialize_squall2d_y.o : module_initialize_squall2d_y.F
3523module_initialize_real.o : module_initialize_real.F
3524module_dm.o : module_dm.F
3525module_comm_dm.o : module_comm_dm.F
3526start_domain.o : start_domain.F
3527mediation_integrate.o : mediation_integrate.F
3528module_configure.o : module_configure.F
3529
3530solve_interface.o                                              \
3531shift_domain_em.o                                              \
3532module_io_mm5.o module_si_io.o module_io_wrf.o module_domain.o \
3533module_start.o module_initialize.o module_initialize_b_wave.o  \
3534module_initialize_hill2d_x.o module_initialize_quarter_ss.o    \
3535module_initialize_squall2d_x.o module_initialize_squall2d_y.o  \
3536mediation_integrate.o \
3537module_configure.o                                             \
3538module_initialize_real.o module_dm.o module_comm_dm.o start_domain.o :
3539        $(RM) $@
3540        $(SED_FTN) $*.F > $*.b
3541        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3542        $(RM) $*.b
3543        $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3544
3545module_io.o : module_io.F
3546module_dm.o : module_dm.F
3547
3548module_io.o module_dm.o :
3549        $(RM) $@
3550        $(SED_FTN) $*.F > $*.b
3551        $(CPP) -I$(WRF_SRC_ROOT_DIR)/inc $(CPPFLAGS) $*.b  > $*.f90
3552        $(RM) $*.b
3553        /bin/sed -e '/MPI_ADDRESS_KIND=4/d' -e '/DEC\$$/d' '$(MPdir)'/Include/mpif.h > mpif.h
3554        $(FC) -o $*.o -c $(PROMOTION) $(FCBASEOPTS) $(MODULE_DIRS) $*.f90
3555
3556
3557##################################################################
3558#ARCH  NULL
Note: See TracBrowser for help on using the repository browser.