/[MITgcm]/MITgcm_contrib/heimbach/OpenAD/code_shallow_openad2/ad_template.plain.f
ViewVC logotype

Annotation of /MITgcm_contrib/heimbach/OpenAD/code_shallow_openad2/ad_template.plain.f

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


Revision 1.2 - (hide annotations) (download)
Tue Nov 7 19:18:40 2006 UTC (20 years ago) by utke
Branch: MAIN
Changes since 1.1: +2 -10 lines
switch checkpoint writes to file

1 utke 1.1 subroutine template()
2     use OpenAD_checkpoints
3     use OpenAD_tape
4     use OpenAD_rev
5    
6     c we may need these for the checkpointing
7     use SIZE_mod
8     use EEPARAMS_mod
9     use PARAMS_mod
10     use BAR2_mod
11     use BARRIER_mod
12     use CD_CODE_VARS_mod
13     use CG2D_mod
14     use CG3D_mod
15     use DFILE_mod
16     use DYNVARS_mod
17     use EEIO_mod
18     use EESUPPORT_mod
19     use EOS_mod
20     use EXCH_JAM_mod
21     use EXCH_mod
22     use FC_NAMEMANGLE_mod
23     use FFIELDS_mod
24     use GAD_mod
25     use GLOBAL_MAX_mod
26     use GLOBAL_SUM_mod
27     use GRID_mod
28     use MPI_INFO_mod
29     use SOLVE_FOR_PRESSURE3D_mod
30     use SOLVE_FOR_PRESSURE_mod
31     use SURFACE_mod
32     use tamc_mod
33     use tamc_keys_mod
34     use cost_mod
35     use g_cost_mod
36     use ctrl_mod
37     use ctrl_dummy_mod
38     use ctrl_weights_mod
39     use optim_mod
40     use grdchk_mod
41    
42     !$TEMPLATE_PRAGMA_DECLARATIONS
43    
44     integer :: cp_loop_variable_1,cp_loop_variable_2,
45     + cp_loop_variable_3,cp_loop_variable_4,cp_loop_variable_5
46    
47     type(modeType) :: our_orig_mode
48    
49     integer iaddr
50     external iaddr
51    
52     character*(80):: indentation='
53     + '
54    
55     our_indent=our_indent+1
56    
57     write(*,
58 utke 1.2 +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I8,A,I8)')
59 utke 1.1 +'JU:',indentation(1:our_indent), 'enter __SRNAME__:',
60     +' As:',our_rev_mode%arg_store,
61     +' Ar:',our_rev_mode%arg_restore,
62     +' Pl:',our_rev_mode%plain,
63     +' Ta:',our_rev_mode%tape,
64     +' Ad:',our_rev_mode%adjoint,
65     +' Sw:',our_rev_mode%switchedToCheckpoint,
66     +' TD:',double_tape_pointer,
67     +' TI:',integer_tape_pointer
68    
69     if (our_rev_mode%arg_store
70     + .OR.
71     + our_rev_mode%arg_restore) then
72     write(*,*) 'JU: ERROR : arg (re)store here is wrong logic'
73     stop
74     end if
75     if (our_rev_mode%plain) then
76     write(*,'(A,A,A)')
77     +'JU:',indentation(1:our_indent),
78     +' __SRNAME__: entering plain'
79     our_orig_mode=our_rev_mode
80     !$PLACEHOLDER_PRAGMA$ id=1
81     our_rev_mode=our_orig_mode
82     end if
83     if (our_rev_mode%tape) then
84     write(*,'(A,A,A)')
85     +'JU:',indentation(1:our_indent),
86     +' __SRNAME__: entering tape'
87     our_orig_mode=our_rev_mode
88     !$PLACEHOLDER_PRAGMA$ id=2
89     our_rev_mode=our_orig_mode
90     end if
91     if (our_rev_mode%adjoint) then
92     write(*,'(A,A,A)')
93     +'JU:',indentation(1:our_indent),
94     +' __SRNAME__: entering adjoint'
95     our_orig_mode=our_rev_mode
96     !$PLACEHOLDER_PRAGMA$ id=3
97     our_rev_mode=our_orig_mode
98     end if
99    
100     write(*,
101 utke 1.2 +'(A,A,A,A,L,A,L,A,L,A,L,A,L,A,L,A,I8,A,I8)')
102 utke 1.1 +'JU:',indentation(1:our_indent), 'leave __SRNAME__:',
103     +' As:',our_rev_mode%arg_store,
104     +' Ar:',our_rev_mode%arg_restore,
105     +' Pl:',our_rev_mode%plain,
106     +' Ta:',our_rev_mode%tape,
107     +' Ad:',our_rev_mode%adjoint,
108     +' Sw:',our_rev_mode%switchedToCheckpoint,
109     +' TD:',double_tape_pointer,
110     +' TI:',integer_tape_pointer
111    
112     our_indent=our_indent-1
113    
114     end subroutine template

  ViewVC Help
Powered by ViewVC 1.1.22