Back to home page

MITgcm

 
 

    


File indexing completed on 2024-01-13 06:10:02 UTC

view on githubraw file Latest commit 005af54e on 2024-01-12 20:10:27 UTC
9c41af81f6 Timo*0001 C
                0002 C     Store directives for checkpoint level 1 AFTER do_oceanic_phys
                0003 C     has been called
                0004 C
                0005 C     This block of store directives is for variables that have been
                0006 C     computed in do_oceanics_phys. Storing them here avoids calling
                0007 C     do_oceanic_phys again in forward_step_ad, which should improve
                0008 C     performance because expensive parts of the model are not
                0009 C     recomputed (e.g. seaice).
                0010 C
                0011 CADJ STORE EmPmR          = comlev1, key = ikey_dynamics, kind = isbyte
                0012 #ifdef EXACT_CONSERV
                0013 CADJ STORE PmEpR          = comlev1, key = ikey_dynamics, kind = isbyte
                0014 #endif
                0015 CADJ STORE qsw            = comlev1, key = ikey_dynamics, kind = isbyte
                0016 CADJ STORE surfaceForcingU= comlev1, key = ikey_dynamics, kind = isbyte
                0017 CADJ STORE surfaceForcingV= comlev1, key = ikey_dynamics, kind = isbyte
                0018 #ifdef ATMOSPHERIC_LOADING
                0019 CADJ STORE phi0surf       = comlev1, key = ikey_dynamics, kind = isbyte
                0020 #endif
