Back to home page

MITgcm

 
 

    


File indexing completed on 2024-10-31 05:10:21 UTC

view on githubraw file Latest commit 8b7be8db on 2024-10-30 14:20:06 UTC
32117771cc Patr*0001 c
788c57c2b5 owan*0002 c     store directives for checkpoint level 2
32117771cc Patr*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 = tapelev2, key = ilev_2
                0009 CADJ STORE StoreDynVars3D = tapelev2, key = ilev_2
                0010 c
                0011 #else
c5c9d716eb Patr*0012 c
                0013 CADJ STORE etan  = tapelev2, key = ilev_2
8b7be8db08 Mart*0014 #ifdef EXCLUDE_FFIELDS_LOAD
                0015 CADJ STORE saltflux = tapelev2, key = ilev_2
                0016 #else
c5c9d716eb Patr*0017 CADJ STORE taux0 = tapelev2, key = ilev_2
                0018 CADJ STORE taux1 = tapelev2, key = ilev_2
                0019 CADJ STORE tauy0 = tapelev2, key = ilev_2
                0020 CADJ STORE tauy1 = tapelev2, key = ilev_2
                0021 CADJ STORE qnet0 = tapelev2, key = ilev_2
                0022 CADJ STORE qnet1 = tapelev2, key = ilev_2
                0023 CADJ STORE empmr0 = tapelev2, key = ilev_2
                0024 CADJ STORE empmr1 = tapelev2, key = ilev_2
                0025 CADJ STORE sst0 = tapelev2, key = ilev_2
                0026 CADJ STORE sst1 = tapelev2, key = ilev_2
                0027 CADJ STORE sss0 = tapelev2, key = ilev_2
                0028 CADJ STORE sss1 = tapelev2, key = ilev_2
                0029 CADJ STORE saltflux0 = tapelev2, key = ilev_2
                0030 CADJ STORE saltflux1 = tapelev2, key = ilev_2
788c57c2b5 owan*0031 # ifdef SHORTWAVE_HEATING
c5c9d716eb Patr*0032 CADJ STORE qsw0 = tapelev2, key = ilev_2
                0033 CADJ STORE qsw1 = tapelev2, key = ilev_2
788c57c2b5 owan*0034 # endif
166438fbfb Jean*0035 # ifdef ALLOW_GEOTHERMAL_FLUX
                0036 CADJ STORE geothFlux0 = tapelev2, key = ilev_2
                0037 CADJ STORE geothFlux1 = tapelev2, key = ilev_2
                0038 # endif
788c57c2b5 owan*0039 # ifdef ATMOSPHERIC_LOADING
c5c9d716eb Patr*0040 CADJ STORE pload0 = tapelev2, key = ilev_2
                0041 CADJ STORE pload1 = tapelev2, key = ilev_2
788c57c2b5 owan*0042 # endif
                0043 #endif /* ndef EXCLUDE_FFIELDS_LOAD */
c5c9d716eb Patr*0044 #ifdef EXACT_CONSERV
                0045 CADJ STORE etaH = tapelev2, key = ilev_2
                0046 CADJ STORE dEtaHdt = tapelev2, key = ilev_2
                0047 CADJ STORE PmEpR = tapelev2, key = ilev_2
                0048 #endif
                0049 c
507fbacc22 Gael*0050 #ifdef ALLOW_ADAMSBASHFORTH_3
7448700841 Mart*0051 CADJ STORE gtnm  = tapelev2, key = ilev_2
                0052 CADJ STORE gsnm  = tapelev2, key = ilev_2
                0053 CADJ STORE gunm  = tapelev2, key = ilev_2
                0054 CADJ STORE gvnm  = tapelev2, key = ilev_2
507fbacc22 Gael*0055 #else
7448700841 Mart*0056 CADJ STORE gtnm1 = tapelev2, key = ilev_2
                0057 CADJ STORE gsnm1 = tapelev2, key = ilev_2
                0058 CADJ STORE gunm1 = tapelev2, key = ilev_2
                0059 CADJ STORE gvnm1 = tapelev2, key = ilev_2
507fbacc22 Gael*0060 #endif
7448700841 Mart*0061 CADJ STORE theta = tapelev2, key = ilev_2
e4f1c09db9 Jean*0062 CADJ STORE salt  = tapelev2, key = ilev_2
                0063 CADJ STORE uvel  = tapelev2, key = ilev_2
                0064 CADJ STORE vvel  = tapelev2, key = ilev_2
