170 |
_RL HEFFITDpreTH (1:sNx,1:sNy,1:nITD) |
_RL HEFFITDpreTH (1:sNx,1:sNy,1:nITD) |
171 |
_RL HSNWITDpreTH (1:sNx,1:sNy,1:nITD) |
_RL HSNWITDpreTH (1:sNx,1:sNy,1:nITD) |
172 |
_RL areaFracFactor (1:sNx,1:sNy,1:nITD) |
_RL areaFracFactor (1:sNx,1:sNy,1:nITD) |
|
_RL leadIceThickMin |
|
173 |
#endif |
#endif |
174 |
|
|
175 |
C wind speed |
C wind speed |
194 |
#ifdef SEAICE_ITD |
#ifdef SEAICE_ITD |
195 |
_RL r_QbyATMmult_cover (1:sNx,1:sNy,MULTDIM) |
_RL r_QbyATMmult_cover (1:sNx,1:sNy,MULTDIM) |
196 |
_RL r_FWbySublimMult (1:sNx,1:sNy,MULTDIM) |
_RL r_FWbySublimMult (1:sNx,1:sNy,MULTDIM) |
197 |
|
c for lateral melt parameterization: |
198 |
|
_RL latMeltFrac (1:sNx,1:sNy,MULTDIM) |
199 |
|
_RL latMeltRate (1:sNx,1:sNy,MULTDIM) |
200 |
|
_RL floeAlpha |
201 |
|
_RL floeDiameter |
202 |
|
_RL floeDiameterMin |
203 |
|
_RL floeDiameterMax |
204 |
#endif |
#endif |
205 |
|
|
206 |
C a_QbyATM_cover :: available heat (in W/m^2) due to the interaction of |
C a_QbyATM_cover :: available heat (in W/m^2) due to the interaction of |
358 |
C conversion factors to go from precip (m/s) unit to HEFF (ice meters) |
C conversion factors to go from precip (m/s) unit to HEFF (ice meters) |
359 |
convertPRECIP2HI=SEAICE_deltaTtherm*rhoConstFresh/SEAICE_rhoIce |
convertPRECIP2HI=SEAICE_deltaTtherm*rhoConstFresh/SEAICE_rhoIce |
360 |
convertHI2PRECIP = ONE/convertPRECIP2HI |
convertHI2PRECIP = ONE/convertPRECIP2HI |
361 |
|
#ifdef SEAICE_ITD |
362 |
|
c constants for lateral melt parameterization: |
363 |
|
c following Steele (1992), Equ. 2 |
364 |
|
floeAlpha = 0.66 _d 0 |
365 |
|
c typical mean diameter used in CICE 4.1: |
366 |
|
c floeDiameter = 300. _d 0 |
367 |
|
c parameters needed for variable floe diameter following Luepkes et al. (2012): |
368 |
|
floeDiameterMin = 8. _d 0 |
369 |
|
floeDiameterMax = 300. _d 0 |
370 |
|
#endif |
371 |
|
|
372 |
DO bj=myByLo(myThid),myByHi(myThid) |
DO bj=myByLo(myThid),myByHi(myThid) |
373 |
DO bi=myBxLo(myThid),myBxHi(myThid) |
DO bi=myBxLo(myThid),myBxHi(myThid) |
456 |
d_HSNWbyRAIN_ITD(I,J,IT) = 0.0 _d 0 |
d_HSNWbyRAIN_ITD(I,J,IT) = 0.0 _d 0 |
457 |
d_HSNWbyOCNonSNW_ITD(I,J,IT) = 0.0 _d 0 |
d_HSNWbyOCNonSNW_ITD(I,J,IT) = 0.0 _d 0 |
458 |
d_HEFFbyFLOODING_ITD(I,J,IT) = 0.0 _d 0 |
d_HEFFbyFLOODING_ITD(I,J,IT) = 0.0 _d 0 |
459 |
r_QbyATMmult_cover(I,J,IT) = 0.0 _d 0 |
r_QbyATMmult_cover(I,J,IT) = 0.0 _d 0 |
460 |
r_FWbySublimMult(I,J,IT) = 0.0 _d 0 |
r_FWbySublimMult(I,J,IT) = 0.0 _d 0 |
461 |
|
c for lateral melt parameterization: |
462 |
|
latMeltFrac(I,J,IT) = 0.0 _d 0 |
463 |
|
latMeltRate(I,J,IT) = 0.0 _d 0 |
464 |
#endif |
#endif |
465 |
ENDDO |
ENDDO |
466 |
ENDDO |
ENDDO |
1331 |
ENDDO |
ENDDO |
1332 |
ENDDO |
ENDDO |
1333 |
|
|
1334 |
|
#ifdef SEAICE_ITD |
1335 |
|
C determine lateral melt rate at floe edges based on an |
1336 |
|
C average floe diameter or a floe size distribution |
1337 |
|
C following Steele (1992, Tab. 2) |
1338 |
|
C ====================================================== |
1339 |
|
DO J=1,sNy |
1340 |
|
DO I=1,sNx |
1341 |
|
tmpscal1=(theta(I,J,kSurface,bi,bj)-tempFrz) |
1342 |
|
tmpscal2=sqrt(0.87 + 0.067*UG(i,j)) * UG(i,j) |
1343 |
|
c |
1344 |
|
c variable floe diameter following Luepkes et al. (2012, JGR, Equ. 26) with beta=1 |
1345 |
|
tmpscal3=ONE/(ONE-(floeDiameterMin/floeDiameterMax)) |
1346 |
|
floeDiameter = floeDiameterMin |
1347 |
|
& * (tmpscal3 / (tmpscal3-AREApreTH(I,J))) |
1348 |
|
DO IT=1,nITD |
1349 |
|
C following the idea of SEAICE_areaLossFormula == 1: |
1350 |
|
IF (r_QbyATMmult_cover(i,j,it).LT.ZERO .OR. |
1351 |
|
& r_QbyATM_open(i,j) .LT.ZERO .OR. |
1352 |
|
& r_QbyOCN(i,j) .LT.ZERO) THEN |
1353 |
|
c lateral melt rate as suggested by Perovich, 1983 (PhD thesis) |
1354 |
|
c latMeltRate(i,j,it) = 1.6 _d -6 * tmpscal1**1.36 |
1355 |
|
c lateral melt rate as suggested by Maykut and Perovich, 1987 (JGR 92(C7)), Equ. 24 |
1356 |
|
c latMeltRate(i,j,it) = 13.5 _d -6 * tmpscal2 * tmpscal1**1.3 |
1357 |
|
c further suggestion by Maykut and Perovich to avoid latMeltRate -> 0 for UG -> 0 |
1358 |
|
latMeltRate(i,j,it) = (1.6 _d -6 + 13.5 _d -6 * tmpscal2) |
1359 |
|
& * tmpscal1**1.3 |
1360 |
|
c factor determining fraction of area and ice volume reduction |
1361 |
|
c due to lateral melt |
1362 |
|
latMeltFrac(i,j,it) = |
1363 |
|
& latMeltRate(i,j,it)*SEAICE_deltaTtherm*PI / |
1364 |
|
& (floeAlpha * floeDiameter) |
1365 |
|
latMeltFrac(i,j,it)=max(ZERO, min(latMeltFrac(i,j,it),ONE)) |
1366 |
|
print*,'latMelt',it,tmpscal1,latMeltRate(i,j,it), |
1367 |
|
& areaitd(i,j,it,bi,bj),latMeltFrac(i,j,it) |
1368 |
|
ELSE |
1369 |
|
c latMeltRate(i,j,it)=0.0 _d 0 |
1370 |
|
latMeltFrac(i,j,it)=0.0 _d 0 |
1371 |
|
print*,'latMelt',it,' 0.0 0.0 ', |
1372 |
|
& areaitd(i,j,it,bi,bj),latMeltFrac(i,j,it) |
1373 |
|
ENDIF |
1374 |
|
ENDDO |
1375 |
|
ENDDO |
1376 |
|
ENDDO |
1377 |
|
#endif |
1378 |
|
|
1379 |
#if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ) |
#if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ) |
1380 |
CALL ZERO_ADJ_1D( sNx*sNy, r_QbyOCN, myThid) |
CALL ZERO_ADJ_1D( sNx*sNy, r_QbyOCN, myThid) |
1381 |
#endif |
#endif |
2060 |
DO I=1,sNx |
DO I=1,sNx |
2061 |
IF (HEFFITD(I,J,IT,bi,bj).LE.ZERO) THEN |
IF (HEFFITD(I,J,IT,bi,bj).LE.ZERO) THEN |
2062 |
AREAITD(I,J,IT,bi,bj)=ZERO |
AREAITD(I,J,IT,bi,bj)=ZERO |
2063 |
|
ELSE |
2064 |
|
c melt ice laterally based on an average floe sice |
2065 |
|
c following Steele (1992) |
2066 |
|
AREAITD(I,J,IT,bi,bj) = AREAITD(I,J,IT,bi,bj) |
2067 |
|
& * (ONE - latMeltFrac(I,J,IT)) |
2068 |
|
AREAITD(I,J,IT,bi,bj) = max(ZERO,AREAITD(I,J,IT,bi,bj)) |
2069 |
ENDIF |
ENDIF |
2070 |
ENDDO |
ENDDO |
2071 |
ENDDO |
ENDDO |