/[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.4 by heimbach, Fri Jul 13 13:25:44 2001 UTC revision 1.20 by heimbach, Thu Jan 17 16:55:25 2002 UTC
# Line 7  DEST             = . Line 7  DEST             = .
7  SOURCE_CODE      = ../bin  SOURCE_CODE      = ../bin
8  ADJOINT_SCRIPT   = ../adjoint  ADJOINT_SCRIPT   = ../adjoint
9  BASE             = ..  BASE             = ..
 TAMCFLAGS        = -reverse -i4 -r4  
 TAFFLAGS         = -reverse -i4 -r4  
10  PKG             = $(BASE)/pkg  PKG             = $(BASE)/pkg
11    #
12    ADTAMCFLAGS      = -reverse -admark ad -i4 -r4
13    ADTAFFLAGS       = -reverse -admark ad -i4 -r4 \
14                            -flow taf_flow.log -nonew_arg
15    FTLTAMCFLAGS     = -forward -ftlmark g_ -i4 -r4
16    FTLTAFFLAGS      = -forward -ftlmark g_ -i4 -r4 \
17                            -flow taf_flow.log -nonew_arg
18    SVDTAMCFLAGS     = -reverse -forward -pure -i4 -r4
19    SVDTAFFLAGS      = -reverse -forward -pure -i4 -r4 \
20                            -flow taf_flow.log -nonew_arg
21    #
22    # -warn_step -flow taf_flow.log
23    
24  DIFF_FLAGS       = -toplevel the_main_loop              \  DIFF_FLAGS       = -toplevel the_main_loop              \
25                     -input  '    xx_theta_dummy          \                     -input  '    xx_theta_dummy          \
# Line 20  DIFF_FLAGS       = -toplevel the_main_lo Line 30  DIFF_FLAGS       = -toplevel the_main_lo
30                                  xx_tauu_dummy           \                                  xx_tauu_dummy           \
31                                  xx_tauv_dummy           \                                  xx_tauv_dummy           \
32                                  xx_sss_dummy            \                                  xx_sss_dummy            \
33                                  xx_sst_dummy'           \                                  xx_sst_dummy            \
34                                    xx_diffkr_dummy         \
35                                    xx_kapgm_dummy'         \
36                     -output 'fc'                     -output 'fc'
37    #
38    #                   -output 'objf_vector'
39    #                   -output 'fc'
40    
41  TAMCFLAG         = $(TAMCFLAGS) $(DIFF_FLAGS) -admark ad  ADTAMCFLAG         = $(ADTAMCFLAGS) $(DIFF_FLAGS)
42    ADTAFFLAG          = $(ADTAFFLAGS)  $(DIFF_FLAGS)
43    
44  TAFFLAG          = $(TAFFLAGS) $(DIFF_FLAGS) -l list_uv -admark ad  FTLTAMCFLAG         = $(FTLTAMCFLAGS) $(DIFF_FLAGS)
45    FTLTAFFLAG          = $(FTLTAFFLAGS)  $(DIFF_FLAGS)
46    
47    SVDTAMCFLAG         = $(SVDTAMCFLAGS) $(DIFF_FLAGS)
48    SVDTAFFLAG          = $(SVDTAFFLAGS)  $(DIFF_FLAGS)
49    
50  # Source files for the MITgcmUV  # Source files for the MITgcmUV
51  SRC_MODEL       = \  SRC_MODEL       = \
# Line 41  SRC_MODEL      = \ Line 60  SRC_MODEL      = \
60                  $(PKG)/autodiff/eesupp.flow             \                  $(PKG)/autodiff/eesupp.flow             \
61                  $(PKG)/autodiff/active_file.flow        \                  $(PKG)/autodiff/active_file.flow        \
62                  $(PKG)/autodiff/write_state.flow        \                  $(PKG)/autodiff/write_state.flow        \
63                    $(PKG)/autodiff/ecco_check_exp.flow     \
64                  $(PKG)/autodiff/exch_ad.flow            \                  $(PKG)/autodiff/exch_ad.flow            \
65                  $(PKG)/autodiff/exch_z_ad.flow          \                  $(PKG)/autodiff/exch_z_ad.flow          \
66                  $(PKG)/autodiff/exch_uv_ad.flow         \                  $(PKG)/autodiff/exch_uv_ad.flow         \
# Line 54  SRC_MODEL      = \ Line 74  SRC_MODEL      = \
74                  $(PKG)/autodiff/open_copy_data_file.flow\                  $(PKG)/autodiff/open_copy_data_file.flow\
75                  $(PKG)/autodiff/timeave.flow            \                  $(PKG)/autodiff/timeave.flow            \
76                                                                  \                                                                  \
77                    $(SOURCE_CODE)/adams_bashforth2.f               \
78                  $(SOURCE_CODE)/calc_buoyancy.f                  \                  $(SOURCE_CODE)/calc_buoyancy.f                  \
79                  $(SOURCE_CODE)/calc_common_factors.f            \                  $(SOURCE_CODE)/calc_common_factors.f            \
80                  $(SOURCE_CODE)/calc_diffusivity.f               \                  $(SOURCE_CODE)/calc_diffusivity.f               \
81                  $(SOURCE_CODE)/calc_div_ghat.f                  \                  $(SOURCE_CODE)/calc_div_ghat.f                  \
82                    $(SOURCE_CODE)/calc_exact_eta.f                 \
83                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \
84                  $(SOURCE_CODE)/calc_gs.f                        \                  $(SOURCE_CODE)/calc_gs.f                        \
85                  $(SOURCE_CODE)/calc_gt.f                        \                  $(SOURCE_CODE)/calc_gt.f                        \
86                  $(SOURCE_CODE)/calc_gtr1.f                      \                  $(SOURCE_CODE)/calc_gtr1.f                      \
87                  $(SOURCE_CODE)/calc_ivdc.f                      \                  $(SOURCE_CODE)/calc_ivdc.f                      \
                 $(SOURCE_CODE)/calc_mom_rhs.f                   \  
88                  $(SOURCE_CODE)/calc_phi_hyd.f                   \                  $(SOURCE_CODE)/calc_phi_hyd.f                   \
89                    $(SOURCE_CODE)/calc_viscosity.f                 \
90                  $(SOURCE_CODE)/comm_stats.f                     \                  $(SOURCE_CODE)/comm_stats.f                     \
91                  $(SOURCE_CODE)/convect.f                        \                  $(SOURCE_CODE)/convect.f                        \
92                  $(SOURCE_CODE)/convective_adjustment.f          \                  $(SOURCE_CODE)/convective_adjustment.f          \
# Line 79  SRC_MODEL      = \ Line 101  SRC_MODEL      = \
101                  $(SOURCE_CODE)/external_forcing_surf.f          \                  $(SOURCE_CODE)/external_forcing_surf.f          \
102                  $(SOURCE_CODE)/find_alpha.f                     \                  $(SOURCE_CODE)/find_alpha.f                     \
103                  $(SOURCE_CODE)/find_rho.f                       \                  $(SOURCE_CODE)/find_rho.f                       \
104                    $(SOURCE_CODE)/forward_step.f                   \
105                  $(SOURCE_CODE)/freeze.f                         \                  $(SOURCE_CODE)/freeze.f                         \
106                  $(SOURCE_CODE)/get_offline_fields.f             \                                                                  \
107                    $(SOURCE_CODE)/gad_advection.f                  \
108                  $(SOURCE_CODE)/gad_biharm_x.f                   \                  $(SOURCE_CODE)/gad_biharm_x.f                   \
109                  $(SOURCE_CODE)/gad_biharm_y.f                   \                  $(SOURCE_CODE)/gad_biharm_y.f                   \
110                  $(SOURCE_CODE)/gad_c2_adv_r.f                   \                  $(SOURCE_CODE)/gad_c2_adv_r.f                   \
# Line 94  SRC_MODEL      = \ Line 118  SRC_MODEL      = \
118                  $(SOURCE_CODE)/gad_diff_r.f                     \                  $(SOURCE_CODE)/gad_diff_r.f                     \
119                  $(SOURCE_CODE)/gad_diff_x.f                     \                  $(SOURCE_CODE)/gad_diff_x.f                     \
120                  $(SOURCE_CODE)/gad_diff_y.f                     \                  $(SOURCE_CODE)/gad_diff_y.f                     \
121                    $(SOURCE_CODE)/gad_dst3_adv_x.f                 \
122                    $(SOURCE_CODE)/gad_dst3_adv_y.f                 \
123                    $(SOURCE_CODE)/gad_dst3_adv_r.f                 \
124                    $(SOURCE_CODE)/gad_dst3fl_adv_x.f               \
125                    $(SOURCE_CODE)/gad_dst3fl_adv_y.f               \
126                    $(SOURCE_CODE)/gad_dst3fl_adv_r.f               \
127                  $(SOURCE_CODE)/gad_fluxlimit_adv_r.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_r.f            \
128                  $(SOURCE_CODE)/gad_fluxlimit_adv_x.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_x.f            \
129                  $(SOURCE_CODE)/gad_fluxlimit_adv_y.f            \                  $(SOURCE_CODE)/gad_fluxlimit_adv_y.f            \
130                  $(SOURCE_CODE)/gad_grad_x.f                     \                  $(SOURCE_CODE)/gad_grad_x.f                     \
131                  $(SOURCE_CODE)/gad_grad_y.f                     \                  $(SOURCE_CODE)/gad_grad_y.f                     \
132                    $(SOURCE_CODE)/gad_u3_adv_r.f                   \
133                    $(SOURCE_CODE)/gad_u3_adv_x.f                   \
134                    $(SOURCE_CODE)/gad_u3_adv_y.f                   \
135                                                                    \
136                  $(SOURCE_CODE)/grad_sigma.f                     \                  $(SOURCE_CODE)/grad_sigma.f                     \
137                  $(SOURCE_CODE)/impldiff.f                       \                  $(SOURCE_CODE)/impldiff.f                       \
138                    $(SOURCE_CODE)/ini_autodiff.f                   \
139                  $(SOURCE_CODE)/ini_cartesian_grid.f             \                  $(SOURCE_CODE)/ini_cartesian_grid.f             \
140                  $(SOURCE_CODE)/ini_cg2d.f                       \                  $(SOURCE_CODE)/ini_cg2d.f                       \
141                  $(SOURCE_CODE)/ini_communication_patterns.f     \                  $(SOURCE_CODE)/ini_communication_patterns.f     \
# Line 110  SRC_MODEL      = \ Line 145  SRC_MODEL      = \
145                  $(SOURCE_CODE)/ini_fields.f                     \                  $(SOURCE_CODE)/ini_fields.f                     \
146                  $(SOURCE_CODE)/ini_forcing.f                    \                  $(SOURCE_CODE)/ini_forcing.f                    \
147                  $(SOURCE_CODE)/ini_grid.f                       \                  $(SOURCE_CODE)/ini_grid.f                       \
148                    $(SOURCE_CODE)/ini_linear_phisurf.f             \
149                  $(SOURCE_CODE)/ini_masks_etc.f                  \                  $(SOURCE_CODE)/ini_masks_etc.f                  \
150                    $(SOURCE_CODE)/ini_mixing.f                     \
151                    $(SOURCE_CODE)/ini_p_ground.f                   \
152                  $(SOURCE_CODE)/ini_pnh.f                        \                  $(SOURCE_CODE)/ini_pnh.f                        \
                 $(SOURCE_CODE)/ini_procs.f                      \  
153                  $(SOURCE_CODE)/ini_psurf.f                      \                  $(SOURCE_CODE)/ini_psurf.f                      \
154                  $(SOURCE_CODE)/ini_salt.f                       \                  $(SOURCE_CODE)/ini_salt.f                       \
155                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \
# Line 124  SRC_MODEL      = \ Line 161  SRC_MODEL      = \
161                  $(SOURCE_CODE)/initialise_varia.f               \                  $(SOURCE_CODE)/initialise_varia.f               \
162                  $(SOURCE_CODE)/integrate_for_w.f                \                  $(SOURCE_CODE)/integrate_for_w.f                \
163                  $(SOURCE_CODE)/modeldata_example.f              \                  $(SOURCE_CODE)/modeldata_example.f              \
164                                                                    \
165                    $(SOURCE_CODE)/mom_fluxform.f                   \
166                    $(SOURCE_CODE)/mom_hdissip.f                    \
167                    $(SOURCE_CODE)/mom_vecinv.f                     \
168                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \
169                  $(SOURCE_CODE)/mom_calc_ke.f                    \                  $(SOURCE_CODE)/mom_calc_ke.f                    \
170                    $(SOURCE_CODE)/mom_calc_strain.f                \
171                    $(SOURCE_CODE)/mom_calc_tension.f               \
172                  $(SOURCE_CODE)/mom_cdscheme.f                   \                  $(SOURCE_CODE)/mom_cdscheme.f                   \
173                  $(SOURCE_CODE)/mom_u_adv_uu.f                   \                  $(SOURCE_CODE)/mom_u_adv_uu.f                   \
174                  $(SOURCE_CODE)/mom_u_adv_vu.f                   \                  $(SOURCE_CODE)/mom_u_adv_vu.f                   \
175                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \
176                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \
177                    $(SOURCE_CODE)/mom_u_coriolis.f                 \
178                  $(SOURCE_CODE)/mom_u_del2u.f                    \                  $(SOURCE_CODE)/mom_u_del2u.f                    \
179                  $(SOURCE_CODE)/mom_u_metric_nh.f                \                  $(SOURCE_CODE)/mom_u_metric_nh.f                \
180                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \
# Line 142  SRC_MODEL      = \ Line 186  SRC_MODEL      = \
186                  $(SOURCE_CODE)/mom_v_adv_vv.f                   \                  $(SOURCE_CODE)/mom_v_adv_vv.f                   \
187                  $(SOURCE_CODE)/mom_v_adv_wv.f                   \                  $(SOURCE_CODE)/mom_v_adv_wv.f                   \
188                  $(SOURCE_CODE)/mom_v_bottomdrag.f               \                  $(SOURCE_CODE)/mom_v_bottomdrag.f               \
189                    $(SOURCE_CODE)/mom_v_coriolis.f                 \
190                  $(SOURCE_CODE)/mom_v_del2v.f                    \                  $(SOURCE_CODE)/mom_v_del2v.f                    \
191                  $(SOURCE_CODE)/mom_v_metric_nh.f                \                  $(SOURCE_CODE)/mom_v_metric_nh.f                \
192                  $(SOURCE_CODE)/mom_v_metric_sphere.f            \                  $(SOURCE_CODE)/mom_v_metric_sphere.f            \
# Line 149  SRC_MODEL      = \ Line 194  SRC_MODEL      = \
194                  $(SOURCE_CODE)/mom_v_sidedrag.f                 \                  $(SOURCE_CODE)/mom_v_sidedrag.f                 \
195                  $(SOURCE_CODE)/mom_v_xviscflux.f                \                  $(SOURCE_CODE)/mom_v_xviscflux.f                \
196                  $(SOURCE_CODE)/mom_v_yviscflux.f                \                  $(SOURCE_CODE)/mom_v_yviscflux.f                \
197                    $(SOURCE_CODE)/mom_vi_calc_absvort3.f           \
198                    $(SOURCE_CODE)/mom_vi_calc_hdiv.f               \
199                    $(SOURCE_CODE)/mom_vi_calc_ke.f                 \
200                    $(SOURCE_CODE)/mom_vi_calc_relvort3.f           \
201                    $(SOURCE_CODE)/mom_vi_coriolis.f                \
202                    $(SOURCE_CODE)/mom_vi_del2uv.f                  \
203                    $(SOURCE_CODE)/mom_vi_hdissip.f                 \
204                    $(SOURCE_CODE)/mom_vi_u_coriolis.f              \
205                    $(SOURCE_CODE)/mom_vi_u_grad_ke.f               \
206                    $(SOURCE_CODE)/mom_vi_u_vertshear.f             \
207                    $(SOURCE_CODE)/mom_vi_v_coriolis.f              \
208                    $(SOURCE_CODE)/mom_vi_v_grad_ke.f               \
209                    $(SOURCE_CODE)/mom_vi_v_vertshear.f             \
210                                                                    \
211                  $(SOURCE_CODE)/packages_init_variables.f        \                  $(SOURCE_CODE)/packages_init_variables.f        \
212                  $(SOURCE_CODE)/plot_field.f                     \                  $(SOURCE_CODE)/plot_field.f                     \
213                  $(SOURCE_CODE)/solve_for_pressure.f             \                  $(SOURCE_CODE)/solve_for_pressure.f             \
# Line 156  SRC_MODEL      = \ Line 215  SRC_MODEL      = \
215                  $(SOURCE_CODE)/timestep.f                       \                  $(SOURCE_CODE)/timestep.f                       \
216                  $(SOURCE_CODE)/the_correction_step.f            \                  $(SOURCE_CODE)/the_correction_step.f            \
217                  $(SOURCE_CODE)/the_main_loop.f                  \                  $(SOURCE_CODE)/the_main_loop.f                  \
218                    $(SOURCE_CODE)/thermodynamics.f                 \
219                  $(SOURCE_CODE)/timestep_tracer.f                \                  $(SOURCE_CODE)/timestep_tracer.f                \
220                  $(SOURCE_CODE)/swfrac.f                         \                  $(SOURCE_CODE)/swfrac.f                         \
221                                                                  \                                                                  \
222                  $(SOURCE_CODE)/kpp_calc.f                       \                  $(SOURCE_CODE)/kpp_calc.f                       \
223                  $(SOURCE_CODE)/kpp_calc_diff.f                  \                  $(SOURCE_CODE)/kpp_calc_diff.f                  \
224                    $(SOURCE_CODE)/kpp_calc_visc.f                  \
225                  $(SOURCE_CODE)/kpp_do_diags.f                   \                  $(SOURCE_CODE)/kpp_do_diags.f                   \
226                  $(SOURCE_CODE)/kpp_init.f                       \                  $(SOURCE_CODE)/kpp_init.f                       \
227                  $(SOURCE_CODE)/kpp_open_diags.f                 \                  $(SOURCE_CODE)/kpp_open_diags.f                 \
# Line 185  SRC_MODEL      = \ Line 246  SRC_MODEL      = \
246                  $(SOURCE_CODE)/cost_tile.f                      \                  $(SOURCE_CODE)/cost_tile.f                      \
247                  $(SOURCE_CODE)/cost_test.f                      \                  $(SOURCE_CODE)/cost_test.f                      \
248                  $(SOURCE_CODE)/cost_tracer.f                    \                  $(SOURCE_CODE)/cost_tracer.f                    \
249                    $(SOURCE_CODE)/cost_atlantic_heat.f             \
250                    $(SOURCE_CODE)/cost_vector.f                    \
251                                                                    \
252                    $(SOURCE_CODE)/shap_filt_apply_ts.f             \
253                    $(SOURCE_CODE)/shap_filt_apply_uv.f             \
254                    $(SOURCE_CODE)/shap_filt_tracer_s1.f            \
255                    $(SOURCE_CODE)/shap_filt_tracer_s2.f            \
256                    $(SOURCE_CODE)/shap_filt_tracer_s2g.f           \
257                    $(SOURCE_CODE)/shap_filt_tracer_s4.f            \
258                    $(SOURCE_CODE)/shap_filt_uv_s1.f                \
259                    $(SOURCE_CODE)/shap_filt_uv_s2.f                \
260                    $(SOURCE_CODE)/shap_filt_uv_s2g.f               \
261                    $(SOURCE_CODE)/shap_filt_uv_s4.f                \
262                                                                    \
263    
264    #               $(SOURCE_CODE)/calc_ep_forcing.f                \
265    #               $(SOURCE_CODE)/cost_entropy.f                   \
266    #               $(SOURCE_CODE)/ini_ep.f                         \
267                                                                  \                                                                  \
268    
269    
# Line 192  SRC_MODEL      = \ Line 271  SRC_MODEL      = \
271  # rules  # rules
272  #--------------------------------------------------------  #--------------------------------------------------------
273    
274  adcode:  allcode:
275          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code.f
276    
277  admodeltamc:  admodeltamc:
278          cd $(DEST) ; $(TAMC) $(TAMCFLAG) tamc_code_ecco.f       \          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code.f  \
279             >! tamc_code_ecco_ad.prot             >! tamc_code_ad.prot
280    
281  admodeltaf:  admodeltaf:
282          cd $(DEST) ; $(TAF) $(TAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code.f
283    
284    ftlmodeltamc:
285            cd $(DEST) ; $(TAMC) $(FTLTAMCFLAG) tamc_code.f \
286               >! tamc_code_ftl.prot
287    
288    ftlmodeltaf:
289            cd $(DEST) ; $(TAF) $(FTLTAFFLAG) tamc_code.f
290    
291    svdmodeltaf:
292            cd $(DEST) ; $(TAF) $(SVDTAFFLAG) tamc_code.f
293    
294  adchange:  adchange:
295          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com \          ${ADJOINT_SCRIPT}/adjoint_sed.com \
296             >! tamc_code_ecco_sed_ad.f ;  \             >! tamc_code_sed_ad.f ;  \
297          cp $(PKG)/autodiff/adjoint_model.F              \          cp $(PKG)/autodiff/adjoint_model.F              \
298             $(PKG)/autodiff/adjoint_model.F_old ;        \             $(PKG)/autodiff/adjoint_model.F_old ;        \
299          cat tamc_code_ecco_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F          cat tamc_code_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F
300    
301    ftlchange:
302            cp $(PKG)/autodiff/tangentlinear_model.F                \
303               $(PKG)/autodiff/tangentlinear_model.F_old ;  \
304            cat tamc_code_ftl.f >> $(PKG)/autodiff/tangentlinear_model.F
305    
306  adrestore:  adrestore:
307          cp $(PKG)/autodiff/adjoint_model.F_template     \          cp $(PKG)/autodiff/adjoint_model.F_template     \
308             $(PKG)/autodiff/adjoint_model.F             $(PKG)/autodiff/adjoint_model.F
309    
310  adtamc:  adcode admodeltamc  ftlrestore:
311            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
312               $(PKG)/autodiff/tangentlinear_model.F
313    
314    adtamc:  adrestore ftlrestore allcode admodeltamc
315    
316    adtaf:  adrestore ftlrestore allcode admodeltaf
317    
318    ftltamc:  adrestore ftlrestore allcode ftlmodeltamc
319    
320    ftltaf:  adrestore ftlrestore allcode ftlmodeltaf
321    
322    svdtaf:  adrestore ftlrestore allcode svdmodeltaf
323    
 adtaf:  adcode admodeltaf  

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.20

  ViewVC Help
Powered by ViewVC 1.1.22