c5c9d716eb Patr*0065 CADJ STORE wvel  = tapelev2, key = ilev_2
7448700841 Mart*0066 CADJ STORE totphihyd     = tapelev2, key = ilev_2
c5c9d716eb Patr*0067 c
3c775cbf98 Mart*0068 #endif /* AUTODIFF_USE_STORE_RESTORE */
c5c9d716eb Patr*0069 
cdaeea692f Patr*0070 #ifdef EXACT_CONSERV
7448700841 Mart*0071 cphCADJ STORE hDivFlow   = tapelev2, key = ilev_2
cdaeea692f Patr*0072 #endif /* EXACT_CONSERV */
                0073 
cdc9f269ae Patr*0074 #ifdef NONLIN_FRSURF
                0075 CADJ STORE hfac_surfc    = tapelev2, key = ilev_2
                0076 CADJ STORE hfac_surfs    = tapelev2, key = ilev_2
                0077 CADJ STORE hfac_surfw    = tapelev2, key = ilev_2
7448700841 Mart*0078 CADJ STORE hFac_surfNm1C = tapelev2, key = ilev_2
                0079 CADJ STORE hFac_surfNm1S = tapelev2, key = ilev_2
                0080 CADJ STORE hFac_surfNm1W = tapelev2, key = ilev_2
2fd2ab9859 Patr*0081 
aa2d1573fa Patr*0082 # ifndef DISABLE_RSTAR_CODE
e4f1c09db9 Jean*0083 CADJ STORE rstarexpc,rstarexps,rstarexpw
aa2d1573fa Patr*0084 CADJ &     = tapelev2, key = ilev_2
e4f1c09db9 Jean*0085 CADJ STORE rstarfacc,rstarfacs,rstarfacw
aa2d1573fa Patr*0086 CADJ &     = tapelev2, key = ilev_2
3facd719d7 Gael*0087 CADJ STORE rStarFacNm1C,rStarFacNm1S,rStarFacNm1W
aa2d1573fa Patr*0088 CADJ &     = tapelev2, key = ilev_2
7448700841 Mart*0089 #  if (defined ALLOW_MOM_FLUXFORM || \
                0090        defined ALLOW_CG2D_NSA || defined ALLOW_DEPTH_CONTROL)
e4f1c09db9 Jean*0091 CADJ STORE rstardhcdt,rstardhsdt,rstardhwdt
f88f1afe4a Patr*0092 CADJ &     = tapelev2, key = ilev_2
7448700841 Mart*0093 #  endif
aa2d1573fa Patr*0094 # endif
6db901f1b0 Patr*0095 
aecc8b0f47 Mart*0096 #endif /* NONLIN_FRSURF */
                0097 
                0098 #if (defined ALLOW_CG2D_NSA || defined NONLIN_FRSURF || \
                0099       defined ALLOW_DEPTH_CONTROL)
8fc117ecb7 Mart*0100 CADJ STORE aW2d, aS2d, aC2d = tapelev2, key = ilev_2
                0101 CADJ STORE pc, ps, pw       = tapelev2, key = ilev_2
aecc8b0f47 Mart*0102 #endif
cdc9f269ae Patr*0103 
a914ee1c2b Patr*0104 #ifdef ALLOW_CD_CODE
                0105 # include "cd_code_ad_check_lev2_dir.h"
                0106 #endif /* ALLOW_CD_CODE */
                0107 
eb99fca311 Gael*0108 #ifdef ALLOW_GGL90
                0109 # include "ggl90_ad_check_lev2_dir.h"
                0110 #endif
                0111 
95c7d150a4 Ed H*0112 #ifdef ALLOW_EXF
f5e29f75ee Patr*0113 # include "exf_ad_check_lev2_dir.h"
5728d4a98b Patr*0114 #endif /* ALLOW_EXF */
650cc6304d Patr*0115 
f1e33a6eed Gael*0116 #ifdef ALLOW_CTRL
                0117 # include "ctrl_ad_check_lev2_dir.h"
e4f1c09db9 Jean*0118 #endif
f1e33a6eed Gael*0119 
f5e29f75ee Patr*0120 #ifdef ALLOW_PTRACERS
                0121 # include "ptracers_ad_check_lev2_dir.h"
