Back to home page

MITgcm

 
 

    


File indexing completed on 2023-09-03 05:10:04 UTC

view on githubraw file Latest commit 74487008 on 2023-09-03 01:50:18 UTC
0785f33837 Patr*0001 c
                0002 c     store directives for checkpoint level 4
                0003 c
                0004 c     created: heimbach@mit.edu 10-Jan-2002
                0005 c
3c775cbf98 Mart*0006 #ifdef AUTODIFF_USE_STORE_RESTORE
                0007 c
                0008 CADJ STORE StoreDynVars2D = tapelev4, key = ilev_4
                0009 CADJ STORE StoreDynVars3D = tapelev4, key = ilev_4
                0010 c
                0011 #else
c5c9d716eb Patr*0012 c
                0013 CADJ STORE etan  = tapelev4, key = ilev_4
788c57c2b5 owan*0014 #ifndef EXCLUDE_FFIELDS_LOAD
c5c9d716eb Patr*0015 CADJ STORE taux0 = tapelev4, key = ilev_4
                0016 CADJ STORE taux1 = tapelev4, key = ilev_4
                0017 CADJ STORE tauy0 = tapelev4, key = ilev_4
                0018 CADJ STORE tauy1 = tapelev4, key = ilev_4
                0019 CADJ STORE qnet0 = tapelev4, key = ilev_4
                0020 CADJ STORE qnet1 = tapelev4, key = ilev_4
                0021 CADJ STORE empmr0 = tapelev4, key = ilev_4
                0022 CADJ STORE empmr1 = tapelev4, key = ilev_4
                0023 CADJ STORE sst0 = tapelev4, key = ilev_4
                0024 CADJ STORE sst1 = tapelev4, key = ilev_4
                0025 CADJ STORE sss0 = tapelev4, key = ilev_4
                0026 CADJ STORE sss1 = tapelev4, key = ilev_4
                0027 CADJ STORE saltflux0 = tapelev4, key = ilev_4
                0028 CADJ STORE saltflux1 = tapelev4, key = ilev_4
788c57c2b5 owan*0029 # ifdef SHORTWAVE_HEATING
c5c9d716eb Patr*0030 CADJ STORE qsw0 = tapelev4, key = ilev_4
                0031 CADJ STORE qsw1 = tapelev4, key = ilev_4
788c57c2b5 owan*0032 # endif
166438fbfb Jean*0033 # ifdef ALLOW_GEOTHERMAL_FLUX
                0034 CADJ STORE geothFlux0 = tapelev4, key = ilev_4
                0035 CADJ STORE geothFlux1 = tapelev4, key = ilev_4
                0036 # endif
788c57c2b5 owan*0037 # ifdef ATMOSPHERIC_LOADING
c5c9d716eb Patr*0038 CADJ STORE pload0 = tapelev4, key = ilev_4
                0039 CADJ STORE pload1 = tapelev4, key = ilev_4
788c57c2b5 owan*0040 # endif
                0041 #endif /* ndef EXCLUDE_FFIELDS_LOAD */
c5c9d716eb Patr*0042 #ifdef EXACT_CONSERV
                0043 CADJ STORE etaH = tapelev4, key = ilev_4
                0044 CADJ STORE dEtaHdt = tapelev4, key = ilev_4
                0045 CADJ STORE PmEpR = tapelev4, key = ilev_4
                0046 #endif
                0047 c
507fbacc22 Gael*0048 #ifdef ALLOW_ADAMSBASHFORTH_3
7448700841 Mart*0049 CADJ STORE gtnm  = tapelev4, key = ilev_4
                0050 CADJ STORE gsnm  = tapelev4, key = ilev_4
                0051 CADJ STORE gunm  = tapelev4, key = ilev_4
                0052 CADJ STORE gvnm  = tapelev4, key = ilev_4
507fbacc22 Gael*0053 #else
7448700841 Mart*0054 CADJ STORE gtnm1 = tapelev4, key = ilev_4
                0055 CADJ STORE gsnm1 = tapelev4, key = ilev_4
                0056 CADJ STORE gunm1 = tapelev4, key = ilev_4
                0057 CADJ STORE gvnm1 = tapelev4, key = ilev_4
