/[MITgcm]/MITgcm/adjoint/tamc_code_ecco.prot_with_gmredi_kpp
ViewVC logotype

Contents of /MITgcm/adjoint/tamc_code_ecco.prot_with_gmredi_kpp

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


Revision 1.2 - (show annotations) (download)
Mon May 14 21:55:09 2001 UTC (22 years, 11 months ago) by heimbach
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
Updated reference adjoint code and TAMC protocol for test case
verification/vero/.

1 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
2 _/ _/
3 _/ T angent linear and _/
4 _/ A djoint Version 5.2.14 _/
5 _/ M odel _/
6 _/ C ompiler _/
7 _/ _/
8 _/ Copyright (c) 1995-2000 Ralf Giering _/
9 _/ _/
10 _/ only for use at MIT EAPS Phys. Ocean., Cambridge _/
11 _/ _/
12 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
13
14 tamc_code_ecco.f:
15 parsing subroutine ** grad_sigma **
16 parsing subroutine ** calc_buoyancy **
17 parsing subroutine ** calc_common_factors **
18 parsing subroutine ** calc_diffusivity **
19 parsing subroutine ** calc_div_ghat **
20 parsing subroutine ** calc_grad_phi_surf **
21 parsing subroutine ** calc_gs **
22 parsing subroutine ** calc_gt **
23 parsing subroutine ** calc_ivdc **
24 parsing subroutine ** calc_mom_rhs **
25 parsing subroutine ** calc_phi_hyd **
26 parsing subroutine ** comm_stats **
27 parsing subroutine ** convect **
28 parsing subroutine ** convective_adjustment **
29 parsing subroutine ** correction_step **
30 parsing subroutine ** cycle_tracer **
31 parsing function ** different_multiple **
32 parsing subroutine ** do_fields_blocking_exchanges **
33 parsing subroutine ** do_the_model_io **
34 parsing subroutine ** dynamics **
35 parsing subroutine ** external_forcing_u **
36 parsing subroutine ** external_forcing_v **
37 parsing subroutine ** external_forcing_t **
38 parsing subroutine ** external_forcing_s **
39 parsing subroutine ** external_forcing_surf **
40 parsing subroutine ** find_alpha **
41 parsing subroutine ** find_beta **
42 parsing subroutine ** find_rho **
43 parsing subroutine ** freeze **
44 parsing subroutine ** get_offline_fields **
45 parsing subroutine ** impldiff **
46 parsing subroutine ** ini_cartesian_grid **
47 parsing subroutine ** ini_cg2d **
48 parsing subroutine ** ini_communication_patterns **
49 parsing subroutine ** ini_cori **
50 parsing subroutine ** ini_depths **
51 parsing subroutine ** ini_fields **
52 parsing subroutine ** ini_forcing **
53 parsing subroutine ** ini_grid **
54 parsing subroutine ** ini_masks_etc **
55 parsing subroutine ** ini_procs **
56 parsing subroutine ** ini_psurf **
57 parsing subroutine ** ini_salt **
58 parsing subroutine ** ini_spherical_polar_grid **
59 parsing subroutine ** ini_theta **
60 parsing subroutine ** ini_uvel **
61 parsing subroutine ** ini_vertical_grid **
62 parsing subroutine ** ini_vvel **
63 parsing subroutine ** ini_wvel **
64 parsing subroutine ** initialise_varia **
65 parsing subroutine ** integrate_for_w **
66 parsing subroutine ** modeldata_example **
67 parsing subroutine ** nml_filter **
68 parsing subroutine ** packages_init_variables **
69 parsing subroutine ** plot_field_xyrs **
70 parsing subroutine ** plot_field_xyrl **
71 parsing subroutine ** plot_field_xyzrs **
72 parsing subroutine ** plot_field_xyzrl **
73 parsing subroutine ** solve_for_pressure **
74 parsing subroutine ** state_summary **
75 parsing subroutine ** timestep **
76 parsing subroutine ** the_correction_step **
77 parsing subroutine ** the_main_sens **
78 parsing subroutine ** timestep_tracer **
79 parsing subroutine ** swfrac **
80 parsing subroutine ** kpp_calc **
81 parsing subroutine ** kpp_calc_diff **
82 parsing subroutine ** kpp_do_diags **
83 parsing subroutine ** kpp_init **
84 parsing subroutine ** kpp_open_diags **
85 parsing subroutine ** kppmix **
86 parsing subroutine ** bldepth **
87 parsing subroutine ** wscale **
88 parsing subroutine ** ri_iwmix **
89 parsing subroutine ** z121 **
90 parsing subroutine ** kpp_smooth_horiz **
91 parsing subroutine ** smooth_horiz **
92 parsing subroutine ** blmix **
93 parsing subroutine ** enhance **
94 parsing subroutine ** statekpp **
95 parsing subroutine ** kpp_transport_s **
96 parsing subroutine ** kpp_transport_t **
97 parsing subroutine ** gmredi_calc_diff **
98 parsing subroutine ** gmredi_calc_tensor **
99 parsing subroutine ** gmredi_calc_tensor_dummy **
100 parsing subroutine ** gmredi_diags **
101 parsing subroutine ** gmredi_init **
102 parsing subroutine ** gmredi_rtransport **
103 parsing subroutine ** gmredi_slope_limit **
104 parsing subroutine ** gmredi_xtransport **
105 parsing subroutine ** gmredi_ytransport **
106 parsing subroutine ** ctrl_map_ini **
107 parsing subroutine ** ctrl_map_forcing **
108 parsing subroutine ** cost_final **
109 parsing subroutine ** cost_init **
110 parsing subroutine ** cost_test **
111
112 =========================================
113 semantic analysis
114 =========================================
115
116 =========================================
117 normalization
118 =========================================
119
120 =========================================
121 control flow analysis
122 =========================================
123 control flow analysis of subroutine nml_filter
124 ==> irreducible control flow graph
125
126 =========================================
127 data dependence analysis
128 =========================================
129
130 =========================================
131 global data flow analysis
132 =========================================
133 determine required routines and statements for subroutine : the_main_sens
134 dependent variable(s) =
135 fc
136
137 determine dependent routines and statements :
138 independent variable(s) =
139 xx_hflux_dummy xx_salt_dummy xx_sflux_dummy xx_sss_dummy xx_sst_dummy xx_tauu_dummy xx_tauv_dummy xx_theta_dummy
140
141 the independent variable(s) are :
142 xx_hflux_dummy xx_salt_dummy xx_sflux_dummy xx_sss_dummy xx_sst_dummy xx_tauu_dummy xx_tauv_dummy xx_theta_dummy
143
144 the dependent variable(s) are :
145 fc
146
147 TAMC WARNING: toplevel routine overwrites the input variables:
148 niter0
149
150 =========================================
151 generate adjoint common blocks
152 =========================================
153 original common block ( 2): controlvars_r
154 derivative common block ( 2): adcontrolvars_r
155 original common block ( 14): cost_r
156 derivative common block ( 2): adcost_r
157 original common block ( 10): ctrl_dummy
158 derivative common block ( 8): adctrl_dummy
159 original common block ( 7): dynvars_cd
160 derivative common block ( 7): addynvars_cd
161 original common block ( 14): dynvars_r
162 derivative common block ( 14): addynvars_r
163 original common block ( 7): ffields
164 derivative common block ( 6): adffields
165 original common block ( 3): gm_wtensor
166 derivative common block ( 3): adgm_wtensor
167 original common block ( 5): kpp
168 derivative common block ( 5): adkpp
169 original common block ( 1): kpp_short
170 derivative common block ( 1): adkpp_short
171 original common block ( 5): tendency_forcing
172 derivative common block ( 4): adtendency_forcing
173
174 =========================================
175 generate adjoint routines
176 =========================================
177 begin generate adjoint computations of : the_main_sens
178 begin generate adjoint computations of : cost_final
179 end generate adjoint computations of : cost_final
180 begin generate adjoint computations of : cost_test
181 end generate adjoint computations of : cost_test
182 begin generate adjoint computations of : do_fields_blocking_exchanges
183 end generate adjoint computations of : do_fields_blocking_exchanges
184 begin generate adjoint computations of : the_correction_step
185 begin generate adjoint computations of : convective_adjustment
186 begin generate adjoint computations of : convect
187 end generate adjoint computations of : convect
188 begin generate adjoint computations of : find_rho
189 end generate adjoint computations of : find_rho
190 end generate adjoint computations of : convective_adjustment
191 begin generate adjoint computations of : cycle_tracer
192 end generate adjoint computations of : cycle_tracer
193 begin generate adjoint computations of : correction_step
194 end generate adjoint computations of : correction_step
195 begin generate adjoint computations of : calc_grad_phi_surf
196 end generate adjoint computations of : calc_grad_phi_surf
197 end generate adjoint computations of : the_correction_step
198 begin generate adjoint computations of : solve_for_pressure
199 TAMC INFO tamc_code_ecco.f:122841 : subroutine cg2d is self adjoint
200 TAMC WARNING tamc_code_ecco.f:122841 : self adjoint routine has more than one active input
201 TAMC WARNING tamc_code_ecco.f:122841 : adjoint input variable adcg2d_x will be reset
202 begin generate adjoint computations of : calc_div_ghat
203 end generate adjoint computations of : calc_div_ghat
204 end generate adjoint computations of : solve_for_pressure
205 begin generate adjoint computations of : dynamics
206 begin generate adjoint computations of : impldiff
207 TAMC INFO DOLOOP_STMT tamc_code_ecco.f:67555 in impldiff
208 handled as sequential loop, only flow dependencies for : gynm1
209 TAMC INFO DOLOOP_STMT tamc_code_ecco.f:67543 in impldiff
210 handled as sequential loop, only flow dependencies for : gynm1
211 TAMC INFO DOLOOP_STMT tamc_code_ecco.f:67522 in impldiff
212 handled as sequential loop, only flow dependencies for : bet
213 end generate adjoint computations of : impldiff
214 begin generate adjoint computations of : timestep
215 end generate adjoint computations of : timestep
216 begin generate adjoint computations of : calc_mom_rhs
217 begin generate adjoint computations of : external_forcing_v
218 end generate adjoint computations of : external_forcing_v
219 begin generate adjoint computations of : external_forcing_u
220 end generate adjoint computations of : external_forcing_u
221 end generate adjoint computations of : calc_mom_rhs
222 begin generate adjoint computations of : calc_phi_hyd
223 end generate adjoint computations of : calc_phi_hyd
224 begin generate adjoint computations of : freeze
225 end generate adjoint computations of : freeze
226 begin generate adjoint computations of : timestep_tracer
227 end generate adjoint computations of : timestep_tracer
228 begin generate adjoint computations of : calc_gs
229 begin generate adjoint computations of : external_forcing_s
230 end generate adjoint computations of : external_forcing_s
231 begin generate adjoint computations of : kpp_transport_s
232 end generate adjoint computations of : kpp_transport_s
233 begin generate adjoint computations of : gmredi_rtransport
234 end generate adjoint computations of : gmredi_rtransport
235 begin generate adjoint computations of : gmredi_ytransport
236 end generate adjoint computations of : gmredi_ytransport
237 begin generate adjoint computations of : gmredi_xtransport
238 end generate adjoint computations of : gmredi_xtransport
239 end generate adjoint computations of : calc_gs
240 begin generate adjoint computations of : calc_gt
241 begin generate adjoint computations of : external_forcing_t
242 end generate adjoint computations of : external_forcing_t
243 begin generate adjoint computations of : kpp_transport_t
244 end generate adjoint computations of : kpp_transport_t
245 end generate adjoint computations of : calc_gt
246 begin generate adjoint computations of : calc_diffusivity
247 begin generate adjoint computations of : kpp_calc_diff
248 end generate adjoint computations of : kpp_calc_diff
249 begin generate adjoint computations of : gmredi_calc_diff
250 end generate adjoint computations of : gmredi_calc_diff
251 end generate adjoint computations of : calc_diffusivity
252 begin generate adjoint computations of : calc_common_factors
253 end generate adjoint computations of : calc_common_factors
254 begin generate adjoint computations of : kpp_calc
255 begin generate adjoint computations of : swfrac
256 end generate adjoint computations of : swfrac
257 begin generate adjoint computations of : kppmix
258 begin generate adjoint computations of : enhance
259 end generate adjoint computations of : enhance
260 begin generate adjoint computations of : blmix
261 begin generate adjoint computations of : wscale
262 end generate adjoint computations of : wscale
263 end generate adjoint computations of : blmix
264 begin generate adjoint computations of : bldepth
265 end generate adjoint computations of : bldepth
266 begin generate adjoint computations of : ri_iwmix
267 end generate adjoint computations of : ri_iwmix
268 end generate adjoint computations of : kppmix
269 begin generate adjoint computations of : kpp_smooth_horiz
270 end generate adjoint computations of : kpp_smooth_horiz
271 begin generate adjoint computations of : statekpp
272 begin generate adjoint computations of : find_beta
273 end generate adjoint computations of : find_beta
274 begin generate adjoint computations of : find_alpha
275 end generate adjoint computations of : find_alpha
276 end generate adjoint computations of : statekpp
277 end generate adjoint computations of : kpp_calc
278 begin generate adjoint computations of : gmredi_calc_tensor
279 begin generate adjoint computations of : gmredi_slope_limit
280 end generate adjoint computations of : gmredi_slope_limit
281 end generate adjoint computations of : gmredi_calc_tensor
282 begin generate adjoint computations of : gmredi_calc_tensor_dummy
283 end generate adjoint computations of : gmredi_calc_tensor_dummy
284 begin generate adjoint computations of : external_forcing_surf
285 end generate adjoint computations of : external_forcing_surf
286 begin generate adjoint computations of : calc_ivdc
287 end generate adjoint computations of : calc_ivdc
288 begin generate adjoint computations of : grad_sigma
289 end generate adjoint computations of : grad_sigma
290 TAMC INFO avoiding recomputation of : help_h
291 begin generate adjoint computations of : integrate_for_w
292 end generate adjoint computations of : integrate_for_w
293 end generate adjoint computations of : dynamics
294 TAMC INFO tamc_code_ecco.f:131666 : tape computations inserted
295 TAMC INFO tamc_code_ecco.f:131666 : tape computations inserted
296 TAMC INFO tamc_code_ecco.f:131642 : tape computations inserted
297 begin generate adjoint computations of : ctrl_map_forcing
298 end generate adjoint computations of : ctrl_map_forcing
299 begin generate adjoint computations of : initialise_varia
300 begin generate adjoint computations of : packages_init_variables
301 begin generate adjoint computations of : ctrl_map_ini
302 end generate adjoint computations of : ctrl_map_ini
303 end generate adjoint computations of : packages_init_variables
304 end generate adjoint computations of : initialise_varia
305 TAMC INFO tamc_code_ecco.f:131666 : tape computations inserted
306 TAMC INFO tamc_code_ecco.f:131666 : tape computations inserted
307 TAMC INFO tamc_code_ecco.f:131642 : tape computations inserted
308 TAMC INFO avoiding recomputation of : max_lev2
309 TAMC INFO avoiding recomputation of : max_lev3
310 TAMC INFO avoiding recomputation of : empmr,fu,fv,qnet,sss,sst
311 TAMC INFO avoiding recomputation of : kmixcbm2,kmixcws1,kmixcws2,kmixcws3,kmixcws4,kpp_bldepth15,kpp_i1,kpp_r11,kpp_r12,kpp_r13,niter0,qsw
312 TAMC INFO tamc_code_ecco.f:131573 : function and tape computations inserted
313 TAMC WARNING tamc_code_ecco.f:131688 : storing of variable uvel not necessary
314 TAMC WARNING tamc_code_ecco.f:131689 : storing of variable vvel not necessary
315 TAMC WARNING tamc_code_ecco.f:131673 : tape comlev1_kpp_sm not used
316 TAMC WARNING tamc_code_ecco.f:131573 : tape dummytape not used
317 TAMC WARNING tamc_code_ecco.f:150702 : tape z121tape not used
318 end generate adjoint computations of : the_main_sens
319
320 =========================================
321 generate auxiliary routines
322 =========================================
323 generate initialization of global adjoint variables
324 TAMC INFO adjoint of common block variable fc not initialized
325 TAMC INFO adjoint of common block variable xx_theta_dummy not initialized
326 TAMC INFO adjoint of common block variable xx_salt_dummy not initialized
327 TAMC INFO adjoint of common block variable xx_hflux_dummy not initialized
328 TAMC INFO adjoint of common block variable xx_sflux_dummy not initialized
329 TAMC INFO adjoint of common block variable xx_tauu_dummy not initialized
330 TAMC INFO adjoint of common block variable xx_tauv_dummy not initialized
331 TAMC INFO adjoint of common block variable xx_sss_dummy not initialized
332 TAMC INFO adjoint of common block variable xx_sst_dummy not initialized
333
334 =========================================
335 Fortran dialect transformations
336 =========================================
337
338 =========================================
339 write modified and adjoint code
340 =========================================
341 tamc_code_ecco_ad.f:
342 writing subroutine ** mdbldepth **
343 writing subroutine ** adbldepth **
344 writing subroutine ** mdblmix **
345 writing subroutine ** adblmix **
346 writing subroutine ** adcalc_common_factors **
347 writing subroutine ** adcalc_diffusivity **
348 writing subroutine ** adcalc_div_ghat **
349 writing subroutine ** adcalc_grad_phi_surf **
350 writing subroutine ** adcalc_gs **
351 writing subroutine ** adcalc_gt **
352 writing subroutine ** adcalc_ivdc **
353 writing subroutine ** adcalc_mom_rhs **
354 writing subroutine ** adcalc_phi_hyd **
355 writing subroutine ** adconvect **
356 writing subroutine ** mdconvective_adjustment **
357 writing subroutine ** adconvective_adjustment **
358 writing subroutine ** adcorrection_step **
359 writing subroutine ** adcost_final **
360 writing subroutine ** adcost_test **
361 writing subroutine ** adctrl_map_forcing **
362 writing subroutine ** adctrl_map_ini **
363 writing subroutine ** adcycle_tracer **
364 writing subroutine ** addo_fields_blocking_exchanges **
365 writing subroutine ** mddynamics **
366 writing subroutine ** addynamics **
367 writing subroutine ** adenhance **
368 writing subroutine ** adexternal_forcing_s **
369 writing subroutine ** adexternal_forcing_surf **
370 writing subroutine ** adexternal_forcing_t **
371 writing subroutine ** adexternal_forcing_u **
372 writing subroutine ** adexternal_forcing_v **
373 writing subroutine ** adfind_alpha **
374 writing subroutine ** adfind_beta **
375 writing subroutine ** adfind_rho **
376 writing subroutine ** adfreeze **
377 writing subroutine ** adgmredi_calc_diff **
378 writing subroutine ** adgmredi_calc_tensor **
379 writing subroutine ** adgmredi_calc_tensor_dummy **
380 writing subroutine ** adgmredi_rtransport **
381 writing subroutine ** adgmredi_slope_limit **
382 writing subroutine ** adgmredi_xtransport **
383 writing subroutine ** adgmredi_ytransport **
384 writing subroutine ** adgrad_sigma **
385 writing subroutine ** adimpldiff **
386 writing subroutine ** adinitialise_varia **
387 writing subroutine ** adintegrate_for_w **
388 writing subroutine ** mdkpp_calc **
389 writing subroutine ** adkpp_calc **
390 writing subroutine ** adkpp_calc_diff **
391 writing subroutine ** adkpp_smooth_horiz **
392 writing subroutine ** adkpp_transport_s **
393 writing subroutine ** adkpp_transport_t **
394 writing subroutine ** mdkppmix **
395 writing subroutine ** adkppmix **
396 writing subroutine ** adpackages_init_variables **
397 writing subroutine ** adri_iwmix **
398 writing subroutine ** adsolve_for_pressure **
399 writing subroutine ** adstatekpp **
400 writing subroutine ** adswfrac **
401 writing subroutine ** mdthe_correction_step **
402 writing subroutine ** adthe_correction_step **
403 writing subroutine ** adthe_main_sens **
404 writing subroutine ** adtimestep **
405 writing subroutine ** adtimestep_tracer **
406 writing subroutine ** adwscale **
407 writing subroutine ** adzero **

  ViewVC Help
Powered by ViewVC 1.1.22