/[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.16.4.17 by dimitri, Thu Feb 27 22:12:17 2003 UTC revision 1.16.4.18 by heimbach, Sat Mar 8 00:16:22 2003 UTC
# Line 3  RM               = rm -f Line 3  RM               = rm -f
3  LOC              = $(PWD)  LOC              = $(PWD)
4  TAMC             = tamc  TAMC             = tamc
5  ###TAMC             = /data43/ralf/tamc/tamc  ###TAMC             = /data43/ralf/tamc/tamc
6  TAF              = taf  ###TAF              = taf
7  ###TAF              = ~fastopt/bin/taf  TAF              = ~fastopt/bin/taf
8  DEST             = .  DEST             = .
9  SOURCE_CODE      = ../bin  SOURCE_CODE      = ../bin
10  ADJOINT_SCRIPT   = ../adjoint  ADJOINT_SCRIPT   = ../adjoint
11  BASE             = ..  BASE             = ..
 TAMCFLAGS        = -reverse -i4 -r4  
 TAFFLAGS         = -reverse -i4 -r4 -nonew_arg  
12  PKG             = $(BASE)/pkg  PKG             = $(BASE)/pkg
13    #
14    ADTAMCFLAGS      = -reverse -admark ad -i4 -r4
15    ADTAFFLAGS       = -reverse -admark ad -i4 -r4 \
16                            -l taf_ad.log -flow taf_ad_flow.log -nonew_arg
17    FTLTAMCFLAGS     = -forward -ftlmark g_ -i4 -r4
18    FTLTAFFLAGS      = -forward -ftlmark g_ -i4 -r4 \
19                            -l taf_ftl.log -flow taf_ftl_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    # further useful options: -warn_step -flow taf_flow.log
25    # NB: the svd option recommended in the TAMC manual doesn't work.
26    
27  DIFF_FLAGS       = -toplevel the_main_loop              \  DIFF_FLAGS       = -toplevel the_main_loop              \
28                     -input  '    xx_theta_dummy          \                     -input  '    xx_theta_dummy          \
29                                  xx_salt_dummy           \                                  xx_salt_dummy           \
30                                    xx_tr1_dummy            \
31                                  xx_hflux_dummy          \                                  xx_hflux_dummy          \
32                                  xx_sflux_dummy          \                                  xx_sflux_dummy          \
33                                  xx_tauu_dummy           \                                  xx_tauu_dummy           \
# Line 27  DIFF_FLAGS       = -toplevel the_main_lo Line 39  DIFF_FLAGS       = -toplevel the_main_lo
39                                  xx_obcsn_dummy          \                                  xx_obcsn_dummy          \
40                                  xx_obcss_dummy          \                                  xx_obcss_dummy          \
41                                  xx_obcsw_dummy          \                                  xx_obcsw_dummy          \
42                                  xx_obcse_dummy'         \                                  xx_obcse_dummy          \
43                                    xx_sst_dummy            \
44                                    xx_sss_dummy            \
45                                    xx_diffkr_dummy         \
46                                    xx_kapgm_dummy          \
47                                    xx_efluxy_dummy         \
48                                    xx_efluxp_dummy'        \
49                     -output 'fc'                     -output 'fc'
50    
51  TAMCFLAG         = $(TAMCFLAGS) $(DIFF_FLAGS) -admark ad  ADTAMCFLAG         = $(ADTAMCFLAGS) $(DIFF_FLAGS)
52    ADTAFFLAG          = $(ADTAFFLAGS)  $(DIFF_FLAGS)
53    
54  TAFFLAG          = $(TAFFLAGS) $(DIFF_FLAGS) -admark ad  FTLTAMCFLAG         = $(FTLTAMCFLAGS) $(DIFF_FLAGS)
55    FTLTAFFLAG          = $(FTLTAFFLAGS)  $(DIFF_FLAGS)
56    
57    SVDTAMCFLAG         = $(SVDTAMCFLAGS) $(DIFF_FLAGS)
58    SVDTAFFLAG          = $(SVDTAFFLAGS)  $(DIFF_FLAGS)
59    
60  # Source files for the MITgcmUV  # Source files for the MITgcmUV
61  SRC_MODEL       = \  SRC_MODEL       = \
# Line 43  SRC_MODEL      = \ Line 65  SRC_MODEL      = \
65                  $(PKG)/autodiff/cg2d.flow               \                  $(PKG)/autodiff/cg2d.flow               \
66                  $(PKG)/autodiff/diags.flow              \                  $(PKG)/autodiff/diags.flow              \
67                  $(PKG)/autodiff/debug.flow              \                  $(PKG)/autodiff/debug.flow              \
68                    $(PKG)/autodiff/do_the_model_io.flow    \
69                  $(PKG)/autodiff/dummy_in_stepping.flow  \                  $(PKG)/autodiff/dummy_in_stepping.flow  \
                 $(PKG)/autodiff/external_fields_load.flow       \  
70                  $(PKG)/autodiff/eesupp.flow             \                  $(PKG)/autodiff/eesupp.flow             \
71                  $(PKG)/autodiff/active_file.flow        \                  $(PKG)/autodiff/active_file.flow        \
72                  $(PKG)/autodiff/write_state.flow        \                  $(PKG)/autodiff/write_state.flow        \
# Line 59  SRC_MODEL      = \ Line 81  SRC_MODEL      = \
81                  $(PKG)/autodiff/monitor.flow            \                  $(PKG)/autodiff/monitor.flow            \
82                  $(PKG)/autodiff/obcs.flow               \                  $(PKG)/autodiff/obcs.flow               \
83                  $(PKG)/autodiff/checkpoint.flow         \                  $(PKG)/autodiff/checkpoint.flow         \
84                    $(PKG)/autodiff/print_message.flow      \
85                  $(PKG)/autodiff/open_copy_data_file.flow\                  $(PKG)/autodiff/open_copy_data_file.flow\
86                  $(PKG)/autodiff/timeave.flow            \                  $(PKG)/autodiff/timeave.flow            \
87                                                                  \                                                                  \
# Line 67  SRC_MODEL      = \ Line 90  SRC_MODEL      = \
90                  $(SOURCE_CODE)/calc_common_factors.f            \                  $(SOURCE_CODE)/calc_common_factors.f            \
91                  $(SOURCE_CODE)/calc_diffusivity.f               \                  $(SOURCE_CODE)/calc_diffusivity.f               \
92                  $(SOURCE_CODE)/calc_div_ghat.f                  \                  $(SOURCE_CODE)/calc_div_ghat.f                  \
                 $(SOURCE_CODE)/calc_exact_eta.f                 \  
93                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \                  $(SOURCE_CODE)/calc_grad_phi_surf.f             \
94                  $(SOURCE_CODE)/calc_gs.f                        \                  $(SOURCE_CODE)/calc_gs.f                        \
95                  $(SOURCE_CODE)/calc_gt.f                        \                  $(SOURCE_CODE)/calc_gt.f                        \
# Line 82  SRC_MODEL      = \ Line 104  SRC_MODEL      = \
104                  $(SOURCE_CODE)/cycle_tracer.f                   \                  $(SOURCE_CODE)/cycle_tracer.f                   \
105                  $(SOURCE_CODE)/different_multiple.f             \                  $(SOURCE_CODE)/different_multiple.f             \
106                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \                  $(SOURCE_CODE)/do_fields_blocking_exchanges.f   \
                 $(SOURCE_CODE)/do_the_model_io.f                \  
107                  $(SOURCE_CODE)/dynamics.f                       \                  $(SOURCE_CODE)/dynamics.f                       \
108                  $(SOURCE_CODE)/external_forcing.f               \                  $(SOURCE_CODE)/external_forcing.f               \
109                  $(SOURCE_CODE)/external_forcing_surf.f          \                  $(SOURCE_CODE)/external_forcing_surf.f          \
# Line 90  SRC_MODEL      = \ Line 111  SRC_MODEL      = \
111                  $(SOURCE_CODE)/find_rho.f                       \                  $(SOURCE_CODE)/find_rho.f                       \
112                  $(SOURCE_CODE)/freeze.f                         \                  $(SOURCE_CODE)/freeze.f                         \
113                                                                  \                                                                  \
114                    $(SOURCE_CODE)/calc_grad_phi_hyd.f              \
115                    $(SOURCE_CODE)/comm_stats.f                     \
116                    $(SOURCE_CODE)/convective_weights.f             \
117                    $(SOURCE_CODE)/convectively_mixtracer.f         \
118                    $(SOURCE_CODE)/diags_phi_hyd.f                  \
119                    $(SOURCE_CODE)/diags_phi_rlow.f                 \
120                    $(SOURCE_CODE)/do_stagger_fields_exchanges.f    \
121                    $(SOURCE_CODE)/external_fields_load.f           \
122                    $(SOURCE_CODE)/integr_continuity.f              \
123                                                                    \
124                  $(SOURCE_CODE)/gad_advection.f                  \                  $(SOURCE_CODE)/gad_advection.f                  \
125                  $(SOURCE_CODE)/gad_biharm_x.f                   \                  $(SOURCE_CODE)/gad_biharm_x.f                   \
126                  $(SOURCE_CODE)/gad_biharm_y.f                   \                  $(SOURCE_CODE)/gad_biharm_y.f                   \
# Line 124  SRC_MODEL      = \ Line 155  SRC_MODEL      = \
155                  $(SOURCE_CODE)/ini_autodiff.f                   \                  $(SOURCE_CODE)/ini_autodiff.f                   \
156                  $(SOURCE_CODE)/ini_cartesian_grid.f             \                  $(SOURCE_CODE)/ini_cartesian_grid.f             \
157                  $(SOURCE_CODE)/ini_cg2d.f                       \                  $(SOURCE_CODE)/ini_cg2d.f                       \
158                    $(SOURCE_CODE)/ini_communication_patterns.f     \
159                  $(SOURCE_CODE)/ini_cori.f                       \                  $(SOURCE_CODE)/ini_cori.f                       \
160                  $(SOURCE_CODE)/ini_curvilinear_grid.f           \                  $(SOURCE_CODE)/ini_curvilinear_grid.f           \
161                  $(SOURCE_CODE)/ini_depths.f                     \                  $(SOURCE_CODE)/ini_depths.f                     \
# Line 135  SRC_MODEL      = \ Line 167  SRC_MODEL      = \
167                  $(SOURCE_CODE)/ini_mixing.f                     \                  $(SOURCE_CODE)/ini_mixing.f                     \
168                  $(SOURCE_CODE)/ini_p_ground.f                   \                  $(SOURCE_CODE)/ini_p_ground.f                   \
169                  $(SOURCE_CODE)/ini_pnh.f                        \                  $(SOURCE_CODE)/ini_pnh.f                        \
170                    $(SOURCE_CODE)/ini_pressure.f                   \
171                  $(SOURCE_CODE)/ini_psurf.f                      \                  $(SOURCE_CODE)/ini_psurf.f                      \
172                  $(SOURCE_CODE)/ini_salt.f                       \                  $(SOURCE_CODE)/ini_salt.f                       \
173                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \                  $(SOURCE_CODE)/ini_spherical_polar_grid.f       \
# Line 152  SRC_MODEL      = \ Line 185  SRC_MODEL      = \
185                  $(SOURCE_CODE)/mom_vecinv.f                     \                  $(SOURCE_CODE)/mom_vecinv.f                     \
186                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \                  $(SOURCE_CODE)/mom_calc_hfacz.f                 \
187                  $(SOURCE_CODE)/mom_calc_ke.f                    \                  $(SOURCE_CODE)/mom_calc_ke.f                    \
188                    $(SOURCE_CODE)/mom_calc_rtrans.f                \
189                  $(SOURCE_CODE)/mom_calc_strain.f                \                  $(SOURCE_CODE)/mom_calc_strain.f                \
190                  $(SOURCE_CODE)/mom_calc_tension.f               \                  $(SOURCE_CODE)/mom_calc_tension.f               \
191                  $(SOURCE_CODE)/mom_cdscheme.f                   \                  $(SOURCE_CODE)/mom_cdscheme.f                   \
# Line 160  SRC_MODEL      = \ Line 194  SRC_MODEL      = \
194                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \                  $(SOURCE_CODE)/mom_u_adv_wu.f                   \
195                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \                  $(SOURCE_CODE)/mom_u_bottomdrag.f               \
196                  $(SOURCE_CODE)/mom_u_coriolis.f                 \                  $(SOURCE_CODE)/mom_u_coriolis.f                 \
197                    $(SOURCE_CODE)/mom_u_coriolis_nh.f              \
198                  $(SOURCE_CODE)/mom_u_del2u.f                    \                  $(SOURCE_CODE)/mom_u_del2u.f                    \
199                  $(SOURCE_CODE)/mom_u_metric_nh.f                \                  $(SOURCE_CODE)/mom_u_metric_nh.f                \
200                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \                  $(SOURCE_CODE)/mom_u_metric_sphere.f            \
# Line 195  SRC_MODEL      = \ Line 230  SRC_MODEL      = \
230                                                                  \                                                                  \
231                  $(SOURCE_CODE)/packages_init_variables.f        \                  $(SOURCE_CODE)/packages_init_variables.f        \
232                  $(SOURCE_CODE)/plot_field.f                     \                  $(SOURCE_CODE)/plot_field.f                     \
233                    $(SOURCE_CODE)/pressure_for_eos.f               \
234                    $(SOURCE_CODE)/quasihydrostaticterms.f          \
235                  $(SOURCE_CODE)/solve_for_pressure.f             \                  $(SOURCE_CODE)/solve_for_pressure.f             \
236                  $(SOURCE_CODE)/state_summary.f                  \                  $(SOURCE_CODE)/state_summary.f                  \
237                  $(SOURCE_CODE)/timestep.f                       \                  $(SOURCE_CODE)/timestep.f                       \
# Line 202  SRC_MODEL      = \ Line 239  SRC_MODEL      = \
239                  $(SOURCE_CODE)/thermodynamics.f                 \                  $(SOURCE_CODE)/thermodynamics.f                 \
240                  $(SOURCE_CODE)/timestep_tracer.f                \                  $(SOURCE_CODE)/timestep_tracer.f                \
241                  $(SOURCE_CODE)/swfrac.f                         \                  $(SOURCE_CODE)/swfrac.f                         \
242                    $(SOURCE_CODE)/update_etah.f                    \
243                                                                  \                                                                  \
244                  $(SOURCE_CODE)/kpp_calc.f                       \                  $(SOURCE_CODE)/kpp_calc.f                       \
245                  $(SOURCE_CODE)/kpp_calc_diff.f                  \                  $(SOURCE_CODE)/kpp_calc_diff.f                  \
# Line 214  SRC_MODEL      = \ Line 252  SRC_MODEL      = \
252                  $(SOURCE_CODE)/kpp_transport_t.f                \                  $(SOURCE_CODE)/kpp_transport_t.f                \
253                                                                  \                                                                  \
254                  $(SOURCE_CODE)/gmredi_calc_diff.f               \                  $(SOURCE_CODE)/gmredi_calc_diff.f               \
                 $(SOURCE_CODE)/gmredi_calc_tensor.f             \  
255                  $(SOURCE_CODE)/gmredi_calc_psi_b.f              \                  $(SOURCE_CODE)/gmredi_calc_psi_b.f              \
256                    $(SOURCE_CODE)/gmredi_calc_tensor.f             \
257                    $(SOURCE_CODE)/gmredi_calc_uvflow.f             \
258                    $(SOURCE_CODE)/gmredi_calc_wflow.f              \
259                  $(SOURCE_CODE)/gmredi_diags.f                   \                  $(SOURCE_CODE)/gmredi_diags.f                   \
260                  $(SOURCE_CODE)/gmredi_init.f                    \                  $(SOURCE_CODE)/gmredi_init.f                    \
261                  $(SOURCE_CODE)/gmredi_rtransport.f              \                  $(SOURCE_CODE)/gmredi_rtransport.f              \
# Line 399  SRC_MODEL      = \ Line 439  SRC_MODEL      = \
439  small_f:  small_f:
440          cd $(SOURCE_CODE); $(MAKE) depend; $(MAKE) small_f          cd $(SOURCE_CODE); $(MAKE) depend; $(MAKE) small_f
441    
442  adcode:  allcode:
443          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f          cd $(DEST) ; cat $(SRC_MODEL) >! tamc_code_ecco.f
444    
445  admodeltamc:  admodeltamc:
446          cd $(DEST) ; $(TAMC) $(TAMCFLAG) tamc_code_ecco.f       \          cd $(DEST) ; $(TAMC) $(ADTAMCFLAG) tamc_code_ecco.f     \
447             >! tamc_code_ecco_ad.prot             >! tamc_code_ecco_ad.prot
448    
449  admodeltaf:  admodeltaf:
450          cd $(DEST) ; $(TAF) $(TAFFLAG) tamc_code_ecco.f          cd $(DEST) ; $(TAF) $(ADTAFFLAG) tamc_code_ecco.f
451    
452  adrestore:  ftlmodeltamc:
453          cp $(PKG)/autodiff/adjoint_model.F_template     \          cd $(DEST) ; $(TAMC) $(FTLTAMCFLAG) tamc_code_ecco.f    \
454             $(PKG)/autodiff/adjoint_model.F             >! tamc_code_ecco_ftl.prot
455    
456    ftlmodeltaf:
457            cd $(DEST) ; $(TAF) $(FTLTAFFLAG) tamc_code_ecco.f
458    
459    svdmodeltaf:
460            cd $(DEST) ; $(TAF) $(SVDTAFFLAG) tamc_code_ecco.f
461    
462  adchange:  adchange:
463          ${ADJOINT_SCRIPT}/adjoint_ecco_sed.com          \          cp $(PKG)/autodiff/adjoint_model.F_template     \
464             >! tamc_code_ecco_sed_ad.f ;                 \             $(PKG)/autodiff/adjoint_model.F ;            \
465            ${ADJOINT_SCRIPT}/adjoint_sed.com               \
466               >! tamc_code_ecco_sed_ad.f ;                         \
467          cp $(PKG)/autodiff/adjoint_model.F              \          cp $(PKG)/autodiff/adjoint_model.F              \
468             $(PKG)/autodiff/adjoint_model.F_old ;        \             $(PKG)/autodiff/adjoint_model.F_old ;        \
         cp $(PKG)/autodiff/adjoint_model.F_template     \  
            $(PKG)/autodiff/adjoint_model.F;             \  
469          cat tamc_code_ecco_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F          cat tamc_code_ecco_sed_ad.f >> $(PKG)/autodiff/adjoint_model.F
470    
471  adtamc:  adrestore small_f adcode admodeltamc  ftlchange:
472            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
473               $(PKG)/autodiff/tangentlinear_model.F ;              \
474            cp $(PKG)/autodiff/tangentlinear_model.F                \
475               $(PKG)/autodiff/tangentlinear_model.F_old ;          \
476            cat tamc_code_ecco_ftl.f >> $(PKG)/autodiff/tangentlinear_model.F
477    
478    bothchange:   adchange ftlchange
479    
480    adrestore:
481            cp $(PKG)/autodiff/adjoint_model.F_template     \
482               $(PKG)/autodiff/adjoint_model.F
483    
484    ftlrestore:
485            cp $(PKG)/autodiff/tangentlinear_model.F_template       \
486               $(PKG)/autodiff/tangentlinear_model.F
487    
488    bothrestore: adrestore ftlrestore
489    
490    adtamc:  adrestore ftlrestore small_f allcode admodeltamc
491    
492    adtaf:  adrestore ftlrestore small_f allcode admodeltaf
493    
494    ftltamc:  adrestore ftlrestore small_f allcode ftlmodeltamc
495    
496    ftltaf:  adrestore ftlrestore small_f allcode ftlmodeltaf
497    
498    bothtaf:  bothrestore small_f allcode admodeltaf ftlmodeltaf
499    
500    svdtaf:  adrestore ftlrestore small_f allcode svdmodeltaf
501    
 adtaf:  adrestore small_f adcode admodeltaf  

Legend:
Removed from v.1.16.4.17  
changed lines
  Added in v.1.16.4.18

  ViewVC Help
Powered by ViewVC 1.1.22