source: lmdz_wrf/trunk/WRFV3/Makefile @ 868

Last change on this file since 868 was 1, checked in by lfita, 10 years ago
  • -- --- Opening of the WRF+LMDZ coupling repository --- -- -

WRF: version v3.3
LMDZ: version v1818

More details in:

File size: 30.4 KB
Line 
1#       Top level Makefile for wrf system
2
3LN      =       ln -s
4MAKE    =       make -i -r
5MV      =       /bin/mv
6RM      =       /bin/rm -f
7CHEM_FILES =    ../chem/module_aerosols_sorgam.o \
8                ../chem/module_gocart_aerosols.o \
9                ../chem/module_mosaic_driver.o \
10                ../chem/module_input_tracer.o
11
12deflt :
13                @ echo Please compile the code using ./compile
14
15include ./configure.wrf
16
17EM_MODULE_DIR = -I../dyn_em
18EM_MODULES =  $(EM_MODULE_DIR)
19
20DA_WRFVAR_MODULES = $(INCLUDE_MODULES)
21DA_WRFVAR_MODULES_2 = $(INC_MOD_WRFVAR)
22
23DA_CONVERTOR_MOD_DIR = -I../var/convertor -p../var/convertor
24DA_CONVERTOR_MODULES = $(DA_CONVERTOR_MOD_DIR) $(INCLUDE_MODULES)
25
26
27#### 3.d.   add macros to specify the modules for this core
28
29#EXP_MODULE_DIR = -I../dyn_exp
30#EXP_MODULES =  $(EXP_MODULE_DIR)
31
32# set this in the compile script now
33#J = -j 6
34
35NMM_MODULE_DIR = -I../dyn_nmm
36NMM_MODULES =  $(NMM_MODULE_DIR)
37
38ALL_MODULES =                           \
39               $(EM_MODULE_DIR)         \
40               $(NMM_MODULES)           \
41               $(EXP_MODULES)           \
42               $(INCLUDE_MODULES)
43
44configcheck:
45        @if [ "$(A2DCASE)" -a "$(DMPARALLEL)" ] ; then \
46         echo "------------------------------------------------------------------------------" ; \
47         echo "WRF CONFIGURATION ERROR                                                       " ; \
48         echo "The $(A2DCASE) case cannot be used on distributed memory parallel systems." ; \
49         echo "Only 3D WRF cases will run on these systems." ; \
50         echo "Please chose a different case or rerun configure and chose a different option."  ; \
51         echo "------------------------------------------------------------------------------" ; \
52         exit 2 ; \
53        fi
54
55framework_only : configcheck
56        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" ext
57        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" toolsdir
58        /bin/rm -f main/libwrflib.a main/libwrflib.lib
59        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" framework
60        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" shared
61
62wrf : framework_only
63        ( cd $(WRF_SRC_ROOT_DIR)/lmdz ; make CC="$(CC) $(CFLAGS)" \
64          FC="$(FC) $(FCFLAGS) $(PROMOTION) $(BYTESWAPIO)" \
65          CPP="$(CPP) $(CPPFLAGS) -I. $(ARCHFLAGS) $(TRADFLAG)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ;\
66          $(RANLIB) $(WRF_SRC_ROOT_DIR)/lmdz/lmdz.a )
67        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" physics
68        if [ $(WRF_CHEM) -eq 1 ]    ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" chemics ; fi
69        if [ $(WRF_EM_CORE) -eq 1 ]    ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" em_core ; fi
70        if [ $(WRF_NMM_CORE) -eq 1 ]   ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" nmm_core ; fi
71        if [ $(WRF_EXP_CORE) -eq 1 ]   ; then $(MAKE) MODULE_DIRS="$(ALL_MODULES)" exp_core ; fi
72        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em em_wrf )
73        ( cd run ; /bin/rm -f wrf.exe ; ln -s ../main/wrf.exe . )
74        if [ $(ESMF_COUPLING) -eq 1 ] ; then \
75          ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em em_wrf_SST_ESMF ) ; \
76        fi
77        @echo "build started:   $(START_OF_COMPILE)"
78        @echo "build completed:" `date`
79
80all_wrfvar : 
81        $(MAKE) MODULE_DIRS="$(DA_WRFVAR_MODULES)" ext
82        $(MAKE) MODULE_DIRS="$(DA_WRFVAR_MODULES)" toolsdir
83        if [ $(CRTM) ] ; then \
84          (cd var/external/crtm; \
85           export ABI_CRTM="${ABI_CRTM}"; . configure/$(SFC_CRTM).setup; $(MAKE) $(J) ) ; \
86        fi
87        if [ $(BUFR) ] ; then \
88          (cd var/external/bufr;  \
89          $(MAKE) $(J) FC="$(SFC)" CC="$(SCC)" CPP="$(CPP)" CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" FFLAGS="$(FCDEBUG) $(FORMAT_FIXED)" RANLIB="$(RANLIB)" AR="$(AR)" ARFLAGS="$(ARFLAGS)" ) ; \
90        fi
91### Use 'make' to avoid '-i -r' above:
92        if [ $(WAVELET) ] ; then \
93          ( cd var/external/wavelet; \
94                make CC="$(SC99) -DNOUNDERSCORE" RM="$(RM)" libWavelet.a; \
95                make FC="$(FC)" RM="$(RM)" lib_wavelet.a ) ; \
96        fi
97#       ( cd var/build; touch depend.txt; make links; make depend; $(MAKE) $(J) all_wrfvar )
98        ( cd var/build; make depend; $(MAKE) $(J) all_wrfvar )
99        ( cd var/obsproc; $(MAKE) $(J) BUFR_CPP="$(BUFR_CPP)" )
100        @echo "build started:   $(START_OF_COMPILE)"
101        @echo "build completed:" `date`
102
103### 3.a.  rules to build the framework and then the experimental core
104
105exp_wrf : configcheck
106        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" ext
107        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" toolsdir
108        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" framework
109        $(MAKE) MODULE_DIRS="$(ALL_MODULES)" shared
110        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=exp exp_wrf )
111
112
113nmm_wrf : wrf
114
115
116#  Eulerian mass coordinate initializations
117
118em_fire : wrf
119        @ echo '--------------------------------------'
120        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=fire em_ideal )
121        ( cd test/em_fire ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
122        ( cd test/em_fire ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
123        ( cd test/em_fire ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
124        ( cd test/em_fire ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
125        ( cd test/em_fire ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
126        ( cd test/em_fire ; /bin/sh create_links.sh )
127        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
128        ( cd run ; if test -f namelist.input ; then \
129                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
130                /bin/rm -f namelist.input ; ln -s ../test/em_fire/namelist.input . )
131        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_fire/input_sounding . )
132        @echo "build started:   $(START_OF_COMPILE)"
133        @echo "build completed:" `date`
134
135em_quarter_ss : wrf
136        @ echo '--------------------------------------'
137        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=quarter_ss em_ideal )
138        ( cd test/em_quarter_ss ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
139        ( cd test/em_quarter_ss ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
140        ( cd test/em_quarter_ss ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
141        ( cd test/em_quarter_ss ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
142        ( cd test/em_quarter_ss ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
143        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
144        ( cd run ; if test -f namelist.input ; then \
145                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
146                /bin/rm -f namelist.input ; ln -s ../test/em_quarter_ss/namelist.input . )
147        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_quarter_ss/input_sounding . )
148        @echo "build started:   $(START_OF_COMPILE)"
149        @echo "build completed:" `date`
150
151em_squall2d_x : wrf
152        @ echo '--------------------------------------'
153        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=squall2d_x em_ideal )
154        ( cd test/em_squall2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
155        ( cd test/em_squall2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
156        ( cd test/em_squall2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
157        ( cd test/em_squall2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
158        ( cd test/em_squall2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
159        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
160        ( cd run ; if test -f namelist.input ; then \
161                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
162                /bin/rm -f namelist.input ; ln -s ../test/em_squall2d_x/namelist.input . )
163        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_squall2d_x/input_sounding . )
164        @echo "build started:   $(START_OF_COMPILE)"
165        @echo "build completed:" `date`
166
167em_squall2d_y : wrf
168        @ echo '--------------------------------------'
169        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=squall2d_y em_ideal )
170        ( cd test/em_squall2d_y ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
171        ( cd test/em_squall2d_y ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
172        ( cd test/em_squall2d_y ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
173        ( cd test/em_squall2d_y ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
174        ( cd test/em_squall2d_y ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
175        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
176        ( cd run ; if test -f namelist.input ; then \
177                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
178                /bin/rm -f namelist.input ; ln -s ../test/em_squall2d_y/namelist.input . )
179        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_squall2d_y/input_sounding . )
180        @echo "build started:   $(START_OF_COMPILE)"
181        @echo "build completed:" `date`
182
183em_b_wave : wrf
184        @ echo '--------------------------------------'
185        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=b_wave em_ideal )
186        ( cd test/em_b_wave ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
187        ( cd test/em_b_wave ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
188        ( cd test/em_b_wave ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
189        ( cd test/em_b_wave ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
190        ( cd test/em_b_wave ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
191        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
192        ( cd run ; if test -f namelist.input ; then \
193                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
194                /bin/rm -f namelist.input ; ln -s ../test/em_b_wave/namelist.input . )
195        ( cd run ; /bin/rm -f input_jet ; ln -s ../test/em_b_wave/input_jet . )
196        @echo "build started:   $(START_OF_COMPILE)"
197        @echo "build completed:" `date`
198
199em_les : wrf
200        @ echo '--------------------------------------'
201        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=les em_ideal )
202        ( cd test/em_les ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
203        ( cd test/em_les ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
204        ( cd test/em_les ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
205        ( cd test/em_les ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
206        ( cd test/em_les ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
207        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
208        ( cd run ; if test -f namelist.input ; then \
209                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
210                /bin/rm -f namelist.input ; ln -s ../test/em_les/namelist.input . )
211        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_les/input_sounding . )
212        @echo "build started:   $(START_OF_COMPILE)"
213        @echo "build completed:" `date`
214
215em_seabreeze2d_x : wrf
216        @ echo '--------------------------------------'
217        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=seabreeze2d_x em_ideal )
218        ( cd test/em_seabreeze2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
219        ( cd test/em_seabreeze2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
220        ( cd test/em_seabreeze2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
221        ( cd test/em_seabreeze2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
222        ( cd test/em_seabreeze2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
223        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
224        ( cd run ; if test -f namelist.input ; then \
225                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
226                /bin/rm -f namelist.input ; ln -s ../test/em_seabreeze2d_x/namelist.input . )
227        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_seabreeze2d_x/input_sounding . )
228        @echo "build started:   $(START_OF_COMPILE)"
229        @echo "build completed:" `date`
230
231em_tropical_cyclone : wrf
232        @ echo '--------------------------------------'
233        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=tropical_cyclone em_ideal )
234        ( cd test/em_tropical_cyclone ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
235        ( cd test/em_tropical_cyclone ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
236        ( cd test/em_tropical_cyclone ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
237        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
238        ( cd run ; if test -f namelist.input ; then \
239                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
240                /bin/rm -f namelist.input ; ln -s ../test/em_tropical_cyclone/namelist.input . )
241        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_tropical_cyclone/input_sounding . )
242        @echo "build started:   $(START_OF_COMPILE)"
243        @echo "build completed:" `date`
244
245em_scm_xy : wrf
246        @ echo '--------------------------------------'
247        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=scm_xy em_ideal )
248        ( cd test/em_scm_xy ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
249        ( cd test/em_scm_xy ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
250        ( cd test/em_scm_xy ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
251        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
252        ( cd run ; if test -f namelist.input ; then \
253                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
254                /bin/rm -f namelist.input ; ln -s ../test/em_scm_xy/namelist.input . )
255        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_scm_xy/input_sounding . )
256        @echo "build started:   $(START_OF_COMPILE)"
257        @echo "build completed:" `date`
258
259convert_em : framework_only
260        if [ $(WRF_CONVERT) -eq 1 ] ; then \
261            ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" convert_em ) ; \
262        fi
263
264# Link wrf.exe and wrf_SST_ESMF.exe into
265# test/em_esmf_exp when ESMF_COUPLING is set.  wrf.exe
266# can be used for stand-alone testing in this case. 
267# wrf_SST_ESMF.exe is a coupled application.  Note that make
268# target $(SOLVER)_wrf_SST_ESMF builds wrf_SST_ESMF.exe. 
269em_real : wrf
270        @ echo '--------------------------------------'
271        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real em_real )
272        ( cd test/em_real ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
273        if [ $(ESMF_COUPLING) -eq 1 ] ; then \
274          ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real em_wrf_SST_ESMF ) ; \
275          ( cd test/em_esmf_exp ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . ) ; \
276          ( cd test/em_esmf_exp ; /bin/rm -f wrf_SST_ESMF.exe ; ln -s ../../main/wrf_SST_ESMF.exe . ) ; \
277          ( cd test/em_esmf_exp ; /bin/rm -f real.exe ; ln -s ../../main/real.exe . ) ; \
278          ( cd test/em_esmf_exp ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . ) ; \
279          ( cd test/em_esmf_exp ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA RRTMG_LW_DATA RRTMG_SW_DATA ; \
280               ln -sf ../../run/ETAMPNEW_DATA . ;                      \
281               ln -sf ../../run/RRTM_DATA . ;                          \
282               ln -sf ../../run/RRTMG_LW_DATA . ;                      \
283               ln -sf ../../run/RRTMG_SW_DATA . ;                      \
284               ln -sf ../../run/CAM_ABS_DATA . ;                       \
285               ln -sf ../../run/CAM_AEROPT_DATA . ;                    \
286               ln -sf ../../run/ozone.formatted . ;                    \
287               ln -sf ../../run/ozone_lat.formatted . ;                \
288               ln -sf ../../run/ozone_plev.formatted . ;               \
289               if [ $(RWORDSIZE) -eq 8 ] ; then                        \
290                  ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ;   \
291                  ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA         ;   \
292                  ln -sf ../../run/RRTMG_LW_DATA_DBL RRTMG_LW_DATA ;   \
293                  ln -sf ../../run/RRTMG_SW_DATA_DBL RRTMG_SW_DATA ;   \
294               fi ) ; \
295          ( cd test/em_esmf_exp ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . ) ; \
296          ( cd test/em_esmf_exp ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . ) ; \
297          ( cd test/em_esmf_exp ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . ) ; \
298          ( cd test/em_esmf_exp ; /bin/rm -f URBPARM.TBL ; ln -s ../../run/URBPARM.TBL . ) ; \
299          ( cd test/em_esmf_exp ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . ) ; \
300          ( cd test/em_esmf_exp ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . ) ; \
301          ( cd test/em_esmf_exp ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . ) ; \
302          ( cd test/em_esmf_exp ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . ) ; \
303          ( cd test/em_esmf_exp ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . ) ; \
304          ( cd test/em_esmf_exp ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . ) ; \
305        fi
306        ( cd test/em_real ; /bin/rm -f real.exe ; ln -s ../../main/real.exe . )
307        ( cd test/em_real ; /bin/rm -f tc.exe ; ln -s ../../main/tc.exe . )
308        ( cd test/em_real ; /bin/rm -f ndown.exe ; ln -s ../../main/ndown.exe . )
309        ( cd test/em_real ; /bin/rm -f nup.exe ; ln -s ../../main/nup.exe . )
310        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
311        ( cd test/em_real ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA RRTMG_LW_DATA RRTMG_SW_DATA ;    \
312             ln -sf ../../run/ETAMPNEW_DATA . ;                     \
313             ln -sf ../../run/RRTM_DATA . ;                         \
314             ln -sf ../../run/RRTMG_LW_DATA . ;                      \
315             ln -sf ../../run/RRTMG_SW_DATA . ;                      \
316             ln -sf ../../run/CAM_ABS_DATA . ;                         \
317             ln -sf ../../run/CAM_AEROPT_DATA . ;                         \
318             ln -sf ../../run/ozone.formatted . ;                         \
319             ln -sf ../../run/ozone_lat.formatted . ;                         \
320             ln -sf ../../run/ozone_plev.formatted . ;                         \
321             if [ $(RWORDSIZE) -eq 8 ] ; then                       \
322                ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ;  \
323                ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ;          \
324                ln -sf ../../run/RRTMG_LW_DATA_DBL RRTMG_LW_DATA ;  \
325                ln -sf ../../run/RRTMG_SW_DATA_DBL RRTMG_SW_DATA ;  \
326             fi )
327        ( cd test/em_real ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . )
328        ( cd test/em_real ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . )
329        ( cd test/em_real ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . )
330        ( cd test/em_real ; /bin/rm -f URBPARM.TBL ; ln -s ../../run/URBPARM.TBL . )
331        ( cd test/em_real ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . )
332        ( cd test/em_real ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . )
333        ( cd test/em_real ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . )
334        ( cd test/em_real ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . )
335        ( cd test/em_real ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
336        ( cd test/em_real ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
337        ( cd run ; /bin/rm -f real.exe ; ln -s ../main/real.exe . )
338        ( cd run ; /bin/rm -f tc.exe ; ln -s ../main/tc.exe . )
339        ( cd run ; /bin/rm -f ndown.exe ; ln -s ../main/ndown.exe . )
340        ( cd run ; /bin/rm -f nup.exe ; ln -s ../main/nup.exe . )
341        ( cd run ; if test -f namelist.input ; then \
342                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
343                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
344        @echo "build started:   $(START_OF_COMPILE)"
345        @echo "build completed:" `date`
346
347
348em_hill2d_x : wrf
349        @ echo '--------------------------------------'
350        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=hill2d_x em_ideal )
351        ( cd test/em_hill2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
352        ( cd test/em_hill2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
353        ( cd test/em_hill2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
354        ( cd test/em_hill2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
355        ( cd test/em_hill2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
356        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
357        ( cd run ; if test -f namelist.input ; then \
358                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
359                /bin/rm -f namelist.input ; ln -s ../test/em_hill2d_x/namelist.input . )
360        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_hill2d_x/input_sounding . )
361        @echo "build started:   $(START_OF_COMPILE)"
362        @echo "build completed:" `date`
363
364em_grav2d_x : wrf
365        @ echo '--------------------------------------'
366        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=grav2d_x em_ideal )
367        ( cd test/em_grav2d_x ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
368        ( cd test/em_grav2d_x ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
369        ( cd test/em_grav2d_x ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
370        ( cd test/em_grav2d_x ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
371        ( cd test/em_grav2d_x ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
372        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
373        ( cd run ; if test -f namelist.input ; then \
374                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
375                /bin/rm -f namelist.input ; ln -s ../test/em_grav2d_x/namelist.input . )
376        ( cd run ; /bin/rm -f input_sounding ; ln -s ../test/em_grav2d_x/input_sounding . )
377        @echo "build started:   $(START_OF_COMPILE)"
378        @echo "build completed:" `date`
379
380em_heldsuarez : wrf
381        @ echo '--------------------------------------'
382        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=heldsuarez em_ideal )
383        ( cd test/em_heldsuarez ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
384        ( cd test/em_heldsuarez ; /bin/rm -f ideal.exe ; ln -s ../../main/ideal.exe . )
385        ( cd test/em_heldsuarez ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
386        ( cd test/em_heldsuarez ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
387        ( cd test/em_heldsuarez ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
388        ( cd run ; /bin/rm -f ideal.exe ; ln -s ../main/ideal.exe . )
389        ( cd run ; if test -f namelist.input ; then \
390                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
391                /bin/rm -f namelist.input ; ln -s ../test/em_heldsuarez/namelist.input . )
392        @echo "build started:   $(START_OF_COMPILE)"
393        @echo "build completed:" `date`
394
395#### anthropogenic emissions converter
396
397emi_conv : wrf
398        @ echo '--------------------------------------'
399        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_emiss )
400        ( cd test/em_real ; /bin/rm -f convert_emiss.exe ; ln -s ../../chem/convert_emiss.exe . )
401        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
402        ( cd run ; if test -f namelist.input ; then \
403                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
404                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
405
406#### emissions opt 3 converter
407
408opt3_conv : wrf
409        @ echo '--------------------------------------'
410        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_fireemiss )
411        ( cd test/em_real ; /bin/rm -f convert_fireemiss.exe ; ln -s ../../chem/convert_fireemiss.exe . )
412        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
413        ( cd run ; if test -f namelist.input ; then \
414                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
415                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
416
417#### biogenic emissions converter
418
419bio_conv : wrf
420        @ echo '--------------------------------------'
421        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_bioemiss )
422        ( cd test/em_real ; /bin/rm -f convert_bioemiss.exe ; ln -s ../../chem/convert_bioemiss.exe . )
423        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
424        ( cd run ; if test -f namelist.input ; then \
425                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
426                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
427
428bioemiss_conv_megan2 : wrf
429        @ echo '--------------------------------------'
430        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_bioemiss_megan2 )
431        ( cd test/em_real ; /bin/rm -f convert_bioemiss_megan2.exe ; ln -s ../../chem/convert_bioemiss_megan2.exe . )
432        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
433        ( cd run ; if test -f namelist.input ; then \
434                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
435                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
436
437#### DMS emissions converter
438
439dms_conv : wrf
440        @ echo '--------------------------------------'
441        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_dms )
442        ( cd test/em_real ; /bin/rm -f convert_dms.exe ; ln -s ../../chem/convert_dms.exe . )
443        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
444        ( cd run ; if test -f namelist.input ; then \
445                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
446                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
447
448
449#### Dust errosion factor emissions converter
450
451dust_conv : wrf
452        @ echo '--------------------------------------'
453        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_dust )
454        ( cd test/em_real ; /bin/rm -f convert_dust.exe ; ln -s ../../chem/convert_dust.exe . )
455        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
456        ( cd run ; if test -f namelist.input ; then \
457                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
458                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
459
460#### GOCART background state for oh, no3 and h2o2 converter
461
462gocart_conv : wrf
463        @ echo '--------------------------------------'
464        ( cd chem ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=em IDEAL_CASE=real convert_gocart )
465        ( cd test/em_real ; /bin/rm -f convert_gocart.exe ; ln -s ../../chem/convert_gocart.exe . )
466        ( cd test/em_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
467        ( cd run ; if test -f namelist.input ; then \
468                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
469                /bin/rm -f namelist.input ; ln -s ../test/em_real/namelist.input . )
470
471
472#### nmm converter
473
474nmm_real : nmm_wrf
475        @ echo '--------------------------------------'
476        ( cd main ; $(MAKE) MODULE_DIRS="$(ALL_MODULES)" SOLVER=nmm IDEAL_CASE=real real_nmm )
477        ( cd test/nmm_real ; /bin/rm -f wrf.exe ; ln -s ../../main/wrf.exe . )
478        ( cd test/nmm_real ; /bin/rm -f real_nmm.exe ; ln -s ../../main/real_nmm.exe . )
479        ( cd test/nmm_real ; /bin/rm -f README.namelist ; ln -s ../../run/README.namelist . )
480        ( cd test/nmm_real ; /bin/rm -f ETAMPNEW_DATA RRTM_DATA ;    \
481             ln -sf ../../run/ETAMPNEW_DATA . ;                     \
482             ln -sf ../../run/RRTM_DATA . ;                         \
483             if [ $(RWORDSIZE) -eq 8 ] ; then                       \
484                ln -sf ../../run/ETAMPNEW_DATA_DBL ETAMPNEW_DATA ;  \
485                ln -sf ../../run/RRTM_DATA_DBL RRTM_DATA ;          \
486             fi )
487        ( cd test/nmm_real ; /bin/rm -f GENPARM.TBL ; ln -s ../../run/GENPARM.TBL . )
488        ( cd test/nmm_real ; /bin/rm -f LANDUSE.TBL ; ln -s ../../run/LANDUSE.TBL . )
489        ( cd test/nmm_real ; /bin/rm -f SOILPARM.TBL ; ln -s ../../run/SOILPARM.TBL . )
490        ( cd test/nmm_real ; /bin/rm -f VEGPARM.TBL ; ln -s ../../run/VEGPARM.TBL . )
491        ( cd test/nmm_real ; /bin/rm -f tr49t67 ; ln -s ../../run/tr49t67 . )
492        ( cd test/nmm_real ; /bin/rm -f tr49t85 ; ln -s ../../run/tr49t85 . )
493        ( cd test/nmm_real ; /bin/rm -f tr67t85 ; ln -s ../../run/tr67t85 . )
494        ( cd test/nmm_real ; /bin/rm -f gribmap.txt ; ln -s ../../run/gribmap.txt . )
495        ( cd test/nmm_real ; /bin/rm -f grib2map.tbl ; ln -s ../../run/grib2map.tbl . )
496        ( cd test/nmm_real ; /bin/rm -f co2_trans ; ln -s ../../run/co2_trans . )
497        ( cd run ; /bin/rm -f real_nmm.exe ; ln -s ../main/real_nmm.exe . )
498        ( cd run ; if test -f namelist.input ; then \
499                /bin/cp -f namelist.input namelist.input.backup ; fi ; \
500                /bin/rm -f namelist.input ; ln -s ../test/nmm_real/namelist.input . )
501
502
503
504# semi-Lagrangian initializations
505
506
507ext :
508        @ echo '--------------------------------------'
509        ( cd frame ; $(MAKE) externals )
510
511framework :
512        @ echo '--------------------------------------'
513        ( cd frame ; $(MAKE) $(J) framework; \
514          cd ../external/io_netcdf ; \
515          $(MAKE) NETCDFPATH="$(NETCDFPATH)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \
516               CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
517               ESMF_MOD_DEPENDENCE="$(ESMF_MOD_DEPENDENCE)" AR="INTERNAL_BUILD_ERROR_SHOULD_NOT_NEED_AR" diffwrf; \
518          cd ../io_int ; \
519          $(MAKE) SFC="$(SFC) $(FCBASEOPTS)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
520               TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
521               ESMF_MOD_DEPENDENCE="$(ESMF_MOD_DEPENDENCE)" AR="INTERNAL_BUILD_ERROR_SHOULD_NOT_NEED_AR" diffwrf ; \
522          cd ../../frame )
523
524#          cd ../external/io_netcdf ; \
525#          $(MAKE) NETCDFPATH="$(NETCDFPATH)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" \
526#               CPP="$(CPP)" LDFLAGS="$(LDFLAGS)" TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
527#               ESMF_MOD_DEPENDENCE="$(ESMF_MOD_DEPENDENCE)" AR="$(AR)" ARFLAGS+"$(ARFLAGS)" diffwrf; \
528#          cd ../io_int ; \
529#          $(MAKE) SFC="$(SFC) $(FCBASEOPTS)" FC="$(SFC) $(FCBASEOPTS)" RANLIB="$(RANLIB)" CPP="$(CPP)" \
530#               TRADFLAG="$(TRADFLAG)" ESMF_IO_LIB_EXT="$(ESMF_IO_LIB_EXT)" \
531#               ESMF_MOD_DEPENDENCE="$(ESMF_MOD_DEPENDENCE)" AR="$(AR)" "$(ARFLAGS)" diffwrf ; \
532
533shared :
534        @ echo '--------------------------------------'
535        ( cd share ; $(MAKE) $(J) )
536
537chemics :
538        @ echo '--------------------------------------'
539        if [ $(WRF_KPP) -eq 1 ] ; then ( cd chem ; $(MAKE) ) ; fi
540        if [ $(WRF_KPP) -eq 0 ] ; then ( cd chem ; $(MAKE) $(J) ) ; fi
541#       ( cd chem ; $(MAKE) )
542#       ( cd chem ; $(MAKE) $(J) )
543
544physics :
545        @ echo '--------------------------------------'
546        ( cd phys ; $(MAKE)  $(J) )
547
548em_core :
549        @ echo '--------------------------------------'
550        if [ $(WRF_CHEM) -eq 0 ] ; then \
551                CF= ; \
552        else \
553                CF=$(CHEM_FILES) ; \
554        fi
555        ( cd dyn_em ; $(MAKE) $(J) CF="$(CF)" )
556
557# rule used by configure to test if this will compile with MPI 2 calls MPI_Comm_f2c and _c2f
558mpi2_test :
559        @ cd tools ; /bin/rm -f mpi2_test ; $(CC) -c mpi2_test.c ; cd ..
560
561# rule used by configure to test if this will compile with MPI 2 calls MPI_Init_thread
562mpi2_thread_test :
563        @ cd tools ; /bin/rm -f mpi2_thread_test ; $(CC) -c mpi2_thread_test.c ; cd ..
564
565# rule used by configure to test if fseeko and fseeko64 are supported (for share/landread.c to work right)
566fseek_test :
567        @ cd tools ; /bin/rm -f fseeko_test ; $(SCC) -DTEST_FSEEKO -o fseeko_test fseek_test.c ; cd ..
568        @ cd tools ; /bin/rm -f fseeko64_test ; $(SCC) -DTEST_FSEEKO64 -o fseeko64_test fseek_test.c ; cd ..
569
570### 3.b.  sub-rule to build the expimental core
571
572# uncomment the two lines after exp_core for EXP
573exp_core :
574        @ echo '--------------------------------------'
575        ( cd dyn_exp ; $(MAKE) )
576
577# uncomment the two lines after nmm_core for NMM
578nmm_core :
579        @ echo '--------------------------------------'
580        ( cd dyn_nmm ; $(MAKE) )
581
582toolsdir :
583        @ echo '--------------------------------------'
584        ( cd tools ; $(MAKE) CC_TOOLS="$(CC_TOOLS) -DIWORDSIZE=$(IWORDSIZE) -DMAX_HISTORY=$(MAX_HISTORY)" )
585
586
587#       ( cd tools ; $(MAKE) CC_TOOLS="$(CC_TOOLS) -DIO_MASK_SIZE=$(IO_MASK_SIZE)" )
588
589# Use this target to build stand-alone tests of esmf_time_f90. 
590# Only touches external/esmf_time_f90/. 
591esmf_time_f90_only :
592        @ echo '--------------------------------------'
593        ( cd external/esmf_time_f90 ; $(MAKE) FC="$(FC) $(FCFLAGS)" CPP="$(CPP) -DTIME_F90_ONLY" tests )
594
595clean :
596                @ echo 'Use the clean script'
597
598# DO NOT DELETE
Note: See TracBrowser for help on using the repository browser.