/[MITgcm]/MITgcm_contrib/torge/itd/code/seaice_growth.F
ViewVC logotype

Diff of /MITgcm_contrib/torge/itd/code/seaice_growth.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.16 by torge, Wed Mar 27 18:59:52 2013 UTC revision 1.17 by torge, Wed Apr 10 00:35:33 2013 UTC
# Line 170  C     AREA_PRE :: hold sea-ice fraction Line 170  C     AREA_PRE :: hold sea-ice fraction
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
# Line 195  C     temporary variables available for Line 194  C     temporary variables available for
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
# Line 352  C conversion factors to go from Q (W/m2) Line 358  C conversion factors to go from Q (W/m2)
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)
# Line 440  C ===================== Line 456  C =====================
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
# Line 1312  C available turbulent flux Line 1331  C available turbulent flux
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
# Line 1996  C       i.e. change sin AREA only occur Line 2060  C       i.e. change sin AREA only occur
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

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17

  ViewVC Help
Powered by ViewVC 1.1.22