aa93ca8e85 Ciar*0021 CADJ STORE sIceLoad       = comlev1, key = ikey_dynamics, kind = isbyte
9c41af81f6 Timo*0022 
                0023 #ifdef ALLOW_OBCS
                0024 CADJ STORE salt, theta = comlev1, key = ikey_dynamics, kind = isbyte
                0025 # ifdef ALLOW_OBCS_NORTH
                0026 CADJ STORE OBNt        = comlev1, key = ikey_dynamics, kind = isbyte
                0027 CADJ STORE OBNs        = comlev1, key = ikey_dynamics, kind = isbyte
                0028 #  ifdef ALLOW_OBCS_STEVENS
                0029 CADJ STORE OBNtStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0030 CADJ STORE OBNsStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0031 CADJ STORE OBNvStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0032 #  endif /* ALLOW_OBCS_STEVENS */
                0033 # endif /* ALLOW_OBCS_NORTH */
                0034 
                0035 # ifdef ALLOW_OBCS_SOUTH
                0036 CADJ STORE OBSt        = comlev1, key = ikey_dynamics, kind = isbyte
                0037 CADJ STORE OBSs        = comlev1, key = ikey_dynamics, kind = isbyte
                0038 #  ifdef ALLOW_OBCS_STEVENS
                0039 CADJ STORE OBStStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0040 CADJ STORE OBSsStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0041 CADJ STORE OBSvStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0042 #  endif /* ALLOW_OBCS_STEVENS */
                0043 # endif /* ALLOW_OBCS_SOUTH */
                0044 
                0045 # ifdef ALLOW_OBCS_EAST
                0046 CADJ STORE OBEt        = comlev1, key = ikey_dynamics, kind = isbyte
                0047 CADJ STORE OBEs        = comlev1, key = ikey_dynamics, kind = isbyte
                0048 #  ifdef ALLOW_OBCS_STEVENS
                0049 CADJ STORE OBEtStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0050 CADJ STORE OBEsStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0051 CADJ STORE OBEuStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0052 #  endif /* ALLOW_OBCS_STEVENS */
                0053 # endif /* ALLOW_OBCS_EAST */
                0054 
                0055 # ifdef ALLOW_OBCS_WEST
                0056 CADJ STORE OBWt        = comlev1, key = ikey_dynamics, kind = isbyte
                0057 CADJ STORE OBWs        = comlev1, key = ikey_dynamics, kind = isbyte
                0058 #  ifdef ALLOW_OBCS_STEVENS
                0059 CADJ STORE OBWtStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0060 CADJ STORE OBWsStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0061 CADJ STORE OBWuStevens = comlev1, key = ikey_dynamics, kind = isbyte
                0062 #  endif /* ALLOW_OBCS_STEVENS */
                0063 # endif /* ALLOW_OBCS_WEST */
                0064 
                0065 # ifdef ALLOW_PTRACERS
                0066 #  ifdef ALLOW_OBCS_NORTH
                0067 CADJ STORE OBNptr = comlev1, key = ikey_dynamics, kind = isbyte
                0068 #  endif /* ALLOW_OBCS_NORTH */
                0069 #  ifdef ALLOW_OBCS_SOUTH
                0070 CADJ STORE OBSptr = comlev1, key = ikey_dynamics, kind = isbyte
                0071 #  endif /* ALLOW_OBCS_SOUTH */
                0072 #  ifdef ALLOW_OBCS_EAST
                0073 CADJ STORE OBEptr = comlev1, key = ikey_dynamics, kind = isbyte
                0074 #  endif /* ALLOW_OBCS_EAST */
                0075 #  ifdef ALLOW_OBCS_WEST
                0076 CADJ STORE OBWptr = comlev1, key = ikey_dynamics, kind = isbyte
                0077 #  endif /* ALLOW_OBCS_WEST */
                0078 # endif  /* ALLOW_PTRACERS */
                0079 
                0080 # ifdef ALLOW_SEAICE
                0081 #  ifdef ALLOW_OBCS_NORTH
                0082 CADJ STORE OBNh  = comlev1, key = ikey_dynamics, kind = isbyte
                0083 CADJ STORE OBNa  = comlev1, key = ikey_dynamics, kind = isbyte
                0084 CADJ STORE OBNsn = comlev1, key = ikey_dynamics, kind = isbyte
                0085 #  ifdef SEAICE_VARIABLE_SALINITY
                0086 CADJ STORE OBNsl = comlev1, key = ikey_dynamics, kind = isbyte
                0087 #  endif
                0088 #  endif /* ALLOW_OBCS_NORTH */
                0089 #  ifdef ALLOW_OBCS_SOUTH
                0090 CADJ STORE OBSh  = comlev1, key = ikey_dynamics, kind = isbyte
                0091 CADJ STORE OBSa  = comlev1, key = ikey_dynamics, kind = isbyte
                0092 CADJ STORE OBSsn = comlev1, key = ikey_dynamics, kind = isbyte
                0093 #   ifdef SEAICE_VARIABLE_SALINITY
                0094 CADJ STORE OBSsl = comlev1, key = ikey_dynamics, kind = isbyte
                0095 #   endif
                0096 #  endif /* ALLOW_OBCS_SOUTH */
                0097 #  ifdef ALLOW_OBCS_EAST
                0098 CADJ STORE OBEh  = comlev1, key = ikey_dynamics, kind = isbyte
                0099 CADJ STORE OBEa  = comlev1, key = ikey_dynamics, kind = isbyte
                0100 CADJ STORE OBEsn = comlev1, key = ikey_dynamics, kind = isbyte
                0101 #   ifdef SEAICE_VARIABLE_SALINITY
                0102 CADJ STORE OBEsl = comlev1, key = ikey_dynamics, kind = isbyte
                0103 #   endif
                0104 #  endif /* ALLOW_OBCS_EAST */
                0105 #  ifdef ALLOW_OBCS_WEST
                0106 CADJ STORE OBWh  = comlev1, key = ikey_dynamics, kind = isbyte
                0107 CADJ STORE OBWa  = comlev1, key = ikey_dynamics, kind = isbyte
                0108 CADJ STORE OBWsn = comlev1, key = ikey_dynamics, kind = isbyte
                0109 #   ifdef SEAICE_VARIABLE_SALINITY
                0110 CADJ STORE OBWsl = comlev1, key = ikey_dynamics, kind = isbyte
                0111 #   endif
                0112 #  endif /* ALLOW_OBCS_WEST */
                0113 # endif /* ALLOW_SEAICE */
                0114 #endif /* ALLOW_OBCS */
                0115 
                0116 #ifdef ALLOW_DEPTH_CONTROL
                0117 CADJ STORE hFacC, hFacS, hFacW
                0118 CADJ &     = comlev1, key = ikey_dynamics, kind = isbyte
                0119 CADJ STORE recip_hFacC, recip_hFacS, recip_hFacW
                0120 CADJ &     = comlev1, key = ikey_dynamics, kind = isbyte
                0121 #endif
                0122 
                0123 cph the following needed to be moved here from do_oceanic_physics
                0124 cph to be visible down the road
                0125 
                0126 CADJ STORE rhoInSitu      = comlev1, key = ikey_dynamics, kind = isbyte
                0127 CADJ STORE surfaceForcingS= comlev1, key = ikey_dynamics, kind = isbyte
                0128 CADJ STORE surfaceForcingT= comlev1, key = ikey_dynamics, kind = isbyte
                0129 CADJ STORE IVDConvCount   = comlev1, key = ikey_dynamics, kind = isbyte
                0130 #ifdef ALLOW_KPP
                0131 CADJ STORE adjustColdSST_diag = comlev1, key = ikey_dynamics,
                0132 CADJ &     kind = isbyte
                0133 #endif
                0134 #ifdef ALLOW_PTRACERS
                0135 CADJ STORE surfaceForcingPTr  = comlev1, key = ikey_dynamics,
                0136 CADJ &     kind = isbyte
                0137 #endif
                0138 
                0139 #ifdef ALLOW_GMREDI
                0140 CADJ STORE Kwx            = comlev1, key = ikey_dynamics, kind = isbyte
                0141 CADJ STORE Kwy            = comlev1, key = ikey_dynamics, kind = isbyte
                0142 CADJ STORE Kwz            = comlev1, key = ikey_dynamics, kind = isbyte
                0143 # ifdef GM_BOLUS_ADVEC
                0144 CADJ STORE GM_PsiX        = comlev1, key = ikey_dynamics, kind = isbyte
                0145 CADJ STORE GM_PsiY        = comlev1, key = ikey_dynamics, kind = isbyte
                0146 # endif
                0147 #endif
                0148 
                0149 #ifdef ALLOW_KPP
                0150 CADJ STORE KPPghat        = comlev1, key = ikey_dynamics, kind = isbyte
                0151 CADJ STORE KPPfrac        = comlev1, key = ikey_dynamics, kind = isbyte
                0152 CADJ STORE KPPdiffKzS     = comlev1, key = ikey_dynamics, kind = isbyte
                0153 CADJ STORE KPPdiffKzT     = comlev1, key = ikey_dynamics, kind = isbyte
                0154 # ifdef ALLOW_SALT_PLUME
                0155 CADJ STORE KPPplumefrac   = comlev1, key = ikey_dynamics, kind = isbyte
                0156 # endif
                0157 #endif
                0158 
                0159 #ifdef ALLOW_GGL90
                0160 CADJ STORE GGL90diffKr    = comlev1, key = ikey_dynamics, kind = isbyte
                0161 #endif
                0162 
                0163 #ifdef ALLOW_SALT_PLUME
                0164 CADJ STORE SaltPlumeDepth = comlev1, key = ikey_dynamics, kind = isbyte
                0165 CADJ STORE saltPlumeFlux  = comlev1, key = ikey_dynamics, kind = isbyte
                0166 #endif
                0167 
                0168 #ifdef ALLOW_DOWN_SLOPE
                0169 CADJ STORE DWNSLP_deepK   = comlev1, key = ikey_dynamics
                0170 CADJ STORE DWNSLP_Transp  = comlev1, key = ikey_dynamics, kind = isbyte
                0171 #endif
                0172 
                0173 #ifdef ALLOW_SHELFICE
