/[MITgcm]/MITgcm/adjoint/makefile
ViewVC logotype

Diff of /MITgcm/adjoint/makefile

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.18 by heimbach, Thu Nov 8 23:41:59 2001 UTC revision 1.25 by heimbach, Thu Nov 14 22:37:39 2002 UTC
# Line 2  SHELL           = /bin/tcsh Line 2  SHELL           = /bin/tcsh
2  RM               = rm -f  RM               = rm -f
3  LOC              = $(PWD)  LOC              = $(PWD)
4  TAMC             = tamc  TAMC             = tamc
5  TAF              = ~fastopt/bin/taf  ###TAMC             = /data43/ralf/tamc/tamc
6    TAF              = taf
7    ###TAF              = ~fastopt/bin/taf
8  DEST             = .  DEST             = .
9  SOURCE_CODE      = ../bin  SOURCE_CODE      = ../bin
10  ADJOINT_SCRIPT   = ../adjoint  ADJOINT_SCRIPT   = ../adjoint
11  BASE             = ..  BASE             = ..
12  PKG             = $(BASE)/pkg  PKG             = $(BASE)/pkg
13  ADTAMCFLAGS      = -reverse -i4 -r4 -admark  ad  #
14  ADTAFFLAGS       = -reverse -i4 -r4 -admark  ad  ADTAMCFLAGS      = -reverse -admark ad -i4 -r4
15  TLTAMCFLAGS      = -forward -i4 -r4 -ftlmark g_  ADTAFFLAGS       = -reverse -admark ad -i4 -r4 \
16  TLTAFFLAGS       = -forward -i4 -r4 -ftlmark g_                          -flow taf_flow.log -nonew_arg
17    FTLTAMCFLAGS     = -forward -ftlmark g_ -i4 -r4
18    FTLTAFFLAGS      = -forward -ftlmark g_ -i4 -r4 \
19                            -flow taf_flow.log -nonew_arg
20    SVDTAMCFLAGS     = -reverse -forward -pure -i4 -r4
21    SVDTAFFLAGS      = -reverse -forward -pure -i4 -r4 \
22                            -flow taf_flow.log -nonew_arg
23    #
24  # -warn_step -flow taf_flow.log  # -warn_step -flow taf_flow.log
25    
26  DIFF_FLAGS       = -toplevel the_main_loop              \  DIFF_FLAGS       = -toplevel the_main_loop              \
# Line 22  DIFF_FLAGS       = -toplevel the_main_lo Line 31  DIFF_FLAGS       = -toplevel the_main_lo
31                                  xx_sflux_dummy          \                                  xx_sflux_dummy          \
32                                  xx_tauu_dummy           \                                  xx_tauu_dummy           \
33                                  xx_tauv_dummy           \                                  xx_tauv_dummy           \
                                 xx_sss_dummy            \  