507fbacc22 Gael*0058 #endif
7448700841 Mart*0059 CADJ STORE theta = tapelev4, key = ilev_4
e4f1c09db9 Jean*0060 CADJ STORE salt  = tapelev4, key = ilev_4
                0061 CADJ STORE uvel  = tapelev4, key = ilev_4
                0062 CADJ STORE vvel  = tapelev4, key = ilev_4
c5c9d716eb Patr*0063 CADJ STORE wvel  = tapelev4, key = ilev_4
7448700841 Mart*0064 CADJ STORE totphihyd     = tapelev4, key = ilev_4
c5c9d716eb Patr*0065 c
3c775cbf98 Mart*0066 #endif /* AUTODIFF_USE_STORE_RESTORE */
c5c9d716eb Patr*0067 
0785f33837 Patr*0068 #ifdef EXACT_CONSERV
7448700841 Mart*0069 cphCADJ STORE hDivFlow   = tapelev4, key = ilev_4
0785f33837 Patr*0070 #endif /* EXACT_CONSERV */
                0071 
aa2d1573fa Patr*0072 #ifdef NONLIN_FRSURF
                0073 CADJ STORE hfac_surfc    = tapelev4, key = ilev_4
                0074 CADJ STORE hfac_surfs    = tapelev4, key = ilev_4
                0075 CADJ STORE hfac_surfw    = tapelev4, key = ilev_4
7448700841 Mart*0076 CADJ STORE hFac_surfNm1C = tapelev4, key = ilev_4
                0077 CADJ STORE hFac_surfNm1S = tapelev4, key = ilev_4
                0078 CADJ STORE hFac_surfNm1W = tapelev4, key = ilev_4
2fd2ab9859 Patr*0079 
aa2d1573fa Patr*0080 # ifndef DISABLE_RSTAR_CODE
e4f1c09db9 Jean*0081 CADJ STORE rstarexpc,rstarexps,rstarexpw
aa2d1573fa Patr*0082 CADJ &     = tapelev4, key = ilev_4
e4f1c09db9 Jean*0083 CADJ STORE rstarfacc,rstarfacs,rstarfacw
aa2d1573fa Patr*0084 CADJ &     = tapelev4, key = ilev_4
3facd719d7 Gael*0085 CADJ STORE rStarFacNm1C,rStarFacNm1S,rStarFacNm1W
aa2d1573fa Patr*0086 CADJ &     = tapelev4, key = ilev_4
7448700841 Mart*0087 #  if (defined ALLOW_MOM_FLUXFORM || \
                0088        defined ALLOW_CG2D_NSA || defined ALLOW_DEPTH_CONTROL)
e4f1c09db9 Jean*0089 CADJ STORE rstardhcdt,rstardhsdt,rstardhwdt
f88f1afe4a Patr*0090 CADJ &     = tapelev4, key = ilev_4
7448700841 Mart*0091 #  endif
aa2d1573fa Patr*0092 # endif
6db901f1b0 Patr*0093 
aecc8b0f47 Mart*0094 #endif /* NONLIN_FRSURF */
                0095 
                0096 #if (defined ALLOW_CG2D_NSA || defined NONLIN_FRSURF || \
                0097       defined ALLOW_DEPTH_CONTROL)
8fc117ecb7 Mart*0098 CADJ STORE aW2d, aS2d, aC2d = tapelev4, key = ilev_4
                0099 CADJ STORE pc, ps, pw       = tapelev4, key = ilev_4
aecc8b0f47 Mart*0100 #endif
aa2d1573fa Patr*0101 
0785f33837 Patr*0102 #ifdef ALLOW_CD_CODE
                0103 # include "cd_code_ad_check_lev4_dir.h"
                0104 #endif /* ALLOW_CD_CODE */
                0105 
eb99fca311 Gael*0106 #ifdef ALLOW_GGL90
                0107 # include "ggl90_ad_check_lev4_dir.h"
                0108 #endif
                0109 
0785f33837 Patr*0110 #ifdef ALLOW_EXF
                0111 # include "exf_ad_check_lev4_dir.h"
5728d4a98b Patr*0112 #endif /* ALLOW_EXF */
0785f33837 Patr*0113 
f1e33a6eed Gael*0114 #ifdef ALLOW_CTRL
                0115 # include "ctrl_ad_check_lev4_dir.h"