005af54e38 Jean*0174 # ifdef ALLOW_SHELFICE_REMESHING
                0175 CADJ STORE kTopC          = comlev1, key = ikey_dynamics
                0176 # endif
9c41af81f6 Timo*0177 CADJ STORE shelficeForcingT=comlev1, key = ikey_dynamics, kind = isbyte
                0178 CADJ STORE shelficeForcingS=comlev1, key = ikey_dynamics, kind = isbyte
                0179 #endif /* ALLOW_SHELFICE */
                0180 
                0181 #if (defined NONLIN_FRSURF) || (defined ALLOW_DEPTH_CONTROL)
                0182 CADJ STORE theta,salt     = comlev1, key = ikey_dynamics, kind = isbyte
                0183 CADJ STORE etaH           = comlev1, key = ikey_dynamics, kind = isbyte
                0184 # ifdef ALLOW_CD_CODE
                0185 CADJ STORE etaNm1         = comlev1, key = ikey_dynamics, kind = isbyte
                0186 # endif
                0187 # ifdef ALLOW_PTRACERS
                0188 CADJ STORE pTracer        = comlev1, key = ikey_dynamics, kind = isbyte
                0189 # endif /* ALLOW_PTRACERS */
                0190 #endif /* NONLIN_FRSURF or ALLOW_DEPTH_CONTROL */
                0191 #ifdef NONLIN_FRSURF
                0192 # ifndef DISABLE_RSTAR_CODE
                0193 CADJ STORE rStarExpC      = comlev1, key = ikey_dynamics, kind = isbyte
                0194 # endif
                0195 #endif
7448700841 Mart*0196 
                0197 #ifndef EXCLUDE_PCELL_MIX_CODE
                0198 # ifdef ALLOW_KPP
                0199 CADJ STORE KPPviscAz      = comlev1, key = ikey_dynamics, kind = isbyte
                0200 # endif
                0201 # ifdef ALLOW_PP81
                0202 CADJ STORE PPviscAz       = comlev1, key = ikey_dynamics, kind = isbyte
                0203 # endif
                0204 # ifdef ALLOW_KL10
                0205 CADJ STORE KLviscAz       = comlev1, key = ikey_dynamics, kind = isbyte
                0206 # endif
                0207 # ifdef ALLOW_MY82
                0208 CADJ STORE MYviscAz       = comlev1, key = ikey_dynamics, kind = isbyte
                0209 # endif
                0210 # ifdef ALLOW_GGL90
                0211 CADJ STORE GGL90viscArU   = comlev1, key = ikey_dynamics, kind = isbyte
                0212 CADJ STORE GGL90viscArV   = comlev1, key = ikey_dynamics, kind = isbyte
                0213 # endif
                0214 #endif