/[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.1 by heimbach, Sun Mar 25 22:33:51 2001 UTC revision 1.18 by heimbach, Thu Nov 8 23:41:59 2001 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
6  DEST             = .  DEST             = .
7  SOURCE_CODE      = ../bin  SOURCE_CODE      = ../bin
8  ADJOINT_SCRIPT   = ../adjoint  ADJOINT_SCRIPT   = ../adjoint
9  BASE             = ..  BASE             = ..
 TAMCFLAGS        = -adjoint -i4 -r4  
10  PKG             = $(BASE)/pkg  PKG             = $(BASE)/pkg
11    ADTAMCFLAGS      = -reverse -i4 -r4 -admark  ad
12    ADTAFFLAGS       = -reverse -i4 -r4 -admark  ad
13    TLTAMCFLAGS      = -forward -i4 -r4 -ftlmark g_
14    TLTAFFLAGS       = -forward -i4 -r4 -ftlmark g_
15    # -warn_step -flow taf_flow.log
16    
17  DIFF_FLAGS       = -module the_main_sens                \  DIFF_FLAGS       = -toplevel the_main_loop              \
18                     -input  '    xx_theta_dummy          \                     -input  '    xx_theta_dummy          \
19                                  xx_salt_dummy           \                                  xx_salt_dummy           \
20                                    xx_tr1_dummy            \
21                                  xx_hflux_dummy          \                                  xx_hflux_dummy          \
22                                  xx_sflux_dummy          \                                  xx_sflux_dummy          \
23                                  xx_tauu_dummy           \                                  xx_tauu_dummy           \
24                                  xx_tauv_dummy           \                                  xx_tauv_dummy           \
25                                  xx_sss_dummy            \                                  xx_sss_dummy            \
26                                  xx_sst_dummy'           \                                  xx_sst_dummy            \
27                                    xx_diffkr_dummy         \
28                                    xx_kapgm_dummy'         \
29                     -output 'fc'                     -output 'fc'
30    
31  TAMCFLAG         = $(TAMCFLAGS) $(DIFF_FLAGS) -l list_uv -admark ad  ADTAMCFLAG         = $(ADTAMCFLAGS) $(DIFF_FLAGS)
32    ADTAFFLAG          = $(ADTAFFLAGS)  $(DIFF_FLAGS)
33    
34    TLTAMCFLAG         = $(TLTAMCFLAGS) $(DIFF_FLAGS)
35    TLTAFFLAG          = $(TLTAFFLAGS)  $(DIFF_FLAGS)
36    
37  # Source files for the MITgcmUV  # Source files for the MITgcmUV
38  SRC_MODEL       = $(PKG)/autodiff/read_write.flow       \  SRC_MODEL       = \
39                    $(PKG)/autodiff/read_write.flow \
40                  $(PKG)/autodiff/read_write_fld.flow     \                  $(PKG)/autodiff/read_write_fld.flow     \
41                  $(PKG)/autodiff/read_write_rec.flow     \                  $(PKG)/autodiff/read_write_rec.flow     \
                 $(PKG)/autodiff/cg2d.flow               \  
                 $(PKG)/autodiff/initialisation.flow     \  
42                  $(PKG)/autodiff/diags.flow              \                  $(PKG)/autodiff/diags.flow              \
43                    $(PKG)/autodiff/cg2d.flow               \
44                    $(PKG)/autodiff/debug.flow              \
45                  $(PKG)/autodiff/dummy_in_stepping.flow  \                  $(PKG)/autodiff/dummy_in_stepping.flow  \
46                  $(PKG)/autodiff/external_fields_load.flow       \                  $(PKG)/autodiff/external_fields_load.flow       \
47                  $(PKG)/autodiff/eesupp.flow             \                  $(PKG)/autodiff/eesupp.flow             \
48                  $(PKG)/autodiff/active_file.flow        \                  $(PKG)/autodiff/active_file.flow        \
49                  $(PKG)/autodiff/write_state.flow        \                  $(PKG)/autodiff/write_state.flow        \
50                  $(PKG)/autodiff/write_time_averages.flow\                  $(PKG)/autodiff/ecco_check_exp.flow     \
51                  $(PKG)/autodiff/exch_ad.flow            \                  $(PKG)/autodiff/exch_ad.flow            \
52                    $(PKG)/autodiff/exch_z_ad.flow          \
53                    $(PKG)/autodiff/exch_uv_ad.flow         \
54                  $(PKG)/autodiff/global_sum_ad.flow      \                  $(PKG)/autodiff/global_sum_ad.flow      \
55                  $(PKG)/autodiff/global_max_ad.flow      \                  $(PKG)/autodiff/global_max_ad.flow      \
56                    $(PKG)/autodiff/initialisation.flow     \
57                  $(PKG)/autodiff/mdsio.flow              \                  $(PKG)/autodiff/mdsio.flow              \
58                    $(PKG)/autodiff/monitor.flow            \
59                  $(PKG)/autodiff/checkpoint.flow         \                  $(PKG)/autodiff/checkpoint.flow         \
60                  $(PKG)/autodiff/print_message.flow      \                  $(PKG)/autodiff/print_message.flow      \
61                  $(PKG)/autodiff/open_copy_data_file.flow\                  $(PKG)/autodiff/open_copy_data_file.flow\
62                    $(PKG)/autodiff/timeave.flow            \
63                                                                  \                                                                  \
64                  $(SOURCE_CODE)/grad_sigma.f                     \                  $(SOURCE_CODE)/adams_bashforth2.f               \
65                  $(SOURCE_CODE)/calc_buoyancy.f                  \                  $(SOURCE_CODE)/calc_buoyancy.f                  \
66                  $(SOURCE_CODE)/calc_common_factors.f            \                  $(SOURCE_CODE)/calc_common_factors.f            \
67                  $(SOURCE_CODE)/calc_diffusivity.f               \                  $(SOURCE_CODE)/calc_diffusivity.f               \
68                  $(SOURCE_CODE)/calc_div_ghat.f                  \                  $(SOURCE_CODE)/calc_div_ghat.f                  \
69                    $(SOURCE_CODE)/calc_exact_eta.f                 \
70                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \
71                  $(SOURCE_CODE)/calc_gs.f                        \                  $(SOURCE_CODE)/calc_gs.f                        \
72                  $(SOURCE_CODE)/calc_gt.f                        \                  $(SOURCE_CODE)/calc_gt.f                        \
73                    $(SOURCE_CODE)/calc_gtr1.f                      \
74                  $(SOURCE_CODE)/calc_ivdc.f                      \                  $(SOURCE_CODE)/calc_ivdc.f                      \
                 $(SOURCE_CODE)/calc_mom_rhs.f                   \  
75                  $(SOURCE_CODE)/calc_phi_hyd.f                   \                  $(SOURCE_CODE)/calc_phi_hyd.f                   \
76                    $(SOURCE_CODE)/calc_viscosity.f                 \
77                  $(SOURCE_CODE)/comm_stats.f                     \                  $(SOURCE_CODE)/comm_stats.f                     \
78                  $(SOURCE_CODE)/convect.f                        \                  $(SOURCE_CODE)/convect.f                        \
79                  $(SOURCE_CODE)/convective_adjustment.f          \                  $(SOURCE_CODE)/convective_adjustment.f          \
80                    $(SOURCE_CODE)/convective_adjustment_ini.f      \
81                  $(SOURCE_CODE)/correction_step.f                \                  $(SOURCE_CODE)/correction_step.f                \
82                  $(SOURCE_CODE)/cycle_tracer.f                   \                  $(SOURCE_CODE)/cycle_tracer.f                   \
83                  $(SOURCE_CODE)/different_multiple.f             \                  $(SOURCE_CODE)/different_multiple.f             \
# Line 68  SRC_MODEL      = $(PKG)/autodiff/read_write.f Line 88  SRC_MODEL      = $(PKG)/autodiff/read_write.f
88                  $(SOURCE_CODE)/external_forcing_surf.f          \                  $(SOURCE_CODE)/external_forcing_surf.f          \
89                  $(SOURCE_CODE)/find_alpha.f                     \                  $(SOURCE_CODE)/find_alpha.f                     \
90                  $(SOURCE_CODE)/find_rho.f                       \                  $(SOURCE_CODE)/find_rho.f                       \
91                    $(SOURCE_CODE)/forward_step.f                   \
92                  $(SOURCE_CODE)/freeze.f                         \                  $(SOURCE_CODE)/freeze.f                         \
93                  $(SOURCE_CODE)/get_offline_fields.f             \                                                                  \
94                    $(SOURCE_CODE)/gad_advection.f                  \
95                    $(SOURCE_CODE)/gad_biharm_x.f                   \
96                    $(SOURCE_CODE)/gad_biharm_y.f                   \
97                    $(SOURCE_CODE)/gad_c2_adv_r.f                   \
98                    $(SOURCE_CODE)/gad_c2_adv_x.f                   \
99                    $(SOURCE_CODE)/gad_c2_adv_y.f                   \
100                    $(SOURCE_CODE)/gad_c4_adv_r.f                   \
101                    $(SOURCE_CODE)/gad_c4_adv_x.f                   \
102                    $(SOURCE_CODE)/gad_c4_adv_y.f                   \
103                    $(SOURCE_CODE)/gad_calc_rhs.f                   \
104                    $(SOURCE_CODE)/gad_del2.f                       \
105                    $(SOURCE_CODE)/gad_diff_r.f                     \
106                    $(SOURCE_CODE)/gad_diff_x.f                     \
107                    $(SOURCE_CODE)/gad_diff_y.f                     \
108                    $(SOURCE_CODE)/gad_dst3_adv_x.f                 \
109                    $(SOURCE_CODE)/gad_dst3_adv_y.f                 \
110                    $(SOURCE_CODE)/gad_dst3_adv_r.f                 \
111                    $(SOURCE_CODE)/gad_dst3fl_adv_x.f               \
112                    $(SOURCE_CODE)/gad_dst3fl_adv_y.f               \
113                    $(SOURCE_CODE)/gad_dst3fl_adv_r.f               \
114                    $(SOURCE_CODE)/gad_fluxlimit_adv_r.f            \
115                    $(SOURCE_CODE)/gad_fluxlimit_adv_x.f            \
116                    $(SOURCE_CODE)/gad_fluxlimit_adv_y.f            \
117                    $(SOURCE_CODE)/gad_grad_x.f                     \
118                    $(SOURCE_CODE)/gad_grad_y.f                     \
119                    $(SOURCE_CODE)/gad_u3_adv_r.f                   \
120                    $(SOURCE_CODE)/gad_u3_adv_x.f                   \
121                    $(SOURCE_CODE)/gad_u3_adv_y.f                   \
122                                                                    \
123                    $(SOURCE_CODE)/grad_sigma.f                     \
124                  $(SOURCE_CODE)/impldiff.f                       \                  $(SOURCE_CODE)/impldiff.f                       \
125                    $(SOURCE_CODE)/ini_autodiff.f                   \
126                  $(SOURCE_CODE)/ini_cartesian_grid.f             \                  $(SOURCE_CODE)/ini_cartesian_grid.f             \
127                  $(SOURCE_CODE)/ini_cg2d.f                       \                  $(SOURCE_CODE)/ini_cg2d.f                       \
128                  $(SOURCE_CODE)/ini_communication_patterns.f     \                  $(SOURCE_CODE)/ini_communication_patterns.f     \
129                  $(SOURCE_CODE)/ini_cori.f                       \                  $(SOURCE_CODE)/ini_cori.f                       \
130                    $(SOURCE_CODE)/ini_curvilinear_grid.f           \
131                  $(SOURCE_CODE)/ini_depths.f                     \                  $(SOURCE_CODE)/ini_depths.f                     \
132                  $(SOURCE_CODE)/ini_fields.f                     \                  $(SOURCE_CODE)/ini_fields.f                     \
133                  $(SOURCE_CODE)/ini_forcing.f                    \                  $(SOURCE_CODE)/ini_forcing.f                    \
134                  $(SOURCE_CODE)/ini_grid.f                       \                  $(SOURCE_CODE)/ini_grid.f                       \
135                    $(SOURCE_CODE)/ini_linear_phisurf.f             \
136                  $(SOURCE_CODE)/ini_masks_etc.f                  \                  $(SOURCE_CODE)/ini_masks_etc.f                  \
137                  $(SOURCE_CODE)/ini_procs.f                      \                  $(SOURCE_CODE)/ini_mixing.f                     \
138                    $(SOURCE_CODE)/ini_p_ground.f                   \
139                    $(SOURCE_CODE)/ini_pnh.f                        \
140                  $(SOURCE_CODE)/ini_psurf.f                      \                  $(SOURCE_CODE)/ini_psurf.f                      \
141                  $(SOURCE_CODE)/ini_salt.f                       \                  $(SOURCE_CODE)/ini_salt.f                       \
142                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \
143                  $(SOURCE_CODE)/ini_theta.f                      \                  $(SOURCE_CODE)/ini_theta.f                      \
144                  $(SOURCE_CODE)/ini_uvel.f                       \                  $(SOURCE_CODE)/ini_tr1.f                        \
145                    $(SOURCE_CODE)/ini_dynvars.f                    \
146                    $(SOURCE_CODE)/ini_vel.f                        \
147                  $(SOURCE_CODE)/ini_vertical_grid.f              \                  $(SOURCE_CODE)/ini_vertical_grid.f              \
                 $(SOURCE_CODE)/ini_vvel.f                       \  
                 $(SOURCE_CODE)/ini_wvel.f                       \  
148                  $(SOURCE_CODE)/initialise_varia.f               \                  $(SOURCE_CODE)/initialise_varia.f               \
149                  $(SOURCE_CODE)/integrate_for_w.f                \                  $(SOURCE_CODE)/integrate_for_w.f                \
150                  $(SOURCE_CODE)/modeldata_example.f              \                  $(SOURCE_CODE)/modeldata_example.f              \
151                  $(SOURCE_CODE)/nml_filter.f                     \                                                                  \
152                    $(SOURCE_CODE)/mom_fluxform.f                   \
153                    $(SOURCE_CODE)/mom_hdissip.f                    \
154                    $(SOURCE_CODE)/mom_vecinv.f                     \
155                    $(SOURCE_CODE)/mom_calc_hfacz.f                 \
156                    $(SOURCE_CODE)/mom_calc_ke.f                    \
157                    $(SOURCE_CODE)/mom_calc_strain.f                \
158                    $(SOURCE_CODE)/mom_calc_tension.f               \
159                    $(SOURCE_CODE)/mom_cdscheme.f                   \
160                    $(SOURCE_CODE)/mom_u_adv_uu.f                   \
161                    $(SOURCE_CODE)/mom_u_adv_vu.f                   \
162                    $(SOURCE_CODE)/mom_u_adv_wu.f                   \
163                    $(SOURCE_CODE)/mom_u_bottomdrag.f               \
164                    $(SOURCE_CODE)/mom_u_coriolis.f                 \
165                    $(SOURCE_CODE)/mom_u_del2u.f                    \
166                    $(SOURCE_CODE)/mom_u_metric_nh.f                \
167                    $(SOURCE_CODE)/mom_u_metric_sphere.f            \
168                    $(SOURCE_CODE)/mom_u_rviscflux.f                \
169                    $(SOURCE_CODE)/mom_u_sidedrag.f                 \
170                    $(SOURCE_CODE)/mom_u_xviscflux.f                \
171                    $(SOURCE_CODE)/mom_u_yviscflux.f                \
172                    $(SOURCE_CODE)/mom_v_adv_uv.f                   \
173                    $(SOURCE_CODE)/mom_v_adv_vv.f                   \
174                    $(SOURCE_CODE)/mom_v_adv_wv.f                   \
175                    $(SOURCE_CODE)/mom_v_bottomdrag.f               \
176                    $(SOURCE_CODE)/mom_v_coriolis.f                 \
177                    $(SOURCE_CODE)/mom_v_del2v.f                    \
178                    $(SOURCE_CODE)/mom_v_metric_nh.f                \
179                    $(SOURCE_CODE)/mom_v_metric_sphere.f            \
180                    $(SOURCE_CODE)/mom_v_rviscflux.f                \
181                    $(SOURCE_CODE)/mom_v_sidedrag.f                 \
182                    $(SOURCE_CODE)/mom_v_xviscflux.f                \
183                    $(SOURCE_CODE)/mom_v_yviscflux.f                \
184                    $(SOURCE_CODE)/mom_vi_calc_absvort3.f           \
185                    $(SOURCE_CODE)/mom_vi_calc_hdiv.f               \
186                    $(SOURCE_CODE)/mom_vi_calc_ke.f                 \
187                    $(SOURCE_CODE)/mom_vi_calc_relvort3.f           \
188                    $(SOURCE_CODE)/mom_vi_coriolis.f                \
189                    $(SOURCE_CODE)/mom_vi_del2uv.f                  \
190                    $(SOURCE_CODE)/mom_vi_hdissip.f                 \
191                    $(SOURCE_CODE)/mom_vi_u_coriolis.f              \
192                    $(SOURCE_CODE)/mom_vi_u_grad_ke.f               \
193                    $(SOURCE_CODE)/mom_vi_u_vertshear.f             \
194                    $(SOURCE_CODE)/mom_vi_v_coriolis.f              \
195                    $(SOURCE_CODE)/mom_vi_v_grad_ke.f               \
196                    $(SOURCE_CODE)/mom_vi_v_vertshear.f             \
197                                                                    \
198                  $(SOURCE_CODE)/packages_init_variables.f        \                  $(SOURCE_CODE)/packages_init_variables.f        \
199                  $(SOURCE_CODE)/plot_field.f                     \                  $(SOURCE_CODE)/plot_field.f                     \
200                  $(SOURCE_CODE)/solve_for_pressure.f             \                  $(SOURCE_CODE)/solve_for_pressure.f             \
201                  $(SOURCE_CODE)/state_summary.f                  \                  $(SOURCE_CODE)/state_summary.f                  \
202                  $(SOURCE_CODE)/timestep.f                       \                  $(SOURCE_CODE)/timestep.f                       \
203                  $(SOURCE_CODE)/the_correction_step.f            \                  $(SOURCE_CODE)/the_correction_step.f            \
204                  $(SOURCE_CODE)/the_main_sens.f                  \                  $(SOURCE_CODE)/the_main_loop.f                  \
205                    $(SOURCE_CODE)/thermodynamics.f                 \
206                  $(SOURCE_CODE)/timestep_tracer.f                \                  $(SOURCE_CODE)/timestep_tracer.f                \
207                  $(SOURCE_CODE)/swfrac.f                         \                  $(SOURCE_CODE)/swfrac.f                         \
208                                                                  \                                                                  \
209                  $(SOURCE_CODE)/kpp_calc.f                       \                  $(SOURCE_CODE)/kpp_calc.f                       \
210                  $(SOURCE_CODE)/kpp_calc_diff.f                  \                  $(SOURCE_CODE)/kpp_calc_diff.f                  \
211                    $(SOURCE_CODE)/kpp_calc_visc.f                  \
212                  $(SOURCE_CODE)/kpp_do_diags.f                   \                  $(SOURCE_CODE)/kpp_do_diags.f                   \
213                  $(SOURCE_CODE)/kpp_init.f                       \                  $(SOURCE_CODE)/kpp_init.f                       \
214                  $(SOURCE_CODE)/kpp_open_diags.f                 \                  $(SOURCE_CODE)/kpp_open_diags.f                 \
# Line 126  SRC_MODEL      = $(PKG)/autodiff/read_write.f Line 230  SRC_MODEL      = $(PKG)/autodiff/read_write.f
230                                                                  \                                                                  \
231                  $(SOURCE_CODE)/cost_final.f                     \                  $(SOURCE_CODE)/cost_final.f                     \
232                  $(SOURCE_CODE)/cost_init.f                      \                  $(SOURCE_CODE)/cost_init.f                      \
233                    $(SOURCE_CODE)/cost_tile.f                      \
234                  $(SOURCE_CODE)/cost_test.f                      \                  $(SOURCE_CODE)/cost_test.f                      \
235                    $(SOURCE_CODE)/cost_tracer.f                    \
236                                                                    \
237                    $(SOURCE_CODE)/shap_filt_apply.f                \
238                    $(SOURCE_CODE)/shap_filt_apply_ts.f             \
239                    $(SOURCE_CODE)/shap_filt_tracer_s1.f            \
240                    $(SOURCE_CODE)/shap_filt_tracer_s2.f            \
241                    $(SOURCE_CODE)/shap_filt_tracer_s2g.f           \
242                    $(SOURCE_CODE)/shap_filt_tracer_s4.f            \
243                    $(SOURCE_CODE)/shap_filt_uv_s1.f                \
244                    $(SOURCE_CODE)/shap_filt_uv_s2.f                \
245                    $(SOURCE_CODE)/shap_filt_uv_s2g.f               \
246                    $(SOURCE_CODE)/shap_filt_uv_s4.f                \
247                                                                  \                                                                  \
248    
249    
# Line 134  SRC_MODEL      = $(PKG)/autodiff/read_write.f Line 251  SRC_MODEL      = $(PKG)/autodiff/read_write.f
251  # rules  # rules
252  #--------------------------------------------------------  #--------------------------------------------------------
253    
254  adcode:  allcode:
255          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f
256  admodel:  
257          cd $(DEST) ; $(TAMC) $(TAMCFLAG) tamc_code_ecco.f       \  admodeltamc:
258             >! tamc_code_ecco.prot          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code_ecco.f     \
259               >! tamc_code_ecco_ad.prot
260    
261    admodeltaf:
262            cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code_ecco.f
263    
264    tlmodeltamc:
265            cd $(DEST) ; $(TAMC) $(TLTAMCFLAG) tamc_code_ecco.f     \
266               >! tamc_code_ecco_tl.prot
267    
268    tlmodeltaf:
269            cd $(DEST) ; $(TAF) $(TLTAFFLAG) tamc_code_ecco.f
270    
271  adchange:  adchange:
272          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com \          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com \
# Line 149  adchange: Line 277  adchange:
277  adrestore:  adrestore:
278          cp $(PKG)/autodiff/adjoint_model.F_template     \          cp $(PKG)/autodiff/adjoint_model.F_template     \
279             $(PKG)/autodiff/adjoint_model.F             $(PKG)/autodiff/adjoint_model.F
280  adall:  adcode admodel  
281    tltamc:  allcode tlmodeltamc
282    
283    tltaf:  allcode tlmodeltaf
284    
285    adtamc:  adrestore allcode admodeltamc
286    
287    adtaf:  adrestore allcode admodeltaf

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

  ViewVC Help
Powered by ViewVC 1.1.22