/[MITgcm]/MITgcm_contrib/high_res_cube/cs510_adjoint/code_pack/tamc.h
ViewVC logotype

Contents of /MITgcm_contrib/high_res_cube/cs510_adjoint/code_pack/tamc.h

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


Revision 1.1 - (show annotations) (download)
Thu Jun 13 18:05:45 2013 UTC (12 years, 1 month ago) by zhc
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
Add stand-alone offline pack/optim/unpack
compile to generate mitgcmuv and run with run_optim.csh

1
2 c ==================================================================
3 c HEADER TAMC
4 c ==================================================================
5 c
6 c o Header for the use of the Tangent Linear and Adjoint Model
7 c Compiler (TAMC).
8 c
9 c started: Christian Eckert eckert@mit.edu 04-Feb-1999
10 c
11 c changed: Patrick Heimbach heimbach@mit.edu 06-Jun-2000
12 c - New parameter nlevchk_0 for dimensionalising
13 c common blocks in the undef ALLOW_TAMC_CHECKPOINTING case
14 c - nhreads_chkpt was declared at the wrong place
15 c
16 c
17 c ==================================================================
18 c HEADER TAMC
19 c ==================================================================
20
21
22 c TAMC checkpointing parameters:
23 c ==============================
24 c
25 c The checkpointing parameters have to be consistent with other model
26 c parameters and variables. This has to be checked before the model is
27 c run.
28 c
29 c nyears_chkpt - Number of calendar years affected by the assimilation
30 c experiment; nyears_chkpt has to be at least equal to
31 c the result of cal_IntYears(mythid).
32 c nmonths_chkpt - Number of months per year; nmonth_chkpt has to be at
33 c least equal to nmonthyear.
34 c ndays_chkpt - Number of days per month; nday_chkpt has to be at least
35 c equal to nmaxdaymonth.
36 c nsteps_chkpt - Number of steps per day; nsteps_chkpt has to be at
37 c least equal to cal_nStepDay(mythid)
38 c ncheck_chkpt - Number of innermost checkpoints.
39 c
40 c ngeom_chkpt - Geometry factor.
41 c nthreads_chkpt - Number of threads to be used; nth_chkpt .eq. nTx*nTy
42
43 integer nyears_chkpt
44 integer nmonths_chkpt
45 integer ndays_chkpt
46 integer ngeom_chkpt
47 integer ncheck_chkpt
48 integer nthreads_chkpt
49
50 parameter (nyears_chkpt = 1 )
51 parameter (nmonths_chkpt = 12 )
52 parameter (ndays_chkpt = 31 )
53 parameter (ngeom_chkpt = nr*nsx*nsy )
54 parameter (ncheck_chkpt = 6 )
55 parameter ( nthreads_chkpt = 1 )
56
57 #ifdef ALLOW_TAMC_CHECKPOINTING
58
59 integer nchklev_1
60 integer nchklev_2
61 integer nchklev_3
62 c parameter( nchklev_1 = 2 )
63 c hzhang: try double innermost memeory : 16months
64 c parameter( nchklev_1 = 18 ) !2.18GB
65 c parameter( nchklev_2 = 45 )
66 c parameter( nchklev_3 = 45 )
67 c parameter( nchklev_1 = 25 ) !2.68GB OK!
68 c parameter( nchklev_2 = 38 )
69 c parameter( nchklev_3 = 37 )
70 c parameter( nchklev_1 = 30 ) !3.03GB
71 c parameter( nchklev_2 = 35 )
72 c parameter( nchklev_3 = 35 )
73 c Nr=28:
74 c parameter( nchklev_1 = 35 ) !2.15GB
75 c parameter( nchklev_2 = 32 )
76 c parameter( nchklev_3 = 32 )
77 c parameter( nchklev_1 = 45 ) !2.56GB
78 parameter( nchklev_1 = 48 ) !2.69GB OK!
79 parameter( nchklev_2 = 28 )
80 parameter( nchklev_3 = 28 )
81 c parameter( nchklev_1 = 50 ) !2.77
82 c parameter( nchklev_2 = 27 )
83 c parameter( nchklev_3 = 27 )
84 c-- Note always check for the correct sizes of the common blocks!
85
86 #else /* ALLOW_TAMC_CHECKPOINTING undefined */
87
88 integer nchklev_0
89 parameter( nchklev_0 = 48 )
90
91 #endif /* ALLOW_TAMC_CHECKPOINTING */
92
93 c TAMC keys:
94 c ==========
95 c
96 c The keys are used for storing and reading data of the reference
97 c trajectory.
98 c
99 c The convention used here is:
100 c ikey_<name>
101 c
102 c which means that this key is used in routine <name> for reading
103 c and writing data.
104
105 common /tamc_keys_i/
106 & ikey_dynamics,
107 & ikey_yearly,
108 & ikey_daily_1,
109 & ikey_daily_2,
110 & iloop_daily
111
112 integer ikey_dynamics
113 integer ikey_yearly
114 integer ikey_daily_1
115 integer ikey_daily_2
116 integer iloop_daily
117
118 INTEGER isbyte
119 c PARAMETER( isbyte = 4 )
120 #ifdef ALLOW_TAMC_SINGLEPREC_COMLEV
121 PARAMETER( isbyte = 4 )
122 #else
123 PARAMETER( isbyte = 8 )
124 #endif
125 INTEGER maximpl
126 PARAMETER( maximpl = 6 )
127 INTEGER maxpass
128 #ifdef ALLOW_PASSIVE_TRACER
129 PARAMETER( maxpass = 3 )
130 #else
131 PARAMETER( maxpass = 2 )
132 #endif
133 INTEGER maxcube
134 PARAMETER( maxcube = 1 )
135
136 INTEGER act0, act1, act2, act3, act4
137 INTEGER max0, max1, max2, max3
138 INTEGER iikey, kkey, passkey, igadkey,
139 & itdkey, idynkey, igmkey
140
141 c ==================================================================
142 c END OF HEADER TAMC
143 c ==================================================================
144

  ViewVC Help
Powered by ViewVC 1.1.22