5728d4a98b Patr*0122 #endif
19137ecb06 Patr*0123 
f5e29f75ee Patr*0124 #ifdef ALLOW_OBCS
                0125 # include "obcs_ad_check_lev2_dir.h"
de416ebcde Patr*0126 #endif  /* ALLOW_OBCS */
                0127 
25a8d9f9c0 Patr*0128 #ifdef ALLOW_SALT_PLUME
                0129 # include "salt_plume_ad_check_lev2_dir.h"
                0130 #endif
                0131 
19137ecb06 Patr*0132 #ifdef ALLOW_SEAICE
0320e25227 Mart*0133 CADJ STORE phiHydLow  = tapelev2, key = ilev_2
f5e29f75ee Patr*0134 # include "seaice_ad_check_lev2_dir.h"
19137ecb06 Patr*0135 #endif /* ALLOW_SEAICE */
                0136 
c567874792 Patr*0137 #ifdef ALLOW_THSICE
                0138 # include "thsice_ad_check_lev2_dir.h"
cc747f5a7a Patr*0139 #endif /* ALLOW_THSICE */
                0140 
72d7b4c1f4 Patr*0141 #ifdef ALLOW_SHELFICE
                0142 # include "shelfice_ad_check_lev2_dir.h"
                0143 #endif /* ALLOW_SHELFICE */
                0144 
42a1dbd269 Patr*0145 #ifdef ALLOW_STREAMICE
                0146 # include "streamice_ad_check_lev2_dir.h"
                0147 #endif /* ALLOW_STREAMICE */
                0148 
cc747f5a7a Patr*0149 #ifdef ALLOW_RBCS
                0150 # include "rbcs_ad_check_lev2_dir.h"
8656989ec1 Patr*0151 #endif /* ALLOW_RBCS */
                0152 
                0153 #ifdef ALLOW_OFFLINE
                0154 # include "offline_ad_check_lev2_dir.h"
                0155 #endif /* ALLOW_OFFLINE */
c567874792 Patr*0156 
529eea311c Gael*0157 #ifdef ALLOW_CFC
                0158 # include "cfc_ad_check_lev2_dir.h"
                0159 #endif
e4f1c09db9 Jean*0160 
529eea311c Gael*0161 #ifdef ALLOW_DIC
                0162 # include "dic_ad_check_lev2_dir.h"
                0163 #endif
                0164 
a84a33e808 Matt*0165 #ifdef ALLOW_BLING
                0166 # include "bling_ad_check_lev2_dir.h"
                0167 #endif
                0168 
e66ad81ead Patr*0169 #ifdef ALLOW_GENERIC_ADVDIFF
                0170 # include "gad_ad_check_lev2_dir.h"
                0171 #endif
                0172 
b08554040b Patr*0173 #ifdef ALLOW_EBM
27cc6013c1 Patr*0174 CADJ STORE fu    = tapelev2, key = ilev_2
                0175 CADJ STORE fv    = tapelev2, key = ilev_2
                0176 CADJ STORE qnet  = tapelev2, key = ilev_2
                0177 CADJ STORE qsw   = tapelev2, key = ilev_2
                0178 CADJ STORE sss   = tapelev2, key = ilev_2
                0179 CADJ STORE empmr = tapelev2, key = ilev_2
b08554040b Patr*0180 # include "ebm_ad_check_lev2_dir.h"
5728d4a98b Patr*0181 #endif /* ALLOW_EBM */
449f3c105b Patr*0182 
8f9ab6df2d Davi*0183 #ifdef ALLOW_COST
7448700841 Mart*0184 C     Whether the following store directives are necessary depends
                0185 C     heavily on the details of the cost function, so we stick to the
                0186 C     strategy of inserting these store directives regardless of the
                0187 C     "not necessary" warnings they produce.
449f3c105b Patr*0188 CADJ STORE cMeanTheta = tapelev2, key = ilev_2
                0189 CADJ STORE cMeanUVel  = tapelev2, key = ilev_2
                0190 CADJ STORE cMeanVVel  = tapelev2, key = ilev_2
781d8676b2 Patr*0191 CADJ STORE cMeanThetaUVel = tapelev2, key = ilev_2
                0192 CADJ STORE cMeanThetaVVel = tapelev2, key = ilev_2
449f3c105b Patr*0193 #endif
9b184aa726 Patr*0194 
                0195 #ifdef ALLOW_COST_TRACER
                0196 CADJ STORE objf_tracer = tapelev2, key = ilev_2
                0197 #endif