34                                  xx_sst_dummy            \                                  xx_sst_dummy            \
35                                    xx_sss_dummy            \
36                                  xx_diffkr_dummy         \                                  xx_diffkr_dummy         \
37                                  xx_kapgm_dummy'         \                                  xx_kapgm_dummy          \
38                                    xx_efluxy_dummy         \
39                                    xx_efluxp_dummy'        \
40                     -output 'fc'                     -output 'fc'
41    #
42    #                   -output 'objf_vector'
43    #                   -output 'fc'
44    
45  ADTAMCFLAG         = $(ADTAMCFLAGS) $(DIFF_FLAGS)  ADTAMCFLAG         = $(ADTAMCFLAGS) $(DIFF_FLAGS)
46  ADTAFFLAG          = $(ADTAFFLAGS)  $(DIFF_FLAGS)  ADTAFFLAG          = $(ADTAFFLAGS)  $(DIFF_FLAGS)
47    
48  TLTAMCFLAG         = $(TLTAMCFLAGS) $(DIFF_FLAGS)  FTLTAMCFLAG         = $(FTLTAMCFLAGS) $(DIFF_FLAGS)
49  TLTAFFLAG          = $(TLTAFFLAGS)  $(DIFF_FLAGS)  FTLTAFFLAG          = $(FTLTAFFLAGS)  $(DIFF_FLAGS)
50    
51    SVDTAMCFLAG         = $(SVDTAMCFLAGS) $(DIFF_FLAGS)
52    SVDTAFFLAG          = $(SVDTAFFLAGS)  $(DIFF_FLAGS)
53    
54  # Source files for the MITgcmUV  # Source files for the MITgcmUV
55  SRC_MODEL       = \  SRC_MODEL       = \
# Line 42  SRC_MODEL      = \ Line 59  SRC_MODEL      = \
59                  $(PKG)/autodiff/diags.flow              \                  $(PKG)/autodiff/diags.flow              \
60                  $(PKG)/autodiff/cg2d.flow               \                  $(PKG)/autodiff/cg2d.flow               \
61                  $(PKG)/autodiff/debug.flow              \                  $(PKG)/autodiff/debug.flow              \
62                    $(PKG)/autodiff/do_the_model_io.flow    \
63                  $(PKG)/autodiff/dummy_in_stepping.flow  \                  $(PKG)/autodiff/dummy_in_stepping.flow  \
                 $(PKG)/autodiff/external_fields_load.flow       \  
64                  $(PKG)/autodiff/eesupp.flow             \                  $(PKG)/autodiff/eesupp.flow             \
65                  $(PKG)/autodiff/active_file.flow        \                  $(PKG)/autodiff/active_file.flow        \
66                  $(PKG)/autodiff/write_state.flow        \                  $(PKG)/autodiff/write_state.flow        \
# Line 66  SRC_MODEL      = \ Line 83  SRC_MODEL      = \
83                  $(SOURCE_CODE)/calc_common_factors.f            \                  $(SOURCE_CODE)/calc_common_factors.f            \
84                  $(SOURCE_CODE)/calc_diffusivity.f               \                  $(SOURCE_CODE)/calc_diffusivity.f               \
85                  $(SOURCE_CODE)/calc_div_ghat.f                  \                  $(SOURCE_CODE)/calc_div_ghat.f                  \
                 $(SOURCE_CODE)/calc_exact_eta.f                 \  
