/[MITgcm]/MITgcm_contrib/atnguyen/llc_270/aste_270x450x180/code_ad/tamc.h
ViewVC logotype

Annotation of /MITgcm_contrib/atnguyen/llc_270/aste_270x450x180/code_ad/tamc.h

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


Revision 1.4 - (hide annotations) (download)
Fri Oct 5 21:07:46 2018 UTC (6 years, 10 months ago) by atn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.3: +39 -5 lines
File MIME type: text/plain
update Release1 of ASTE to checkpoint67d

1 atn 1.3 C $Header: /u/gcmpack/MITgcm_contrib/atnguyen/llc_270/aste_270x450x180/code_ad/tamc.h,v 1.2 2014/04/20 01:05:12 atn Exp $
2 atn 1.1 C $Name: $
3    
4     #include "PACKAGES_CONFIG.h"
5    
6     c ==================================================================
7     c HEADER TAMC
8     c ==================================================================
9     c
10     c o Header for the use of the Tangent Linear and Adjoint Model
11     c Compiler (TAMC).
12     c
13     c started: Christian Eckert eckert@mit.edu 04-Feb-1999
14     c
15     c changed: Patrick Heimbach heimbach@mit.edu 06-Jun-2000
16     c - New parameter nlevchk_0 for dimensionalising
17     c common blocks in the undef ALLOW_TAMC_CHECKPOINTING case
18     c - nhreads_chkpt was declared at the wrong place
19     c
20     c
21     c ==================================================================
22     c HEADER TAMC
23     c ==================================================================
24    
25    
26     c TAMC checkpointing parameters:
27     c ==============================
28     c
29     c The checkpointing parameters have to be consistent with other model
30     c parameters and variables. This has to be checked before the model is
31     c run.
32     c
33     c nyears_chkpt - Number of calendar years affected by the assimilation
34     c experiment; nyears_chkpt has to be at least equal to
35     c the result of cal_IntYears(mythid).
36     c nmonths_chkpt - Number of months per year; nmonth_chkpt has to be at
37     c least equal to nmonthyear.
38     c ndays_chkpt - Number of days per month; nday_chkpt has to be at least
39     c equal to nmaxdaymonth.
40     c nsteps_chkpt - Number of steps per day; nsteps_chkpt has to be at
41     c least equal to cal_nStepDay(mythid)
42     c ncheck_chkpt - Number of innermost checkpoints.
43     c
44     c ngeom_chkpt - Geometry factor.
45     c nthreads_chkpt - Number of threads to be used; nth_chkpt .eq. nTx*nTy
46    
47     integer nyears_chkpt
48     integer nmonths_chkpt
49     integer ndays_chkpt
50     integer ngeom_chkpt
51     integer ncheck_chkpt
52     integer nthreads_chkpt
53    
54     parameter (nyears_chkpt = 1 )
55     parameter (nmonths_chkpt = 12 )
56     parameter (ndays_chkpt = 31 )
57     parameter (ngeom_chkpt = nr*nsx*nsy )
58     parameter (ncheck_chkpt = 6 )
59     parameter ( nthreads_chkpt = 1 )
60    
61     #ifdef ALLOW_TAMC_CHECKPOINTING
62    
63     integer nchklev_1
64     integer nchklev_2
65     integer nchklev_3
66 atn 1.4 C-- calculate numbers below as follows:
67     c-- take ivy-bridge as example, 3.GB/node -> nchklev_1=24
68     c-- then take nchklev_[2,3]=sqrt(nTimesteps / 24), round UP
69 atn 1.2 C==== 5 years ------------------------------------------
70     c change to this for 5-yr run: 2.4GB/node for neh
71     c parameter( nchklev_1 = 20 )
72     c parameter( nchklev_2 = 84 )
73     c parameter( nchklev_3 = 84 )
74     c change to this for 5-yr run: 2.7GB/node for ivybridge
75 atn 1.1 c parameter( nchklev_1 = 22 )
76     c parameter( nchklev_2 = 80 )
77     c parameter( nchklev_3 = 80 )
78 atn 1.2 c change to this for 5-yr run: 3.GB/node for ivybridge
79     C parameter( nchklev_1 = 24 )
80     C parameter( nchklev_2 = 77 )
81     C parameter( nchklev_3 = 77 )
82     C==== 20 years ------------------------------------------
83     c change to this for 20-yr run: 2.4GB/node for neh
84     c parameter( nchklev_1 = 20 )
85     c parameter( nchklev_2 = 163 )
86     c parameter( nchklev_3 = 163 )
87     c change to this for 20-yr run: 2.7GB/node for ivybridge
88     c parameter( nchklev_1 = 22 )
89     c parameter( nchklev_2 = 155 )
90     c parameter( nchklev_3 = 155 )
91     c change to this for 20-yr run: 3.GB/node for ivybridge
92 atn 1.3 c parameter( nchklev_1 = 24 )
93     c parameter( nchklev_2 = 148 )
94     c parameter( nchklev_3 = 148 )
95 atn 1.4 c change to this for 15-yr run: 3.GB/node for ivybridge
96     c parameter( nchklev_1 = 24 )
97     c parameter( nchklev_2 = 129 )
98     c parameter( nchklev_3 = 129 )
99     c change to this for 25-yr run: 3.GB/node for ivybridge
100     c parameter( nchklev_1 = 24 )
101     c parameter( nchklev_2 = 166 )
102     c parameter( nchklev_3 = 166 )
103     c Haswell 20-yr run: limit 5.GB/core, 3.2percent or 4.0g per core
104     c parameter( nchklev_1 = 52 )
105     c parameter( nchklev_2 = 88 )
106     c parameter( nchklev_3 = 88 )
107     c Haswell 1992/01/01 to 2014/12/31 run: limit 5.GB/core, 3.2percent or 4.0g per core
108     parameter( nchklev_1 = 52 )
109     parameter( nchklev_2 = 110 )
110     parameter( nchklev_3 = 110 )
111 atn 1.1 c change to these values for very short test runs:
112     cph parameter( nchklev_1 = 24 )
113     cph parameter( nchklev_2 = 4 )
114     cph parameter( nchklev_3 = 3 )
115 atn 1.4 cC Stampede2 SKX 1992/01/01 to 2014/12/31 run: limit 4.GB/core, ?.0g per core, 800GB tapes
116     c parameter( nchklev_1 = 6 )
117     c parameter( nchklev_2 = 326 )
118     c parameter( nchklev_3 = 326 )
119     C Stampede2 SKX 1992/01/01 to 2014/12/31 run: limit 4.GB/core, ?.0g per core, 422GB tapes, 74GB free
120     c parameter( nchklev_1 = 24 )
121     c parameter( nchklev_2 = 166 )
122     c parameter( nchklev_3 = 166 )
123     C Stampede2 SKX 1992/01/01 to 2014/12/31 run: limit 4.GB/core, ?.0g per core, 351G tapes
124     c parameter( nchklev_1 = 32 )
125     c parameter( nchklev_2 = 144 )
126     c parameter( nchklev_3 = 144 )
127     C Stampede2 SKX 1992/01/01 to 2014/12/31 run: limit 4.GB/core, ?.0g per core, 321G tapes
128     c parameter( nchklev_1 = 40 )
129     c parameter( nchklev_2 = 129 )
130     c parameter( nchklev_3 = 129 )
131     C Stampede2 SKX 1992/01/01 to 2014/12/31 run: limit 4.GB/core, ?.0g per core
132     c parameter( nchklev_1 = 44 )
133     c parameter( nchklev_2 = 123 )
134     c parameter( nchklev_3 = 123 )
135 atn 1.1
136     c-- Note always check for the correct sizes of the common blocks!
137    
138     #else /* ALLOW_TAMC_CHECKPOINTING undefined */
139    
140     integer nchklev_0
141     parameter( nchklev_0 = 48 )
142     integer nchklev_1
143     parameter( nchklev_1 = 5 )
144    
145     #endif /* ALLOW_TAMC_CHECKPOINTING */
146    
147     c TAMC keys:
148     c ==========
149     c
150     c The keys are used for storing and reading data of the reference
151     c trajectory.
152     c
153     c The convention used here is:
154     c ikey_<name>
155     c
156     c which means that this key is used in routine <name> for reading
157     c and writing data.
158    
159     common /tamc_keys_i/
160     & ikey_dynamics,
161     & ikey_yearly,
162     & ikey_daily_1,
163     & ikey_daily_2,
164     & iloop_daily
165    
166     integer ikey_dynamics
167     integer ikey_yearly
168     integer ikey_daily_1
169     integer ikey_daily_2
170     integer iloop_daily
171    
172     INTEGER isbyte
173     PARAMETER( isbyte = 4 )
174     INTEGER maximpl
175     PARAMETER( maximpl = 6 )
176     INTEGER maxpass
177     PARAMETER( maxpass = 6 )
178     INTEGER maxcube
179     PARAMETER( maxcube = 3 )
180    
181     INTEGER act0, act1, act2, act3, act4
182     INTEGER max0, max1, max2, max3
183     INTEGER iikey, kkey, passkey, igadkey,
184     & itdkey, idynkey, igmkey
185    
186     c ==================================================================
187     c END OF HEADER TAMC
188     c ==================================================================
189    

  ViewVC Help
Powered by ViewVC 1.1.22