File indexing completed on 2024-10-18 05:11:21 UTC
view on githubraw file Latest commit 5bb179dd on 2024-10-17 18:00:27 UTC
fefe253d88 Dimi*0001
0002
0003
0004
3c80412959 Jean*0005
0006
0007
0008
0009
809c36b928 Patr*0010
3c80412959 Jean*0011
0012
0013
0014
0015
0016
0017
460cb5f999 Dimi*0018
3c80412959 Jean*0019
0020
0021
0022
0023
0024
0025
0026
0027
fefe253d88 Dimi*0028
0029
b61db21361 Mart*0030
0031
8377b8ee87 Mart*0032
0033
0034
ec0d7df165 Mart*0035 COMMON/ARRAY/HEFFM, SIMaskU, SIMaskV
772590b63c Mart*0036 _RL HEFFM (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
ec0d7df165 Mart*0037 _RL SIMaskU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0038 _RL SIMaskV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0039
0040 #if ( defined SEAICE_CGRID || defined SEAICE_BGRID_DYNAMICS )
0041 COMMON/ARRAYMETRIC/ k1AtC, k2AtC
0042 _RS k1AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0043 _RS k2AtC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0044 #endif
0045
b61db21361 Mart*0046 #ifdef SEAICE_CGRID
0047 COMMON/ARRAYC/ seaiceMaskU, seaiceMaskV
ec0d7df165 Mart*0048
772590b63c Mart*0049 _RL seaiceMaskU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0050 _RL seaiceMaskV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
b61db21361 Mart*0051
0052
45315406aa Mart*0053 COMMON/ARRAYCMETRIC/ k1AtZ, k2AtZ
772590b63c Mart*0054 _RS k1AtZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0055 _RS k2AtZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0056 #endif /* SEAICE_CGRID */
0057
0058 #ifdef SEAICE_BGRID_DYNAMICS
8377b8ee87 Mart*0059
b61db21361 Mart*0060 COMMON/ARRAYB/ UVM
48474b8e08 Jean*0061 _RS UVM (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
e1d2983c5b Mart*0062
0063
45315406aa Mart*0064 COMMON/ARRAYBMETRIC/ k1AtU, k1AtV, k2AtU, k2AtV
48474b8e08 Jean*0065 _RS k1AtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0066 _RS k1AtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0067 _RS k2AtU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0068 _RS k2AtV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0069 #endif /* SEAICE_BGRID_DYNAMICS */
b61db21361 Mart*0070
0071
45315406aa Mart*0072 COMMON/SEAICE_DYNVARS_1/
0073 & AREA, HEFF, HSNOW, UICE, VICE
0074 _RL AREA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0075 _RL HEFF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0076 _RL HSNOW (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0077 _RL UICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0078 _RL VICE (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0079
0080
0081
0082 COMMON/SEAICE_DYNVARS_2/
0083 & DWATN,
0084 & uIceNm1, vIceNm1
0085 _RL DWATN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0086 _RL uIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0087 _RL vIceNm1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0088
86b84a92fc Patr*0089 #ifdef SEAICE_ITD
45315406aa Mart*0090 COMMON/SEAICE_DYNVARS_ITD/
0091 & AREAITD, HEFFITD, HSNOWITD,
0092 & opnWtrFrac, fw2ObyRidge
8377b8ee87 Mart*0093
0094
0095
0096
0097
0098
0099
86b84a92fc Patr*0100 _RL AREAITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
0101 _RL HEFFITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
0102 _RL HSNOWITD (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
b1ac83383d Mart*0103 _RL opnWtrFrac (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
d445b0e4a7 Mart*0104 _RL fw2ObyRidge(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
f913c5a485 Mart*0105 #endif /* SEAICE_ITD */
4b1ace36e3 Mart*0106
45315406aa Mart*0107 #ifdef SEAICE_CGRID
0108
0109 COMMON /SEAICE_STRESSDIV/
0110 & stressDivergenceX, stressDivergenceY
0111 _RL stressDivergenceX(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0112 _RL stressDivergenceY(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0113 # ifdef SEAICE_ALLOW_EVP
0114
0115
0116
0117
0118
0119 COMMON /SEAICE_EVP_FIELDS/
0120 & seaice_sigma1, seaice_sigma2, seaice_sigma12
0121 _RL seaice_sigma1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0122 _RL seaice_sigma2 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0123 _RL seaice_sigma12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0124 # endif /* SEAICE_ALLOW_EVP */
0125 #endif
0126
0127 #if ( defined SEAICE_CGRID || defined SEAICE_BGRID_DYNAMICS )
8377b8ee87 Mart*0128
0129
0130
0131
0132
0133
0134
0135
45315406aa Mart*0136
065b1424ce Patr*0137 COMMON/SEAICE_DYNVARS_3/
45315406aa Mart*0138 & ETA, etaZ, ZETA, zetaZ, PRESS, tensileStrFac,
0139 & e11, e22, e12, deltaC,
0140 & FORCEX,FORCEY
0141
772590b63c Mart*0142 _RL ETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
5ee9d8ba4b Mart*0143 _RL etaZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
772590b63c Mart*0144 _RL ZETA (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
1459e8fe5a Mart*0145 _RL zetaZ (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7bdcfa8e6c Mart*0146
772590b63c Mart*0147 _RL PRESS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0148 _RL tensileStrFac(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7bdcfa8e6c Mart*0149
772590b63c Mart*0150 _RL e11 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0151 _RL e22 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0152 _RL e12 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
36fa289698 Mart*0153 _RL deltaC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7bdcfa8e6c Mart*0154
772590b63c Mart*0155 _RL FORCEX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0156 _RL FORCEY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
2f88b60189 Mart*0157
8377b8ee87 Mart*0158
0159
8e32c48b8f Mart*0160
8377b8ee87 Mart*0161 COMMON/SEAICE_DYNVARS_4/
45315406aa Mart*0162 & PRESS0, FORCEX0, FORCEY0, SEAICE_zMax, SEAICE_zMin
0163 _RL PRESS0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0164 _RL FORCEX0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0165 _RL FORCEY0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0166 _RL SEAICE_zMax(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0167 _RL SEAICE_zMin(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0168 #endif
8377b8ee87 Mart*0169
0170 #ifdef SEAICE_CGRID
0171
2f88b60189 Mart*0172 COMMON/SEAICE_DYNVARS_CGRID/
2f5e8addfd Mart*0173 & seaiceMassC, seaiceMassU, seaiceMassV
0174 _RL seaiceMassC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0175 _RL seaiceMassU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0176 _RL seaiceMassV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
8377b8ee87 Mart*0177 # ifdef SEAICE_ALLOW_FREEDRIFT
0178
0179 COMMON /SEAICE_FD_FIELDS/
0180 & uice_fd, vice_fd
0181 _RL uice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0182 _RL vice_fd (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0183 # endif
809c36b928 Patr*0184
8377b8ee87 Mart*0185 # ifdef SEAICE_ALLOW_BOTTOMDRAG
0186
abb637800a Mart*0187 COMMON/SEAICE_BOTTOMDRAG/ CbotC
0188 _RL CbotC (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
8377b8ee87 Mart*0189 # endif /* SEAICE_ALLOW_BOTTOMDRAG */
0190
5bb179ddc2 Mart*0191 # ifdef SEAICE_ALLOW_SIDEDRAG
0192
0193
0194
0195
0196
0197 COMMON/SEAICE_SIDEDRAG/ sideDragU, sideDragV,
0198 & coastRoughU, coastRoughV
0199 _RL sideDragU (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0200 _RL sideDragV (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0201 _RL coastRoughU(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0202 _RL coastRoughV(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0203 # endif /* SEAICE_ALLOW_SIDEDRAG */
0204
45315406aa Mart*0205 # if ( defined SEAICE_ALLOW_JFNK || defined SEAICE_ALLOW_KRYLOV )
8377b8ee87 Mart*0206
0207 INTEGER totalNewtonIters
0208 INTEGER totalNewtonFails
0209 INTEGER totalKrylovIters
0210 INTEGER totalKrylovFails
0211 INTEGER totalJFNKtimeSteps
0212 COMMON /SEAICE_SOLVER_I/
0213 & totalNewtonIters, totalNewtonFails,
0214 & totalKrylovIters, totalKrylovFails,
0215 & totalJFNKtimeSteps
45315406aa Mart*0216
8377b8ee87 Mart*0217 INTEGER nVec
0218 PARAMETER ( nVec=2*sNx*sNy )
0219 _RL scalarProductMetric( nVec, 1, nSx, nSy )
0220 COMMON /SEAICE_KRYLOV_RL/ scalarProductMetric
0221 # endif /* SEAICE_ALLOW_JFNK or SEAICE_ALLOW_KRYLOV */
0222
45315406aa Mart*0223 #endif /* SEAICE_CGRID */
0224
0225 #ifdef SEAICE_BGRID_DYNAMICS
8377b8ee87 Mart*0226
0227
45315406aa Mart*0228
0229
0230
0231 COMMON/SEAICE_DYNVARS_BGRID/ AMASS, DAIRN, uIceB, vIceB
8377b8ee87 Mart*0232 _RL AMASS (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0233 _RL DAIRN (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0234 _RL uIceB (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0235 _RL vIceB (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
8377b8ee87 Mart*0236
0237 COMMON/WIND_STRESS_OCE/WINDX,WINDY
0238
0239
0240 _RL WINDX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0241 _RL WINDY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0242
0243
0244 COMMON/GWATXY/GWATX,GWATY
0245 _RL GWATX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0246 _RL GWATY (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0247
0248
0249 COMMON/SEAICE_KGEO/KGEO
0250 INTEGER KGEO (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
45315406aa Mart*0251 #endif /* SEAICE_BGRID_DYNAMICS */
53092bcb42 Mart*0252
1cf549c217 Mart*0253 COMMON/SEAICE_REG_NEG/d_HEFFbyNEG,d_HSNWbyNEG
0254
0255
0256 _RL d_HEFFbyNEG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0257 _RL d_HSNWbyNEG (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
ccbdcd2957 Jean*0258
1cf549c217 Mart*0259 #ifdef EXF_SEAICE_FRACTION
0260 COMMON/SEAICE_RELAX/d_AREAbyRLX,d_HEFFbyRLX
0261
0262 _RL d_AREAbyRLX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0263
0264 _RL d_HEFFbyRLX (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0265 #endif /* EXF_SEAICE_FRACTION */
8377b8ee87 Mart*0266
a98c4b8072 Ian *0267 #ifdef SEAICE_VARIABLE_SALINITY
8377b8ee87 Mart*0268
0269
0270
1cf549c217 Mart*0271 COMMON/SEAICE_SALINITY_R/HSALT, saltFluxAdjust
0272 _RL HSALT (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0273 _RL saltFluxAdjust(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0274 #endif /* SEAICE_VARIABLE_SALINITY */
fdfa8e151f Dimi*0275
8377b8ee87 Mart*0276
0277
0278
14ff2fe9e4 Dimi*0279 COMMON/ICEFLUX/ saltWtrIce, frWtrIce
772590b63c Mart*0280 _RL saltWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
0281 _RL frWtrIce (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
1cfef3b6ad Patr*0282
5e0369b6fa Mart*0283
89a0cb7c99 Mart*0284 COMMON/MULTICATEGORY/TICES
f913c5a485 Mart*0285 _RL TICES (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nITD,nSx,nSy)
6c847351e2 Patr*0286
8e32c48b8f Mart*0287
0288
0289
0290
0291
0292
0293
0294
0295 _RL SEAICE_SWFrac
95029569c8 Patr*0296 COMMON /SEAICE_SW_R/
8e32c48b8f Mart*0297 & SEAICE_SWFrac
95029569c8 Patr*0298
9a87ea5e43 Ed H*0299
0300
0301