86                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \
87                  $(SOURCE_CODE)/calc_gs.f                        \                  $(SOURCE_CODE)/calc_gs.f                        \
88                  $(SOURCE_CODE)/calc_gt.f                        \                  $(SOURCE_CODE)/calc_gt.f                        \
# Line 78  SRC_MODEL      = \ Line 94  SRC_MODEL      = \
94                  $(SOURCE_CODE)/convect.f                        \                  $(SOURCE_CODE)/convect.f                        \
95                  $(SOURCE_CODE)/convective_adjustment.f          \                  $(SOURCE_CODE)/convective_adjustment.f          \
96                  $(SOURCE_CODE)/convective_adjustment_ini.f      \                  $(SOURCE_CODE)/convective_adjustment_ini.f      \
97                    $(SOURCE_CODE)/convective_weights.f             \
98                    $(SOURCE_CODE)/convectively_mixtracer.f         \
99                  $(SOURCE_CODE)/correction_step.f                \                  $(SOURCE_CODE)/correction_step.f                \
100                  $(SOURCE_CODE)/cycle_tracer.f                   \                  $(SOURCE_CODE)/cycle_tracer.f                   \
101                  $(SOURCE_CODE)/different_multiple.f             \                  $(SOURCE_CODE)/different_multiple.f             \
102                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \
103                  $(SOURCE_CODE)/do_the_model_io.f                \                  $(SOURCE_CODE)/do_stagger_fields_exchanges.f    \
104                  $(SOURCE_CODE)/dynamics.f                       \                  $(SOURCE_CODE)/dynamics.f                       \
105                    $(SOURCE_CODE)/external_fields_load.f           \
106                  $(SOURCE_CODE)/external_forcing.f               \                  $(SOURCE_CODE)/external_forcing.f               \
107                  $(SOURCE_CODE)/external_forcing_surf.f          \                  $(SOURCE_CODE)/external_forcing_surf.f          \
108                  $(SOURCE_CODE)/find_alpha.f                     \                  $(SOURCE_CODE)/find_alpha.f                     \
# Line 136  SRC_MODEL      = \ Line 155  SRC_MODEL      = \
155                  $(SOURCE_CODE)/ini_masks_etc.f                  \                  $(SOURCE_CODE)/ini_masks_etc.f                  \
156                  $(SOURCE_CODE)/ini_mixing.f                     \                  $(SOURCE_CODE)/ini_mixing.f                     \
157                  $(SOURCE_CODE)/ini_p_ground.f                   \                  $(SOURCE_CODE)/ini_p_ground.f                   \
158                    $(SOURCE_CODE)/ini_pressure.f                   \
159                  $(SOURCE_CODE)/ini_pnh.f                        \                  $(SOURCE_CODE)/ini_pnh.f                        \
160                  $(SOURCE_CODE)/ini_psurf.f                      \                  $(SOURCE_CODE)/ini_psurf.f                      \
161                  $(SOURCE_CODE)/ini_salt.f                       \                  $(SOURCE_CODE)/ini_salt.f                       \
# Line 147  SRC_MODEL      = \ Line 167  SRC_MODEL      = \
167                  $(SOURCE_CODE)/ini_vertical_grid.f              \                  $(SOURCE_CODE)/ini_vertical_grid.f              \
168                  $(SOURCE_CODE)/initialise_varia.f               \                  $(SOURCE_CODE)/initialise_varia.f               \
169                  $(SOURCE_CODE)/integrate_for_w.f                \                  $(SOURCE_CODE)/integrate_for_w.f                \
170                    $(SOURCE_CODE)/integr_continuity.f              \
171                  $(SOURCE_CODE)/modeldata_example.f              \                  $(SOURCE_CODE)/modeldata_example.f              \
172                                                                  \                                                                  \
173                  $(SOURCE_CODE)/mom_fluxform.f                   \                  $(SOURCE_CODE)/mom_fluxform.f                   \
# Line 162  SRC_MODEL      = \ Line 183  SRC_MODEL      = \
183                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \
184                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \
185                  $(SOURCE_CODE)/mom_u_coriolis.f                 \                  $(SOURCE_CODE)/mom_u_coriolis.f                 \
186                    $(SOURCE_CODE)/mom_u_coriolis_nh.f              \
187                  $(SOURCE_CODE)/mom_u_del2u.f                    \                  $(SOURCE_CODE)/mom_u_del2u.f                    \
188                  $(SOURCE_CODE)/mom_u_metric_nh.f                \                  $(SOURCE_CODE)/mom_u_metric_nh.f                \
189                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \
# Line 197  SRC_MODEL      = \ Line 219  SRC_MODEL      = \
219                                                                  \                                                                  \
220                  $(SOURCE_CODE)/packages_init_variables.f        \                  $(SOURCE_CODE)/packages_init_variables.f        \
221                  $(SOURCE_CODE)/plot_field.f                     \                  $(SOURCE_CODE)/plot_field.f                     \
222                    $(SOURCE_CODE)/quasihydrostaticterms.f          \
223                  $(SOURCE_CODE)/solve_for_pressure.f             \                  $(SOURCE_CODE)/solve_for_pressure.f             \
224                  $(SOURCE_CODE)/state_summary.f                  \                  $(SOURCE_CODE)/state_summary.f                  \
225                    $(SOURCE_CODE)/store_pressure.f                 \
226                  $(SOURCE_CODE)/timestep.f                       \                  $(SOURCE_CODE)/timestep.f                       \
227                  $(SOURCE_CODE)/the_correction_step.f            \                  $(SOURCE_CODE)/the_correction_step.f            \
228                  $(SOURCE_CODE)/the_main_loop.f                  \                  $(SOURCE_CODE)/the_main_loop.f                  \
# Line 217  SRC_MODEL      = \ Line 241  SRC_MODEL      = \
241                  $(SOURCE_CODE)/kpp_transport_t.f                \                  $(SOURCE_CODE)/kpp_transport_t.f                \
242                                                                  \                                                                  \
243                  $(SOURCE_CODE)/gmredi_calc_diff.f               \                  $(SOURCE_CODE)/gmredi_calc_diff.f               \
244                    $(SOURCE_CODE)/gmredi_calc_psi_b.f              \
245                  $(SOURCE_CODE)/gmredi_calc_tensor.f             \                  $(SOURCE_CODE)/gmredi_calc_tensor.f             \
246                    $(SOURCE_CODE)/gmredi_calc_uvflow.f             \
247                    $(SOURCE_CODE)/gmredi_calc_wflow.f              \
248                  $(SOURCE_CODE)/gmredi_diags.f                   \                  $(SOURCE_CODE)/gmredi_diags.f                   \
249                  $(SOURCE_CODE)/gmredi_init.f                    \                  $(SOURCE_CODE)/gmredi_init.f                    \
250                  $(SOURCE_CODE)/gmredi_rtransport.f              \                  $(SOURCE_CODE)/gmredi_rtransport.f              \
251                  $(SOURCE_CODE)/gmredi_slope_limit.f             \                  $(SOURCE_CODE)/gmredi_slope_limit.f             \
252                    $(SOURCE_CODE)/gmredi_slope_psi.f               \
253                  $(SOURCE_CODE)/gmredi_xtransport.f              \                  $(SOURCE_CODE)/gmredi_xtransport.f              \
254                  $(SOURCE_CODE)/gmredi_ytransport.f              \                  $(SOURCE_CODE)/gmredi_ytransport.f              \
255                                                                  \                                                                  \
# Line 233  SRC_MODEL      = \ Line 261  SRC_MODEL      = \
261                  $(SOURCE_CODE)/cost_tile.f                      \                  $(SOURCE_CODE)/cost_tile.f                      \
262                  $(SOURCE_CODE)/cost_test.f                      \                  $(SOURCE_CODE)/cost_test.f                      \
263                  $(SOURCE_CODE)/cost_tracer.f                    \                  $(SOURCE_CODE)/cost_tracer.f                    \
264                    $(SOURCE_CODE)/cost_atlantic_heat.f             \
265                    $(SOURCE_CODE)/cost_vector.f                    \
266                                                                  \                                                                  \
                 $(SOURCE_CODE)/shap_filt_apply.f                \  
