forked from altMITgcm/MITgcm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
checkpoint_lev4_directives.h
222 lines (191 loc) · 5.86 KB
/
checkpoint_lev4_directives.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
C $Header: /u/gcmpack/MITgcm/pkg/autodiff/checkpoint_lev4_directives.h,v 1.37 2016/09/12 19:59:10 mmazloff Exp $
C $Name: $
c
c store directives for checkpoint level 4
c
c created: heimbach@mit.edu 10-Jan-2002
c
#ifdef AUTODIFF_USE_OLDSTORE_2D
c
CADJ STORE etan = tapelev4, key = ilev_4
CADJ STORE surfaceforcingTice = tapelev4, key = ilev_4
CADJ STORE taux0 = tapelev4, key = ilev_4
CADJ STORE taux1 = tapelev4, key = ilev_4
CADJ STORE tauy0 = tapelev4, key = ilev_4
CADJ STORE tauy1 = tapelev4, key = ilev_4
CADJ STORE qnet0 = tapelev4, key = ilev_4
CADJ STORE qnet1 = tapelev4, key = ilev_4
CADJ STORE empmr0 = tapelev4, key = ilev_4
CADJ STORE empmr1 = tapelev4, key = ilev_4
CADJ STORE sst0 = tapelev4, key = ilev_4
CADJ STORE sst1 = tapelev4, key = ilev_4
CADJ STORE sss0 = tapelev4, key = ilev_4
CADJ STORE sss1 = tapelev4, key = ilev_4
CADJ STORE saltflux0 = tapelev4, key = ilev_4
CADJ STORE saltflux1 = tapelev4, key = ilev_4
#ifdef SHORTWAVE_HEATING
CADJ STORE qsw0 = tapelev4, key = ilev_4
CADJ STORE qsw1 = tapelev4, key = ilev_4
#endif
#ifdef ATMOSPHERIC_LOADING
CADJ STORE pload0 = tapelev4, key = ilev_4
CADJ STORE pload1 = tapelev4, key = ilev_4
#endif
#ifdef EXACT_CONSERV
CADJ STORE etaH = tapelev4, key = ilev_4
CADJ STORE dEtaHdt = tapelev4, key = ilev_4
CADJ STORE PmEpR = tapelev4, key = ilev_4
#endif
c
#else /* ndef AUTODIFF_USE_OLDSTORE_2D */
c
CADJ STORE StoreDynVars2D = tapelev4, key = ilev_4
c
#endif /* AUTODIFF_USE_OLDSTORE_2D */
c
#ifdef AUTODIFF_USE_OLDSTORE_3D
c
#ifdef ALLOW_ADAMSBASHFORTH_3
CADJ STORE gtnm = tapelev4, key = ilev_4
CADJ STORE gsnm = tapelev4, key = ilev_4
CADJ STORE gunm = tapelev4, key = ilev_4
CADJ STORE gvnm = tapelev4, key = ilev_4
#else
CADJ STORE gtnm1 = tapelev4, key = ilev_4
CADJ STORE gsnm1 = tapelev4, key = ilev_4
CADJ STORE gunm1 = tapelev4, key = ilev_4
CADJ STORE gvnm1 = tapelev4, key = ilev_4
#endif
CADJ STORE theta = tapelev4, key = ilev_4
CADJ STORE salt = tapelev4, key = ilev_4
CADJ STORE uvel = tapelev4, key = ilev_4
CADJ STORE vvel = tapelev4, key = ilev_4
CADJ STORE wvel = tapelev4, key = ilev_4
CADJ STORE totphihyd = tapelev4, key = ilev_4
c
#else /* ndef AUTODIFF_USE_OLDSTORE_3D */
c
CADJ STORE StoreDynVars3D = tapelev4, key = ilev_4
c
#endif /* AUTODIFF_USE_OLDSTORE_3D */
CADJ STORE phi0surf = tapelev4, key = ilev_4
CADJ STORE saltflux = tapelev4, key = ilev_4
#ifdef EXACT_CONSERV
cphCADJ STORE hDivFlow = tapelev4, key = ilev_4
#endif /* EXACT_CONSERV */
#ifdef NONLIN_FRSURF
CADJ STORE hfac_surfc = tapelev4, key = ilev_4
CADJ STORE hfac_surfs = tapelev4, key = ilev_4
CADJ STORE hfac_surfw = tapelev4, key = ilev_4
CADJ STORE hFac_surfNm1C= tapelev4, key = ilev_4
CADJ STORE hFac_surfNm1S= tapelev4, key = ilev_4
CADJ STORE hFac_surfNm1W= tapelev4, key = ilev_4
# ifndef DISABLE_RSTAR_CODE
CADJ STORE rstarexpc,rstarexps,rstarexpw
CADJ & = tapelev4, key = ilev_4
CADJ STORE rstarfacc,rstarfacs,rstarfacw
CADJ & = tapelev4, key = ilev_4
CADJ STORE rStarFacNm1C,rStarFacNm1S,rStarFacNm1W
CADJ & = tapelev4, key = ilev_4
CADJ STORE rstardhcdt,rstardhsdt,rstardhwdt
CADJ & = tapelev4, key = ilev_4
# endif
# ifdef ALLOW_CG2D_NSA
CADJ STORE aW2d, aS2d, aC2d =
CADJ & tapelev4, key = ilev_4
CADJ STORE pc, ps, pw =
CADJ & tapelev4, key = ilev_4
# endif
#endif /* NONLIN_FRSURF */
#ifdef ALLOW_CD_CODE
# include "cd_code_ad_check_lev4_dir.h"
#endif /* ALLOW_CD_CODE */
#ifdef ALLOW_GGL90
# include "ggl90_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_ECCO
# include "ecco_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_EXF
# include "exf_ad_check_lev4_dir.h"
#endif /* ALLOW_EXF */
#ifdef ALLOW_CTRL
# include "ctrl_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_PTRACERS
# include "ptracers_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_OBCS
# include "obcs_ad_check_lev4_dir.h"
#endif /* ALLOW_OBCS */
#ifdef ALLOW_SALT_PLUME
# include "salt_plume_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_SEAICE
# include "seaice_ad_check_lev4_dir.h"
#endif /* ALLOW_SEAICE */
#ifdef ALLOW_THSICE
# include "thsice_ad_check_lev4_dir.h"
#endif /* ALLOW_THSICE */
#ifdef ALLOW_SHELFICE
# include "shelfice_ad_check_lev4_dir.h"
#endif /* ALLOW_SHELFICE */
#ifdef ALLOW_STREAMICE
# include "streamice_ad_check_lev4_dir.h"
#endif /* ALLOW_STREAMICE */
#ifdef ALLOW_RBCS
# include "rbcs_ad_check_lev4_dir.h"
#endif /* ALLOW_RBCS */
#ifdef ALLOW_OFFLINE
# include "offline_ad_check_lev4_dir.h"
#endif /* ALLOW_OFFLINE */
#ifdef ALLOW_GCHEM
# include "gchem_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_CFC
# include "cfc_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_DIC
# include "dic_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_BLING
# include "bling_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_GENERIC_ADVDIFF
# include "gad_ad_check_lev4_dir.h"
#endif
#ifdef ALLOW_EBM
CADJ STORE fu = tapelev4, key = ilev_4
CADJ STORE fv = tapelev4, key = ilev_4
CADJ STORE qnet = tapelev4, key = ilev_4
CADJ STORE qsw = tapelev4, key = ilev_4
CADJ STORE sss = tapelev4, key = ilev_4
CADJ STORE empmr = tapelev4, key = ilev_4
# include "ebm_ad_check_lev4_dir.h"
#endif /* ALLOW_EBM */
#ifdef ALLOW_COST
CADJ STORE cMeanTheta = tapelev4, key = ilev_4
CADJ STORE cMeanUVel = tapelev4, key = ilev_4
CADJ STORE cMeanVVel = tapelev4, key = ilev_4
CADJ STORE cMeanThetaUVel = tapelev4, key = ilev_4
CADJ STORE cMeanThetaVVel = tapelev4, key = ilev_4
#endif
#ifdef ALLOW_COST_TRACER
CADJ STORE objf_tracer = tapelev4, key = ilev_4
#endif
#ifdef ALLOW_COST_TRANSPORT
CADJ STORE objf_transport = tapelev4, key = ilev_4
#endif
#ifdef ALLOW_HFLUXM_CONTROL
CADJ STORE qnetm = tapelev4, key = ilev_4
#endif
#ifdef ALLOW_SEAICE
cph temporary for HD
# ifdef ANNUAL_BALANCE
CADJ STORE balance_itcount = tapelev4, key = ilev_4
CADJ STORE atmfw_tilesum = tapelev4, key = ilev_4
CADJ STORE qnet_tilesum = tapelev4, key = ilev_4
CADJ STORE empmr_corr = tapelev4, key = ilev_4
CADJ STORE qnet_corr = tapelev4, key = ilev_4
# endif /* ANNUAL_BALANCE */
#endif