/[MITgcm]/MITgcm/pkg/autodiff/tamc.h
ViewVC logotype

Contents of /MITgcm/pkg/autodiff/tamc.h

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


Revision 1.12 - (show annotations) (download)
Fri Apr 4 23:06:34 2014 UTC (10 years, 1 month ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint65, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint65o, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64w, checkpoint64v, HEAD
Changes since 1.11: +66 -65 lines
File MIME type: text/plain
empty if ALLOW_AUTODIFF_TAMC is undef

1 C $Header: /u/gcmpack/MITgcm/pkg/autodiff/tamc.h,v 1.11 2012/06/17 03:36:55 jmc Exp $
2 C $Name: $
3
4 C ================================================================
5 C HEADER TAMC
6 C ================================================================
7 C
8 C o Header for the use of the Tangent Linear and Adjoint Model
9 C Compiler (TAMC).
10 C
11 C started: Christian Eckert eckert@mit.edu 04-Feb-1999
12 C changed: Patrick Heimbach heimbach@mit.edu 06-Jun-2000
13 C - New parameter nlevchk_0 for dimensionalising
14 C common blocks in the undef ALLOW_TAMC_CHECKPOINTING case
15 C - nhreads_chkpt was declared at the wrong place
16 C - new keys, separate for different packages
17
18 C ================================================================
19 C HEADER TAMC
20 C ================================================================
21 #ifdef ALLOW_AUTODIFF_TAMC
22
23 These lines are here to deliberately cause a compile-time error.
24 If you see these lines in your .f files or the compiler shows them
25 as an error then it means you have not placed your customized "tamc.h"
26 file in the appropriate place.
27 You need to place you own copy of tamc.h in the include path for the
28 model (e.g., where your SIZE.h is), and comment out these lines.
29 In particular the parameters nchklev_1/2/3 (and possibly also maxpass
30 and maxcube in case you are using ptracers or cubed sphere grid)
31 need to be set correctly.
32
33 C TAMC checkpointing parameters:
34 C ==============================
35 C
36 C The checkpointing parameters have to be consistent with other model
37 C parameters and variables. This has to be checked before the model is
38 C run.
39 C
40 C nyears_chkpt :: Number of calendar years affected by the assimilation
41 C experiment; nyears_chkpt has to be at least equal to
42 C the result of cal_IntYears(mythid).
43 C nmonths_chkpt :: Number of months per year; nmonth_chkpt has to be at
44 C least equal to nmonthyear.
45 C ndays_chkpt :: Number of days per month; nday_chkpt has to be at least
46 C equal to nmaxdaymonth.
47 C nsteps_chkpt :: Number of steps per day; nsteps_chkpt has to be at
48 C least equal to cal_nStepDay(mythid)
49 C ncheck_chkpt :: Number of innermost checkpoints.
50 C
51 C ngeom_chkpt :: Geometry factor.
52 C nthreads_chkpt :: Number of threads to be used; nth_chkpt .eq. nTx*nTy
53
54 integer nyears_chkpt
55 integer nmonths_chkpt
56 integer ndays_chkpt
57 integer ngeom_chkpt
58 integer ncheck_chkpt
59 integer nthreads_chkpt
60
61 parameter (nyears_chkpt = 1 )
62 parameter (nmonths_chkpt = 12 )
63 parameter (ndays_chkpt = 31 )
64 parameter (ngeom_chkpt = nr*nsx*nsy )
65 parameter (ncheck_chkpt = 6 )
66 parameter ( nthreads_chkpt = 1 )
67
68 #ifdef ALLOW_TAMC_CHECKPOINTING
69
70 integer nchklev_1
71 parameter( nchklev_1 = 5 )
72 integer nchklev_2
73 parameter( nchklev_2 = 2 )
74 c parameter( nchklev_2 = 150 )
75 integer nchklev_3
76 parameter( nchklev_3 = 3 )
77 c parameter( nchklev_3 = 150 )
78
79 C-- Note always check for the correct sizes of the common blocks!
80
81 #else /* ALLOW_TAMC_CHECKPOINTING undefined */
82
83 integer nchklev_0
84 parameter( nchklev_0 = 64800 )
85 integer nchklev_1
86 parameter( nchklev_1 = 5 )
87
88 #endif /* ALLOW_TAMC_CHECKPOINTING */
89
90 C TAMC keys:
91 C ==========
92 C
93 C The keys are used for storing and reading data of the reference
94 C trajectory.
95 C
96 C The convention used here is:
97 C ikey_<name>
98 C
99 C which means that this key is used in routine <name> for reading
100 C and writing data.
101
102 common /tamc_keys_i/
103 & ikey_dynamics,
104 & ikey_yearly,
105 & ikey_daily_1,
106 & ikey_daily_2,
107 & iloop_daily
108
109 integer ikey_dynamics
110 integer ikey_yearly
111 integer ikey_daily_1
112 integer ikey_daily_2
113 integer iloop_daily
114
115 INTEGER isbyte
116 PARAMETER( isbyte = 8 )
117 INTEGER maximpl
118 PARAMETER( maximpl = 6 )
119 #ifndef ALLOW_PTRACERS
120 INTEGER maxpass
121 PARAMETER( maxpass = 2 )
122 #endif
123 INTEGER maxcube
124 PARAMETER( maxcube = 1 )
125
126 INTEGER act0, act1, act2, act3, act4
127 INTEGER max0, max1, max2, max3
128 INTEGER iikey, kkey, passkey, igadkey,
129 & itdkey, idynkey, igmkey, ikppkey, iptrkey
130
131 #ifdef ALLOW_CG2D_NSA
132 C Parameter that is needed for the tape complev_cg2d_iter
133 C cannot be smaller than the allowed number of iterations in cg2d
134 C (numItersMax >= cg2dMaxIters in data-file)
135 INTEGER numItersMax
136 PARAMETER ( numItersMax = 100 )
137 #endif
138
139 #endif /* ALLOW_AUTODIFF_TAMC */
140 C ================================================================
141 C END OF HEADER TAMC
142 C ================================================================

  ViewVC Help
Powered by ViewVC 1.1.22