267                  $(SOURCE_CODE)/shap_filt_apply_ts.f             \                  $(SOURCE_CODE)/shap_filt_apply_ts.f             \
268                    $(SOURCE_CODE)/shap_filt_apply_uv.f             \
269                  $(SOURCE_CODE)/shap_filt_tracer_s1.f            \                  $(SOURCE_CODE)/shap_filt_tracer_s1.f            \
270                  $(SOURCE_CODE)/shap_filt_tracer_s2.f            \                  $(SOURCE_CODE)/shap_filt_tracer_s2.f            \
271                  $(SOURCE_CODE)/shap_filt_tracer_s2g.f           \                  $(SOURCE_CODE)/shap_filt_tracer_s2g.f           \
# Line 243  SRC_MODEL      = \ Line 273  SRC_MODEL      = \
273                  $(SOURCE_CODE)/shap_filt_uv_s1.f                \                  $(SOURCE_CODE)/shap_filt_uv_s1.f                \
274                  $(SOURCE_CODE)/shap_filt_uv_s2.f                \                  $(SOURCE_CODE)/shap_filt_uv_s2.f                \
275                  $(SOURCE_CODE)/shap_filt_uv_s2g.f               \                  $(SOURCE_CODE)/shap_filt_uv_s2g.f               \
276                    $(SOURCE_CODE)/shap_filt_uv_s2c.f               \
277                  $(SOURCE_CODE)/shap_filt_uv_s4.f                \                  $(SOURCE_CODE)/shap_filt_uv_s4.f                \
278    
279                                                                  \                                                                  \
280    #               $(SOURCE_CODE)/ini_ep.f                         \
281    #               $(SOURCE_CODE)/calc_ep_forcing.f                \
282    #               $(SOURCE_CODE)/cost_entropy.f                   \
283    #               $(SOURCE_CODE)/cost_t_misfit.f                  \
284    #               $(SOURCE_CODE)/cost_eflux_regul.f               \
285    #                                                               \
286    
287    
288  #--------------------------------------------------------  #--------------------------------------------------------
289  # rules  # rules
290  #--------------------------------------------------------  #--------------------------------------------------------
291    
292    small_f:
293            cd $(SOURCE_CODE); $(MAKE) depend; $(MAKE) small_f
294    
295  allcode:  allcode:
296          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code.f
297    
298  admodeltamc:  admodeltamc:
299          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code_ecco.f     \          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code.f  \
300             >! tamc_code_ecco_ad.prot             >! tamc_code_ad.prot
301    
302  admodeltaf:  admodeltaf:
303          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code.f
304    
305    ftlmodeltamc:
306            cd $(DEST) ; $(TAMC) $(FTLTAMCFLAG) tamc_code.f \
307               >! tamc_code_ftl.prot
308    
309  tlmodeltamc:  ftlmodeltaf:
310          cd $(DEST) ; $(TAMC) $(TLTAMCFLAG) tamc_code_ecco.f     \          cd $(DEST) ; $(TAF) $(FTLTAFFLAG) tamc_code.f
            >! tamc_code_ecco_tl.prot  