e4f1c09db9 Jean*0116 #endif
f1e33a6eed Gael*0117 
0785f33837 Patr*0118 #ifdef ALLOW_PTRACERS
                0119 # include "ptracers_ad_check_lev4_dir.h"
                0120 #endif
                0121 
                0122 #ifdef ALLOW_OBCS
                0123 # include "obcs_ad_check_lev4_dir.h"
                0124 #endif  /* ALLOW_OBCS */
                0125 
25a8d9f9c0 Patr*0126 #ifdef ALLOW_SALT_PLUME
                0127 # include "salt_plume_ad_check_lev4_dir.h"
                0128 #endif
                0129 
2f01a7b2d6 Patr*0130 #ifdef ALLOW_SEAICE
0320e25227 Mart*0131 CADJ STORE phiHydLow  = tapelev4, key = ilev_4
2f01a7b2d6 Patr*0132 # include "seaice_ad_check_lev4_dir.h"
                0133 #endif /* ALLOW_SEAICE */
0785f33837 Patr*0134 
cc747f5a7a Patr*0135 #ifdef ALLOW_THSICE
                0136 # include "thsice_ad_check_lev4_dir.h"
                0137 #endif /* ALLOW_THSICE */
                0138 
2f01a7b2d6 Patr*0139 #ifdef ALLOW_SHELFICE
                0140 # include "shelfice_ad_check_lev4_dir.h"
                0141 #endif /* ALLOW_SHELFICE */
                0142 
42a1dbd269 Patr*0143 #ifdef ALLOW_STREAMICE
                0144 # include "streamice_ad_check_lev4_dir.h"
                0145 #endif /* ALLOW_STREAMICE */
                0146 
cc747f5a7a Patr*0147 #ifdef ALLOW_RBCS
                0148 # include "rbcs_ad_check_lev4_dir.h"
8656989ec1 Patr*0149 #endif /* ALLOW_RBCS */
                0150 
                0151 #ifdef ALLOW_OFFLINE
                0152 # include "offline_ad_check_lev4_dir.h"
                0153 #endif /* ALLOW_OFFLINE */
cc747f5a7a Patr*0154 
529eea311c Gael*0155 #ifdef ALLOW_CFC
                0156 # include "cfc_ad_check_lev4_dir.h"
                0157 #endif
e4f1c09db9 Jean*0158 
529eea311c Gael*0159 #ifdef ALLOW_DIC
                0160 # include "dic_ad_check_lev4_dir.h"
                0161 #endif
                0162 
a84a33e808 Matt*0163 #ifdef ALLOW_BLING
                0164 # include "bling_ad_check_lev4_dir.h"
                0165 #endif
                0166 
e66ad81ead Patr*0167 #ifdef ALLOW_GENERIC_ADVDIFF
                0168 # include "gad_ad_check_lev4_dir.h"
                0169 #endif
                0170 
0785f33837 Patr*0171 #ifdef ALLOW_EBM
                0172 CADJ STORE fu    = tapelev4, key = ilev_4
                0173 CADJ STORE fv    = tapelev4, key = ilev_4
                0174 CADJ STORE qnet  = tapelev4, key = ilev_4
                0175 CADJ STORE qsw   = tapelev4, key = ilev_4
                0176 CADJ STORE sss   = tapelev4, key = ilev_4
                0177 CADJ STORE empmr = tapelev4, key = ilev_4
                0178 # include "ebm_ad_check_lev4_dir.h"
                0179 #endif /* ALLOW_EBM */
                0180 
8f9ab6df2d Davi*0181 #ifdef ALLOW_COST
7448700841 Mart*0182 C     Whether or not the following store directives are necessary
                0183 C     depends heavily on the details of the cost function, so we stick
                0184 C     to the strategy of inserting these store directives regardless of
                0185 C     the "not necessary" warnings they produce.
0785f33837 Patr*0186 CADJ STORE cMeanTheta = tapelev4, key = ilev_4
                0187 CADJ STORE cMeanUVel  = tapelev4, key = ilev_4
                0188 CADJ STORE cMeanVVel  = tapelev4, key = ilev_4
781d8676b2 Patr*0189 CADJ STORE cMeanThetaUVel = tapelev4, key = ilev_4
                0190 CADJ STORE cMeanThetaVVel = tapelev4, key = ilev_4
0785f33837 Patr*0191 #endif
                0192 
                0193 #ifdef ALLOW_COST_TRACER
                0194 CADJ STORE objf_tracer = tapelev4, key = ilev_4
                0195 #endif