Back to home page

MITgcm

 
 

    


File indexing completed on 2022-07-07 05:09:07 UTC

view on githubraw file Latest commit 94a8024b on 2022-07-06 19:35:20 UTC
0a9ee580a2 Patr*0001 C--   These common blocks are extracted from the
                0002 C--   automatically created tangent linear code.
                0003 C--   You need to make sure that they are up-to-date
cbb575bcfd Jean*0004 C--   (i.e. in right order), and customize them accordingly.
0a9ee580a2 Patr*0005 C--
                0006 C--   heimbach@mit.edu 11-Jan-2001
d1d6b963cf Patr*0007 
                0008 #ifdef ALLOW_AUTODIFF_MONITOR
                0009 
99a99bb452 Jean*0010       COMMON /adDYNVARS_R/
                0011      &                     adEtaN,
                0012      &                     adUvel, adVvel, adWvel,
                0013      &                     adTheta, adSalt,
                0014      &                     adGu, adGv,
507fbacc22 Gael*0015 #ifdef ALLOW_ADAMSBASHFORTH_3
99a99bb452 Jean*0016      &                     adGuNm, adGvNm, adGtNm, adGsNm
507fbacc22 Gael*0017 #else
99a99bb452 Jean*0018      &                     adGuNm1, adGvNm1, adGtNm1, adGsNm1
507fbacc22 Gael*0019 #endif
99a99bb452 Jean*0020       _RL adEtaN(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0021       _RL adGu(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0022       _RL adGv(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0023       _RL adSalt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0024       _RL adTheta(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0025       _RL adUvel(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0026       _RL adVvel(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0027       _RL adWvel(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
83375a2e02 Jean*0028 #ifdef ALLOW_ADAMSBASHFORTH_3
99a99bb452 Jean*0029       _RL adGtNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
                0030       _RL adGsNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
                0031       _RL adGuNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
                0032       _RL adGvNm(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy,2)
507fbacc22 Gael*0033 #else
99a99bb452 Jean*0034       _RL adGtNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0035       _RL adGsNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0036       _RL adGuNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0037       _RL adGvNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
507fbacc22 Gael*0038 #endif
83ffdb2b88 Patr*0039 
99a99bb452 Jean*0040       COMMON /adDYNVARS_R_2/
                0041      &                     adEtaH
                0042       _RL adEtaH(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
832d5360e3 Patr*0043 
751c7f53a4 Patr*0044 #ifdef ALLOW_AUTODIFF_MONITOR_DIAG
99a99bb452 Jean*0045 C Special Care: more forward vars in FWD common block ; check TAF AD-code !
                0046       COMMON /adDYNVARS_DIAG/
                0047      &                     adRhoInSitu, adTotPhihyd
                0048       _RL adRhoInSitu(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0049       _RL adTotPhiHyd(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0050 #endif
                0051 
                0052 #ifdef ALLOW_DIFFKR_CONTROL
                0053       COMMON /adDYNVARS_DIFFKR/
                0054      &                       adDiffKr
                0055       _RL  adDiffKr (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
751c7f53a4 Patr*0056 #endif
                0057 
0a9ee580a2 Patr*0058 #ifdef ALLOW_CD_CODE
99a99bb452 Jean*0059       COMMON /adDYNVARS_CD/
                0060      &                      adUvelD, adVvelD,
                0061      &                      adEtaNm1,
                0062      &                      adUnm1, adVnm1
                0063       _RL adUvelD(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0064       _RL adVvelD(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0065       _RL adEtaNm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0066       _RL adUnm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0067       _RL adVnm1(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
0a9ee580a2 Patr*0068 #endif
4813417b41 Patr*0069 
99a99bb452 Jean*0070       COMMON /adFFIELDS_fu/ adFu
                0071       COMMON /adFFIELDS_fv/ adFv
                0072       COMMON /adFFIELDS_Qnet/ adQnet
                0073       COMMON /adFFIELDS_Qsw/ adQsw
                0074       COMMON /adFFIELDS_EmPmR/ adEmPmR
                0075       COMMON /adFFIELDS_saltFlux/ adSaltFlux
                0076       COMMON /adFFIELDS_SST/ adSST
                0077       COMMON /adFFIELDS_SSS/ adSSS
                0078       COMMON /adFFIELDS_lambdaThetaClimRelax/ adLambdaThetaClimRelax
                0079       COMMON /adFFIELDS_lambdaSaltClimRelax/ adLambdaSaltClimRelax
                0080       _RS  adFu       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0081       _RS  adFv       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96243313d2 Patr*0082       _RS  adQnet     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0083       _RS  adQsw      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0084       _RS  adEmPmR    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0085       _RS  adSaltFlux (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96243313d2 Patr*0086       _RS  adSST      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0087       _RS  adSSS      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0088       _RS  adLambdaThetaClimRelax
96243313d2 Patr*0089      &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0090       _RS  adLambdaSaltClimRelax
96243313d2 Patr*0091      &    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
d78823287a Jean*0092 
96243313d2 Patr*0093 #ifdef ATMOSPHERIC_LOADING
99a99bb452 Jean*0094       COMMON /adFFIELDS_pload/ adPload
                0095       COMMON /adFFIELDS_sIceLoad/ adSIceLoad
                0096       _RS  adPload    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0097       _RS  adSIceLoad (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
96243313d2 Patr*0098 #endif
99a99bb452 Jean*0099 #ifdef ALLOW_EDDYPSI_CONTROL
                0100       _RS adEddyPsiX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0101       _RS adEddyPsiY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0102       COMMON /adFFIELDS_eddyPsi_RS/ adEddyPsiX, adEddyPsiY
9274434acc Jean*0103 #endif
99a99bb452 Jean*0104 
5116830959 Patr*0105 #ifdef ALLOW_KAPGM_CONTROL
94a8024bbe Jean*0106       COMMON /adGM_INP_K3D_GM/
99a99bb452 Jean*0107      &                       adKapGM
                0108       _RL  adKapGM (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
5116830959 Patr*0109 #endif
7e2482cabc Gael*0110 #ifdef ALLOW_KAPREDI_CONTROL
94a8024bbe Jean*0111       COMMON /adGM_INP_K3D_REDI/
99a99bb452 Jean*0112      &                       adKapRedi
                0113       _RL  adKapRedi (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
83375a2e02 Jean*0114 #endif
bad79706a2 Gael*0115 #ifdef ALLOW_BOTTOMDRAG_CONTROL
99a99bb452 Jean*0116       COMMON /adCTRL_FIELDS_BOTTOMDRAG/
                0117      &                adBottomDragFld
                0118       _RL  adBottomDragFld (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
ac957095b5 Patr*0119 #endif
d16bbb9f5b Patr*0120 
0a9ee580a2 Patr*0121 #ifdef ALLOW_EXF
fb247706a7 Patr*0122 
d08a688a34 Jean*0123       _RL adustress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0124       _RL advstress(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0125       COMMON /adexf_stress_r/ adustress, advstress
83375a2e02 Jean*0126 
d08a688a34 Jean*0127       _RL adwspeed(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0128       COMMON /adexf_wspeed_r/ adwspeed
fb247706a7 Patr*0129 
99a99bb452 Jean*0130       _RL aduwind     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0131       _RL advwind     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0132       COMMON /adexf_atm_wind_r/ aduwind, advwind
                0133 
                0134       _RL adhflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0135       _RL adsflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0136       COMMON /adexf_netflux_r/ adhflux, adsflux
e01fb501bf An T*0137 
34a7c76e08 Patr*0138 # ifdef ALLOW_ATM_TEMP
d08a688a34 Jean*0139       _RL adatemp     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0140       _RL adaqh       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0141       _RL adhs        (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0142       _RL adhl        (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0143       _RL adlwflux    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0144       _RL adevap      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0145       _RL adprecip    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0146       _RL adsnowprecip(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0147       COMMON /adexf_atm_temp_r/ adatemp, adaqh, adhs, adhl,
d78823287a Jean*0148      & adlwflux, adevap, adprecip, adsnowprecip
                0149 # endif /* ALLOW_ATM_TEMP */
99a99bb452 Jean*0150 # if defined(ALLOW_ATM_TEMP) || defined(SHORTWAVE_HEATING)
                0151       _RL adswflux    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0152       COMMON /adexf_swflux_r/ adswflux
                0153 # endif
34a7c76e08 Patr*0154 # ifdef ALLOW_DOWNWARD_RADIATION
d08a688a34 Jean*0155       _RL adswdown    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0156       _RL adlwdown    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0157       COMMON /adexf_rad_down_r/ adswdown, adlwdown
                0158 # endif
                0159 
                0160 # ifdef ALLOW_RUNOFF
                0161       _RL adrunoff    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0162       _RL adrunoff0   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0163       _RL adrunoff1   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0164       COMMON /exfl_runoff_r_ad/ adrunoff, adrunoff0, adrunoff1
34a7c76e08 Patr*0165 # endif
99a99bb452 Jean*0166 
b56b667948 Patr*0167 # ifdef ALLOW_CLIMSST_RELAXATION
d08a688a34 Jean*0168       _RL adclimsst(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0169       COMMON /adexf_clim_sst_r/ adclimsst
b56b667948 Patr*0170 # endif
                0171 # ifdef ALLOW_CLIMSSS_RELAXATION
d08a688a34 Jean*0172       _RL adclimsss(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0173       COMMON /adexf_clim_sss_r/ adclimsss
b56b667948 Patr*0174 # endif
fb247706a7 Patr*0175 
                0176 #endif /* ALLOW_EXF */
0a9ee580a2 Patr*0177 
f2ec7cf2fc Patr*0178 #ifdef ALLOW_SEAICE
d08a688a34 Jean*0179       _RL adarea  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0180       _RL adheff  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0181       _RL adhsnow (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0182       _RL aduice  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0183       _RL advice  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0184       COMMON /adSEAICE_DYNVARS_1/
50f21b0e6c Mart*0185      &     adarea, adheff, adhsnow, aduice, advice
fb247706a7 Patr*0186 # ifdef SEAICE_VARIABLE_SALINITY
                0187       _RL adhsalt (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0188       COMMON /adSEAICE_SALINITY_R/ adhsalt
fb247706a7 Patr*0189 # endif
                0190 #endif /* ALLOW_SEAICE */
f2ec7cf2fc Patr*0191 
1eb2e43256 Gael*0192 #ifdef ALLOW_GGL90
99a99bb452 Jean*0193       _RL adGGL90TKE     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
                0194 c     _RL adGGL90viscArU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nr,nSx,nSy)
                0195 c     _RL adGGL90viscArV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nr,nSx,nSy)
                0196 c     _RL adGGL90diffKr  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nr,nSx,nSy)
                0197       COMMON /adGGL90_FIELDS/ adGGL90TKE
                0198 c    &      , adGGL90viscArU, adGGL90viscArV, adGGL90diffKr
1eb2e43256 Gael*0199 #endif
                0200 
616600b8d2 Patr*0201 #ifdef ALLOW_DEPTH_CONTROL
99a99bb452 Jean*0202 C Special Care: more forward vars in FWD common block ; check TAF AD-code !
                0203       _RS adhfacc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
                0204       _RS adhfacs(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
                0205       _RS adhfacw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
                0206       _RS adrecip_hfacc(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
                0207       _RS adrecip_hfacs(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
                0208       _RS adrecip_hfacw(1-OLx:sNx+OLx,1-OLy:sNy+OLy,1:Nr,nSx,nSy)
1c2b1fa3bc Mart*0209       _RS adr_low     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0210       _RS adrecip_rcol(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0211       COMMON /adGRID_VAR_RS/
                0212      &     adhfacc, adhfacw, adhfacs,
                0213      &     adrecip_hfacc, adrecip_hfacw, adrecip_hfacs,
                0214      &     adr_low, adrecip_rcol
616600b8d2 Patr*0215 #endif /* ALLOW_DEPTH_CONTROL */
                0216 
7b8b86ab99 Timo*0217 #ifdef ALLOW_SHELFICE
99a99bb452 Jean*0218 C Special Care: more forward vars in FWD common block ; check TAF AD-code !
7b8b86ab99 Timo*0219       _RL adshelficeforcings(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0220       _RL adshelficeforcingt(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0221       _RL adshelficemass    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0222       _RL adshicdragfld     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0223       _RL adshidragquadfld  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0224       _RL adshitranscoeffs  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0225       _RL adshitranscoefft  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
99a99bb452 Jean*0226       COMMON /adSHELFICE_FIELDS_RL/ adshelficemass,
aecc8b0f47 Mart*0227      &  adshelficeforcingt, adshelficeforcings, adshitranscoefft,
7b8b86ab99 Timo*0228      &  adshitranscoeffs, adshicdragfld, adshidragquadfld
                0229 #endif
aecc8b0f47 Mart*0230 
d1d6b963cf Patr*0231 #endif /* ALLOW_AUTODIFF_MONITOR */