forked from darwinproject/darwin3
-
Notifications
You must be signed in to change notification settings - Fork 1
/
checkpoint_lev3_directives.h
214 lines (184 loc) · 5.76 KB
/
checkpoint_lev3_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
c
c store directives for checkpoint level 3
c
c created: heimbach@mit.edu 10-Jan-2002
c
#ifdef AUTODIFF_USE_STORE_RESTORE
c
CADJ STORE StoreDynVars2D = tapelev3, key = ilev_3
CADJ STORE StoreDynVars3D = tapelev3, key = ilev_3
c
#else
c
CADJ STORE etan = tapelev3, key = ilev_3
#ifndef EXCLUDE_FFIELDS_LOAD
CADJ STORE taux0 = tapelev3, key = ilev_3
CADJ STORE taux1 = tapelev3, key = ilev_3
CADJ STORE tauy0 = tapelev3, key = ilev_3
CADJ STORE tauy1 = tapelev3, key = ilev_3
CADJ STORE qnet0 = tapelev3, key = ilev_3
CADJ STORE qnet1 = tapelev3, key = ilev_3
CADJ STORE empmr0 = tapelev3, key = ilev_3
CADJ STORE empmr1 = tapelev3, key = ilev_3
CADJ STORE sst0 = tapelev3, key = ilev_3
CADJ STORE sst1 = tapelev3, key = ilev_3
CADJ STORE sss0 = tapelev3, key = ilev_3
CADJ STORE sss1 = tapelev3, key = ilev_3
CADJ STORE saltflux0 = tapelev3, key = ilev_3
CADJ STORE saltflux1 = tapelev3, key = ilev_3
# ifdef SHORTWAVE_HEATING
CADJ STORE qsw0 = tapelev3, key = ilev_3
CADJ STORE qsw1 = tapelev3, key = ilev_3
# endif
# ifdef ALLOW_GEOTHERMAL_FLUX
CADJ STORE geothFlux0 = tapelev3, key = ilev_3
CADJ STORE geothFlux1 = tapelev3, key = ilev_3
# endif
# ifdef ATMOSPHERIC_LOADING
CADJ STORE pload0 = tapelev3, key = ilev_3
CADJ STORE pload1 = tapelev3, key = ilev_3
# endif
#endif /* ndef EXCLUDE_FFIELDS_LOAD */
#ifdef EXACT_CONSERV
CADJ STORE etaH = tapelev3, key = ilev_3
CADJ STORE dEtaHdt = tapelev3, key = ilev_3
CADJ STORE PmEpR = tapelev3, key = ilev_3
#endif
c
#ifdef ALLOW_ADAMSBASHFORTH_3
CADJ STORE gtnm = tapelev3, key = ilev_3
CADJ STORE gsnm = tapelev3, key = ilev_3
CADJ STORE gunm = tapelev3, key = ilev_3
CADJ STORE gvnm = tapelev3, key = ilev_3
#else
CADJ STORE gtnm1 = tapelev3, key = ilev_3
CADJ STORE gsnm1 = tapelev3, key = ilev_3
CADJ STORE gunm1 = tapelev3, key = ilev_3
CADJ STORE gvnm1 = tapelev3, key = ilev_3
#endif
CADJ STORE theta = tapelev3, key = ilev_3
CADJ STORE salt = tapelev3, key = ilev_3
CADJ STORE uvel = tapelev3, key = ilev_3
CADJ STORE vvel = tapelev3, key = ilev_3
CADJ STORE wvel = tapelev3, key = ilev_3
CADJ STORE totphihyd = tapelev3, key = ilev_3
c
#endif /* AUTODIFF_USE_STORE_RESTORE */
CADJ STORE phi0surf = tapelev3, key = ilev_3
CADJ STORE saltflux = tapelev3, key = ilev_3
#ifdef EXACT_CONSERV
cphCADJ STORE hDivFlow = tapelev3, key = ilev_3
#endif /* EXACT_CONSERV */
#ifdef NONLIN_FRSURF
CADJ STORE hfac_surfc = tapelev3, key = ilev_3
CADJ STORE hfac_surfs = tapelev3, key = ilev_3
CADJ STORE hfac_surfw = tapelev3, key = ilev_3
CADJ STORE hFac_surfNm1C= tapelev3, key = ilev_3
CADJ STORE hFac_surfNm1S= tapelev3, key = ilev_3
CADJ STORE hFac_surfNm1W= tapelev3, key = ilev_3
# ifndef DISABLE_RSTAR_CODE
CADJ STORE rstarexpc,rstarexps,rstarexpw
CADJ & = tapelev3, key = ilev_3
CADJ STORE rstarfacc,rstarfacs,rstarfacw
CADJ & = tapelev3, key = ilev_3
CADJ STORE rStarFacNm1C,rStarFacNm1S,rStarFacNm1W
CADJ & = tapelev3, key = ilev_3
CADJ STORE rstardhcdt,rstardhsdt,rstardhwdt
CADJ & = tapelev3, key = ilev_3
# endif
#endif /* NONLIN_FRSURF */
#if (defined ALLOW_CG2D_NSA || defined NONLIN_FRSURF || \
defined ALLOW_DEPTH_CONTROL)
CADJ STORE aW2d, aS2d, aC2d = tapelev3, key = ilev_3
CADJ STORE pc, ps, pw = tapelev3, key = ilev_3
#endif
#ifdef ALLOW_CD_CODE
# include "cd_code_ad_check_lev3_dir.h"
#endif /* ALLOW_CD_CODE */
#ifdef ALLOW_GGL90
# include "ggl90_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_ECCO
# include "ecco_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_EXF
# include "exf_ad_check_lev3_dir.h"
#endif /* ALLOW_EXF */
#ifdef ALLOW_CTRL
# include "ctrl_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_PTRACERS
# include "ptracers_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_OBCS
# include "obcs_ad_check_lev3_dir.h"
#endif /* ALLOW_OBCS */
#ifdef ALLOW_SALT_PLUME
# include "salt_plume_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_SEAICE
CADJ STORE phiHydLow = tapelev3, key = ilev_3
# include "seaice_ad_check_lev3_dir.h"
#endif /* ALLOW_SEAICE */
#ifdef ALLOW_THSICE
# include "thsice_ad_check_lev3_dir.h"
#endif /* ALLOW_THSICE */
#ifdef ALLOW_SHELFICE
# include "shelfice_ad_check_lev3_dir.h"
#endif /* ALLOW_SHELFICE */
#ifdef ALLOW_STREAMICE
# include "streamice_ad_check_lev3_dir.h"
#endif /* ALLOW_STREAMICE */
#ifdef ALLOW_RBCS
# include "rbcs_ad_check_lev3_dir.h"
#endif /* ALLOW_RBCS */
#ifdef ALLOW_OFFLINE
# include "offline_ad_check_lev3_dir.h"
#endif /* ALLOW_OFFLINE */
#ifdef ALLOW_CFC
# include "cfc_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_DIC
# include "dic_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_BLING
# include "bling_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_GENERIC_ADVDIFF
# include "gad_ad_check_lev3_dir.h"
#endif
#ifdef ALLOW_EBM
CADJ STORE fu = tapelev3, key = ilev_3
CADJ STORE fv = tapelev3, key = ilev_3
CADJ STORE qnet = tapelev3, key = ilev_3
CADJ STORE qsw = tapelev3, key = ilev_3
CADJ STORE sss = tapelev3, key = ilev_3
CADJ STORE empmr = tapelev3, key = ilev_3
# include "ebm_ad_check_lev3_dir.h"
#endif /* ALLOW_EBM */
#ifdef ALLOW_COST
CADJ STORE cMeanTheta = tapelev3, key = ilev_3
CADJ STORE cMeanUVel = tapelev3, key = ilev_3
CADJ STORE cMeanVVel = tapelev3, key = ilev_3
CADJ STORE cMeanThetaUVel = tapelev3, key = ilev_3
CADJ STORE cMeanThetaVVel = tapelev3, key = ilev_3
#endif
#ifdef ALLOW_COST_TRACER
CADJ STORE objf_tracer = tapelev3, key = ilev_3
#endif
#ifdef ALLOW_COST_TRANSPORT
CADJ STORE objf_transport = tapelev3, key = ilev_3
#endif
#ifdef ALLOW_HFLUXM_CONTROL
CADJ STORE qnetm = tapelev3, key = ilev_3
#endif
#ifdef ALLOW_SEAICE
cph temporary for HD
# ifdef ANNUAL_BALANCE
CADJ STORE balance_itcount = tapelev3, key = ilev_3
CADJ STORE atmfw_tilesum = tapelev3, key = ilev_3
CADJ STORE qnet_tilesum = tapelev3, key = ilev_3
CADJ STORE empmr_corr = tapelev3, key = ilev_3
CADJ STORE qnet_corr = tapelev3, key = ilev_3
# endif /* ANNUAL_BALANCE */
#endif