/[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.11 by heimbach, Tue Aug 21 16:21:17 2001 UTC revision 1.16.2.6 by heimbach, Thu Nov 7 16:53:06 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             = ..
 ADTAMCFLAGS      = -reverse -i4 -r4 -admark  ad  
 ADTAFFLAGS       = -reverse -i4 -r4 -admark  ad  
 TLTAMCFLAGS      = -forward -i4 -r4 -ftlmark g_  
 TLTAFFLAGS       = -forward -i4 -r4 -ftlmark g_  
12  PKG             = $(BASE)/pkg  PKG             = $(BASE)/pkg
13    #
14    ADTAMCFLAGS      = -reverse -admark ad -i4 -r4
15    ADTAFFLAGS       = -reverse -admark ad -i4 -r4 \
16                            -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
25    
26  DIFF_FLAGS       = -toplevel the_main_loop              \  DIFF_FLAGS       = -toplevel the_main_loop              \
27                     -input  '    xx_theta_dummy          \                     -input  '    xx_theta_dummy          \
# Line 24  DIFF_FLAGS       = -toplevel the_main_lo Line 34  DIFF_FLAGS       = -toplevel the_main_lo
34                                  xx_sss_dummy            \                                  xx_sss_dummy            \
35                                  xx_sst_dummy            \                                  xx_sst_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 41  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 60  SRC_MODEL      = \ Line 78  SRC_MODEL      = \
78                  $(PKG)/autodiff/open_copy_data_file.flow\                  $(PKG)/autodiff/open_copy_data_file.flow\
79                  $(PKG)/autodiff/timeave.flow            \                  $(PKG)/autodiff/timeave.flow            \
80                                                                  \                                                                  \
81                    $(SOURCE_CODE)/adams_bashforth2.f               \
82                  $(SOURCE_CODE)/calc_buoyancy.f                  \                  $(SOURCE_CODE)/calc_buoyancy.f                  \
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                  \
86                    $(SOURCE_CODE)/calc_exact_eta.f                 \
87                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \
88                  $(SOURCE_CODE)/calc_gs.f                        \                  $(SOURCE_CODE)/calc_gs.f                        \
89                  $(SOURCE_CODE)/calc_gt.f                        \                  $(SOURCE_CODE)/calc_gt.f                        \
# Line 79  SRC_MODEL      = \ Line 99  SRC_MODEL      = \
99                  $(SOURCE_CODE)/cycle_tracer.f                   \                  $(SOURCE_CODE)/cycle_tracer.f                   \
100                  $(SOURCE_CODE)/different_multiple.f             \                  $(SOURCE_CODE)/different_multiple.f             \
101                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \
                 $(SOURCE_CODE)/do_the_model_io.f                \  
102                  $(SOURCE_CODE)/dynamics.f                       \                  $(SOURCE_CODE)/dynamics.f                       \
103                    $(SOURCE_CODE)/external_fields_load.f           \
104                  $(SOURCE_CODE)/external_forcing.f               \                  $(SOURCE_CODE)/external_forcing.f               \
105                  $(SOURCE_CODE)/external_forcing_surf.f          \                  $(SOURCE_CODE)/external_forcing_surf.f          \
106                  $(SOURCE_CODE)/find_alpha.f                     \                  $(SOURCE_CODE)/find_alpha.f                     \
107                  $(SOURCE_CODE)/find_rho.f                       \                  $(SOURCE_CODE)/find_rho.f                       \
108                  $(SOURCE_CODE)/forward_step.f                   \                  $(SOURCE_CODE)/forward_step.f                   \
109                  $(SOURCE_CODE)/freeze.f                         \                  $(SOURCE_CODE)/freeze.f                         \
110                                                                    \
111                    $(SOURCE_CODE)/gad_advection.f                  \
112                  $(SOURCE_CODE)/gad_biharm_x.f                   \                  $(SOURCE_CODE)/gad_biharm_x.f                   \
113                  $(SOURCE_CODE)/gad_biharm_y.f                   \                  $(SOURCE_CODE)/gad_biharm_y.f                   \
114                  $(SOURCE_CODE)/gad_c2_adv_r.f                   \                  $(SOURCE_CODE)/gad_c2_adv_r.f                   \
# Line 100  SRC_MODEL      = \ Line 122  SRC_MODEL      = \
122                  $(SOURCE_CODE)/gad_diff_r.f                     \                  $(SOURCE_CODE)/gad_diff_r.f                     \
123                  $(SOURCE_CODE)/gad_diff_x.f                     \                  $(SOURCE_CODE)/gad_diff_x.f                     \
124                  $(SOURCE_CODE)/gad_diff_y.f                     \                  $(SOURCE_CODE)/gad_diff_y.f                     \
125                    $(SOURCE_CODE)/gad_dst3_adv_x.f                 \
126                    $(SOURCE_CODE)/gad_dst3_adv_y.f                 \
127                    $(SOURCE_CODE)/gad_dst3_adv_r.f                 \
128                    $(SOURCE_CODE)/gad_dst3fl_adv_x.f               \
129                    $(SOURCE_CODE)/gad_dst3fl_adv_y.f               \
130                    $(SOURCE_CODE)/gad_dst3fl_adv_r.f               \
131                  $(SOURCE_CODE)/gad_fluxlimit_adv_r.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_r.f            \
132                  $(SOURCE_CODE)/gad_fluxlimit_adv_x.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_x.f            \
133                  $(SOURCE_CODE)/gad_fluxlimit_adv_y.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_y.f            \
# Line 108  SRC_MODEL      = \ Line 136  SRC_MODEL      = \
136                  $(SOURCE_CODE)/gad_u3_adv_r.f                   \                  $(SOURCE_CODE)/gad_u3_adv_r.f                   \
137                  $(SOURCE_CODE)/gad_u3_adv_x.f                   \                  $(SOURCE_CODE)/gad_u3_adv_x.f                   \
138                  $(SOURCE_CODE)/gad_u3_adv_y.f                   \                  $(SOURCE_CODE)/gad_u3_adv_y.f                   \
139                                                                    \
140                  $(SOURCE_CODE)/grad_sigma.f                     \                  $(SOURCE_CODE)/grad_sigma.f                     \
141                  $(SOURCE_CODE)/impldiff.f                       \                  $(SOURCE_CODE)/impldiff.f                       \
142                    $(SOURCE_CODE)/ini_autodiff.f                   \
143                  $(SOURCE_CODE)/ini_cartesian_grid.f             \                  $(SOURCE_CODE)/ini_cartesian_grid.f             \
144                  $(SOURCE_CODE)/ini_cg2d.f                       \                  $(SOURCE_CODE)/ini_cg2d.f                       \
145                  $(SOURCE_CODE)/ini_communication_patterns.f     \                  $(SOURCE_CODE)/ini_communication_patterns.f     \
# Line 124  SRC_MODEL      = \ Line 154  SRC_MODEL      = \
154                  $(SOURCE_CODE)/ini_mixing.f                     \                  $(SOURCE_CODE)/ini_mixing.f                     \
155                  $(SOURCE_CODE)/ini_p_ground.f                   \                  $(SOURCE_CODE)/ini_p_ground.f                   \
156                  $(SOURCE_CODE)/ini_pnh.f                        \                  $(SOURCE_CODE)/ini_pnh.f                        \
                 $(SOURCE_CODE)/ini_procs.f                      \  
157                  $(SOURCE_CODE)/ini_psurf.f                      \                  $(SOURCE_CODE)/ini_psurf.f                      \
158                  $(SOURCE_CODE)/ini_salt.f                       \                  $(SOURCE_CODE)/ini_salt.f                       \
159                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \
# Line 136  SRC_MODEL      = \ Line 165  SRC_MODEL      = \
165                  $(SOURCE_CODE)/initialise_varia.f               \                  $(SOURCE_CODE)/initialise_varia.f               \
166                  $(SOURCE_CODE)/integrate_for_w.f                \                  $(SOURCE_CODE)/integrate_for_w.f                \
167                  $(SOURCE_CODE)/modeldata_example.f              \                  $(SOURCE_CODE)/modeldata_example.f              \
168                                                                    \
169                  $(SOURCE_CODE)/mom_fluxform.f                   \                  $(SOURCE_CODE)/mom_fluxform.f                   \
170                    $(SOURCE_CODE)/mom_hdissip.f                    \
171                  $(SOURCE_CODE)/mom_vecinv.f                     \                  $(SOURCE_CODE)/mom_vecinv.f                     \
172                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \
173                  $(SOURCE_CODE)/mom_calc_ke.f                    \                  $(SOURCE_CODE)/mom_calc_ke.f                    \
174                    $(SOURCE_CODE)/mom_calc_strain.f                \
175                    $(SOURCE_CODE)/mom_calc_tension.f               \
176                  $(SOURCE_CODE)/mom_cdscheme.f                   \                  $(SOURCE_CODE)/mom_cdscheme.f                   \
177                  $(SOURCE_CODE)/mom_u_adv_uu.f                   \                  $(SOURCE_CODE)/mom_u_adv_uu.f                   \
178                  $(SOURCE_CODE)/mom_u_adv_vu.f                   \                  $(SOURCE_CODE)/mom_u_adv_vu.f                   \
179                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \
180                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \
181                    $(SOURCE_CODE)/mom_u_coriolis.f                 \
182                  $(SOURCE_CODE)/mom_u_del2u.f                    \                  $(SOURCE_CODE)/mom_u_del2u.f                    \
183                  $(SOURCE_CODE)/mom_u_metric_nh.f                \                  $(SOURCE_CODE)/mom_u_metric_nh.f                \
184                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \
# Line 156  SRC_MODEL      = \ Line 190  SRC_MODEL      = \
190                  $(SOURCE_CODE)/mom_v_adv_vv.f                   \                  $(SOURCE_CODE)/mom_v_adv_vv.f                   \
191                  $(SOURCE_CODE)/mom_v_adv_wv.f                   \                  $(SOURCE_CODE)/mom_v_adv_wv.f                   \
192                  $(SOURCE_CODE)/mom_v_bottomdrag.f               \                  $(SOURCE_CODE)/mom_v_bottomdrag.f               \
193                    $(SOURCE_CODE)/mom_v_coriolis.f                 \
194                  $(SOURCE_CODE)/mom_v_del2v.f                    \                  $(SOURCE_CODE)/mom_v_del2v.f                    \
195                  $(SOURCE_CODE)/mom_v_metric_nh.f                \                  $(SOURCE_CODE)/mom_v_metric_nh.f                \
196                  $(SOURCE_CODE)/mom_v_metric_sphere.f            \                  $(SOURCE_CODE)/mom_v_metric_sphere.f            \
# Line 176  SRC_MODEL      = \ Line 211  SRC_MODEL      = \
211                  $(SOURCE_CODE)/mom_vi_v_coriolis.f              \                  $(SOURCE_CODE)/mom_vi_v_coriolis.f              \
212                  $(SOURCE_CODE)/mom_vi_v_grad_ke.f               \                  $(SOURCE_CODE)/mom_vi_v_grad_ke.f               \
213                  $(SOURCE_CODE)/mom_vi_v_vertshear.f             \                  $(SOURCE_CODE)/mom_vi_v_vertshear.f             \
214                                                                    \
215                  $(SOURCE_CODE)/packages_init_variables.f        \                  $(SOURCE_CODE)/packages_init_variables.f        \
216                  $(SOURCE_CODE)/plot_field.f                     \                  $(SOURCE_CODE)/plot_field.f                     \
217                  $(SOURCE_CODE)/solve_for_pressure.f             \                  $(SOURCE_CODE)/solve_for_pressure.f             \
# Line 214  SRC_MODEL      = \ Line 250  SRC_MODEL      = \
250                  $(SOURCE_CODE)/cost_tile.f                      \                  $(SOURCE_CODE)/cost_tile.f                      \
251                  $(SOURCE_CODE)/cost_test.f                      \                  $(SOURCE_CODE)/cost_test.f                      \
252                  $(SOURCE_CODE)/cost_tracer.f                    \                  $(SOURCE_CODE)/cost_tracer.f                    \
253                    $(SOURCE_CODE)/cost_atlantic_heat.f             \
254                    $(SOURCE_CODE)/cost_vector.f                    \
255                                                                  \                                                                  \
256                    $(SOURCE_CODE)/shap_filt_apply_ts.f             \
257                    $(SOURCE_CODE)/shap_filt_apply_uv.f             \
258                    $(SOURCE_CODE)/shap_filt_tracer_s1.f            \
259                    $(SOURCE_CODE)/shap_filt_tracer_s2.f            \
260                    $(SOURCE_CODE)/shap_filt_tracer_s2g.f           \
261                    $(SOURCE_CODE)/shap_filt_tracer_s4.f            \
262                    $(SOURCE_CODE)/shap_filt_uv_s1.f                \
263                    $(SOURCE_CODE)/shap_filt_uv_s2.f                \
264                    $(SOURCE_CODE)/shap_filt_uv_s2g.f               \
265                    $(SOURCE_CODE)/shap_filt_uv_s4.f                \
266    
267    #               $(SOURCE_CODE)/ini_ep.f                         \
268    #               $(SOURCE_CODE)/calc_ep_forcing.f                \
269    #               $(SOURCE_CODE)/cost_entropy.f                   \
270    #               $(SOURCE_CODE)/cost_t_misfit.f                  \
271    #               $(SOURCE_CODE)/cost_eflux_regul.f               \
272    #                                                               \
273    
274    
275  #--------------------------------------------------------  #--------------------------------------------------------
276  # rules  # rules
277  #--------------------------------------------------------  #--------------------------------------------------------
278    
279    small_f:
280            cd $(SOURCE_CODE); $(MAKE) depend; $(MAKE) small_f
281    
282  allcode:  allcode:
283          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code.f
284    
285  admodeltamc:  admodeltamc:
286          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code_ecco.f     \          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code.f  \
287             >! tamc_code_ecco_ad.prot             >! tamc_code_ad.prot
288    
289  admodeltaf:  admodeltaf:
290          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code.f
291    
292    ftlmodeltamc:
293            cd $(DEST) ; $(TAMC) $(FTLTAMCFLAG) tamc_code.f \
294               >! tamc_code_ftl.prot
295    
296  tlmodeltamc:  ftlmodeltaf:
297          cd $(DEST) ; $(TAMC) $(TLTAMCFLAG) tamc_code_ecco.f     \          cd $(DEST) ; $(TAF) $(FTLTAFFLAG) tamc_code.f
            >! tamc_code_ecco_tl.prot  
298    
299  tlmodeltaf:  svdmodeltaf:
300          cd $(DEST) ; $(TAF) $(TLTAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(SVDTAFFLAG) tamc_code.f
301    
302  adchange:  adchange:
303          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com \          cp $(PKG)/autodiff/adjoint_model.F_template     \
304             >! tamc_code_ecco_sed_ad.f ;  \             $(PKG)/autodiff/adjoint_model.F ;            \
305            ${ADJOINT_SCRIPT}/adjoint_sed.com               \
306               >! tamc_code_sed_ad.f ;                      \
307          cp $(PKG)/autodiff/adjoint_model.F              \          cp $(PKG)/autodiff/adjoint_model.F              \
308             $(PKG)/autodiff/adjoint_model.F_old ;        \             $(PKG)/autodiff/adjoint_model.F_old ;        \
309          cat tamc_code_ecco_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F          cat tamc_code_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F
310    
311    ftlchange:
312            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
313               $(PKG)/autodiff/tangentlinear_model.F ;              \
314            cp $(PKG)/autodiff/tangentlinear_model.F                \
315               $(PKG)/autodiff/tangentlinear_model.F_old ;          \
316            cat tamc_code_ftl.f >> $(PKG)/autodiff/tangentlinear_model.F
317    
318  adrestore:  adrestore:
319          cp $(PKG)/autodiff/adjoint_model.F_template     \          cp $(PKG)/autodiff/adjoint_model.F_template     \
320             $(PKG)/autodiff/adjoint_model.F             $(PKG)/autodiff/adjoint_model.F
321    
322  tltamc:  allcode tlmodeltamc  ftlrestore:
323            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
324               $(PKG)/autodiff/tangentlinear_model.F
325    
326    adtamc:  adrestore ftlrestore small_f allcode admodeltamc
327    
328    adtaf:  adrestore ftlrestore small_f allcode admodeltaf
329    
330    ftltamc:  adrestore ftlrestore small_f allcode ftlmodeltamc
331    
332  tltaf:  allcode tlmodeltaf  ftltaf:  adrestore ftlrestore small_f allcode ftlmodeltaf
333    
334  adtamc:  allcode admodeltamc  svdtaf:  adrestore ftlrestore allcode svdmodeltaf
335    
 adtaf:  allcode admodeltaf  

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.16.2.6

  ViewVC Help
Powered by ViewVC 1.1.22