311    
312  tlmodeltaf:  svdmodeltaf:
313          cd $(DEST) ; $(TAF) $(TLTAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(SVDTAFFLAG) tamc_code.f
314    
315  adchange:  adchange:
316          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com \          cp $(PKG)/autodiff/adjoint_model.F_template     \
317             >! tamc_code_ecco_sed_ad.f ;  \             $(PKG)/autodiff/adjoint_model.F ;            \
318            ${ADJOINT_SCRIPT}/adjoint_sed.com               \
319               >! tamc_code_sed_ad.f ;                      \
320          cp $(PKG)/autodiff/adjoint_model.F              \          cp $(PKG)/autodiff/adjoint_model.F              \
321             $(PKG)/autodiff/adjoint_model.F_old ;        \             $(PKG)/autodiff/adjoint_model.F_old ;        \
322          cat tamc_code_ecco_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F          cat tamc_code_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F
323    
324    ftlchange:
325            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
326               $(PKG)/autodiff/tangentlinear_model.F ;              \
327            cp $(PKG)/autodiff/tangentlinear_model.F                \
328               $(PKG)/autodiff/tangentlinear_model.F_old ;          \
329            cat tamc_code_ftl.f >> $(PKG)/autodiff/tangentlinear_model.F
330    
331  adrestore:  adrestore:
332          cp $(PKG)/autodiff/adjoint_model.F_template     \          cp $(PKG)/autodiff/adjoint_model.F_template     \
333             $(PKG)/autodiff/adjoint_model.F             $(PKG)/autodiff/adjoint_model.F
334    
335  tltamc:  allcode tlmodeltamc  ftlrestore:
336            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
337               $(PKG)/autodiff/tangentlinear_model.F
338    
339    adtamc:  adrestore ftlrestore small_f allcode admodeltamc
340    
341    adtaf:  adrestore ftlrestore small_f allcode admodeltaf
342    
343    ftltamc:  adrestore ftlrestore small_f allcode ftlmodeltamc
344    
345  tltaf:  allcode tlmodeltaf  ftltaf:  adrestore ftlrestore small_f allcode ftlmodeltaf
346    
347  adtamc:  adrestore allcode admodeltamc  svdtaf:  adrestore ftlrestore allcode svdmodeltaf
348    
 adtaf:  adrestore allcode admodeltaf  

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22