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

Annotation 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 - (hide 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 zhc 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     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