/[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.3 - (hide annotations) (download)
Thu Apr 9 18:30:20 2009 UTC (16 years, 3 months ago) by zhc
Branch: MAIN
Changes since 1.2: +23 -9 lines
File MIME type: text/plain
lev28 and lev50 of OCCA

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     c hzhang: try double innermost memeory : 16months
64     c Nr=50
65     c parameter( nchklev_1 = 18 ) !2.18GB
66     c parameter( nchklev_2 = 45 )
67     c parameter( nchklev_3 = 45 )
68     c parameter( nchklev_1 = 25 ) !2.68GB
69     c parameter( nchklev_2 = 38 )
70     c parameter( nchklev_3 = 37 )
71     c Nr=28:
72     c parameter( nchklev_1 = 35 ) !2.15GB
73     c parameter( nchklev_2 = 32 )
74     c parameter( nchklev_3 = 32 )
75     c parameter( nchklev_1 = 45 ) !2.56GB
76     parameter( nchklev_1 = 48 ) !2.69GB
77     parameter( nchklev_2 = 28 )
78     parameter( nchklev_3 = 28 )
79 heimbach 1.1 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 = 48 )
85    
86     #endif /* ALLOW_TAMC_CHECKPOINTING */
87    
88     c TAMC keys:
89     c ==========
90     c
91     c The keys are used for storing and reading data of the reference
92     c trajectory.
93     c
94     c The convention used here is:
95     c ikey_<name>
96     c
97     c which means that this key is used in routine <name> for reading
98     c and writing data.
99    
100     common /tamc_keys_i/
101     & ikey_dynamics,
102     & ikey_yearly,
103     & ikey_daily_1,
104     & ikey_daily_2,
105     & iloop_daily
106    
107     integer ikey_dynamics
108     integer ikey_yearly
109     integer ikey_daily_1
110     integer ikey_daily_2
111     integer iloop_daily
112    
113     INTEGER isbyte
114 zhc 1.3 c PARAMETER( isbyte = 4 )
115     #ifdef ALLOW_TAMC_SINGLEPREC_COMLEV
116 heimbach 1.1 PARAMETER( isbyte = 4 )
117 zhc 1.3 #else
118     PARAMETER( isbyte = 8 )
119     #endif
120 heimbach 1.1 INTEGER maximpl
121     PARAMETER( maximpl = 6 )
122     INTEGER maxpass
123     #ifdef ALLOW_PASSIVE_TRACER
124     PARAMETER( maxpass = 3 )
125     #else
126     PARAMETER( maxpass = 2 )
127     #endif
128     INTEGER maxcube
129     PARAMETER( maxcube = 1 )
130    
131     INTEGER act0, act1, act2, act3, act4
132     INTEGER max0, max1, max2, max3
133     INTEGER iikey, kkey, passkey, igadkey,
134 zhc 1.3 & itdkey, idynkey, igmkey
135 heimbach 1.1
136     c ==================================================================
137     c END OF HEADER TAMC
138     c ==================================================================
139    

  ViewVC Help
Powered by ViewVC 1.1.22