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

Annotation of /MITgcm_contrib/high_res_cube/cs510_adjoint/code_ad/tamc.h

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


Revision 1.4 - (hide annotations) (download)
Fri Jun 12 19:35:52 2009 UTC (16 years, 1 month ago) by zhc
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +45 -7 lines
File MIME type: text/plain
50 levels ajoint+complete data constraint

1 heimbach 1.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 zhc 1.3 c parameter( nchklev_1 = 2 )
63 zhc 1.4 c hzhang: try double innermost memeory : 16months:sqrt(34992/lev1)
64 zhc 1.3 c Nr=50
65     c parameter( nchklev_1 = 18 ) !2.18GB
66     c parameter( nchklev_2 = 45 )
67     c parameter( nchklev_3 = 45 )
68 zhc 1.4 c parameter( nchklev_1 = 20 ) !2.32GB OK!
69     c parameter( nchklev_2 = 42 )
70     c parameter( nchklev_3 = 42 )
71     c parameter( nchklev_1 = 22 ) !2.46GB
72     c parameter( nchklev_2 = 40 )
73     c parameter( nchklev_3 = 40 )
74     parameter( nchklev_1 = 25 ) !2.67GB
75     parameter( nchklev_2 = 38 )
76     parameter( nchklev_3 = 37 )
77     c parameter( nchklev_1 = 30 ) !3.03GB
78     c parameter( nchklev_2 = 35 )
79     c parameter( nchklev_3 = 35 )
80     c 3600 cpus, 4G/cpu
81     c parameter( nchklev_1 = 40 ) !3.73GB
82     c parameter( nchklev_2 = 30 )
83     c parameter( nchklev_3 = 30 )
84     c parameter( nchklev_1 = 50 ) !4.44GB
85     c parameter( nchklev_1 = 52 ) !4.58GB OK!
86     c parameter( nchklev_1 = 54 ) !4.72GB
87     c parameter( nchklev_2 = 26 )
88     c parameter( nchklev_3 = 27 )
89 zhc 1.3 c Nr=28:
90 zhc 1.4 c parameter( nchklev_1 = 30 ) !1.94GB
91     c parameter( nchklev_2 = 35 )
92     c parameter( nchklev_3 = 35 )
93 zhc 1.3 c parameter( nchklev_1 = 35 ) !2.15GB
94     c parameter( nchklev_2 = 32 )
95     c parameter( nchklev_3 = 32 )
96 zhc 1.4 c parameter( nchklev_1 = 40 ) !2.35GB OK!
97     c parameter( nchklev_2 = 30 )
98     c parameter( nchklev_3 = 30 )
99     c 3600 cpus, 4G/cpu
100     c parameter( nchklev_1 = 42 ) !2.43GB
101     c parameter( nchklev_2 = 29 )
102     c parameter( nchklev_3 = 29 )
103 zhc 1.3 c parameter( nchklev_1 = 45 ) !2.56GB
104 zhc 1.4 c parameter( nchklev_1 = 48 ) !2.69GB
105     c parameter( nchklev_2 = 28 )
106     c parameter( nchklev_3 = 28 )
107     c parameter( nchklev_1 = 60 ) !3.17GB
108     c parameter( nchklev_2 = 25 )
109     c parameter( nchklev_3 = 25 )
110     c parameter( nchklev_1 = 80 ) !3.99GB
111     c parameter( nchklev_1 = 85 ) !4.20GB
112     c parameter( nchklev_2 = 21 )
113     c parameter( nchklev_3 = 21 )
114     c parameter( nchklev_1 = 90 ) !4.41GB OK!
115     c parameter( nchklev_2 = 20 )
116     c parameter( nchklev_3 = 20 )
117 heimbach 1.1 c-- Note always check for the correct sizes of the common blocks!
118    
119     #else /* ALLOW_TAMC_CHECKPOINTING undefined */
120    
121     integer nchklev_0
122     parameter( nchklev_0 = 48 )
123    
124     #endif /* ALLOW_TAMC_CHECKPOINTING */
125    
126     c TAMC keys:
127     c ==========
128     c
129     c The keys are used for storing and reading data of the reference
130     c trajectory.
131     c
132     c The convention used here is:
133     c ikey_<name>
134     c
135     c which means that this key is used in routine <name> for reading
136     c and writing data.
137    
138     common /tamc_keys_i/
139     & ikey_dynamics,
140     & ikey_yearly,
141     & ikey_daily_1,
142     & ikey_daily_2,
143     & iloop_daily
144    
145     integer ikey_dynamics
146     integer ikey_yearly
147     integer ikey_daily_1
148     integer ikey_daily_2
149     integer iloop_daily
150    
151     INTEGER isbyte
152 zhc 1.3 c PARAMETER( isbyte = 4 )
153     #ifdef ALLOW_TAMC_SINGLEPREC_COMLEV
154 heimbach 1.1 PARAMETER( isbyte = 4 )
155 zhc 1.3 #else
156     PARAMETER( isbyte = 8 )
157     #endif
158 heimbach 1.1 INTEGER maximpl
159     PARAMETER( maximpl = 6 )
160     INTEGER maxpass
161     #ifdef ALLOW_PASSIVE_TRACER
162     PARAMETER( maxpass = 3 )
163     #else
164     PARAMETER( maxpass = 2 )
165     #endif
166     INTEGER maxcube
167     PARAMETER( maxcube = 1 )
168    
169     INTEGER act0, act1, act2, act3, act4
170     INTEGER max0, max1, max2, max3
171     INTEGER iikey, kkey, passkey, igadkey,
172 zhc 1.3 & itdkey, idynkey, igmkey
173 heimbach 1.1
174     c ==================================================================
175     c END OF HEADER TAMC
176     c ==================================================================
177    

  ViewVC Help
Powered by ViewVC 1.1.22