/[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.8 by torge, Mon Oct 22 16:02:25 2012 UTC revision 1.9 by torge, Mon Oct 22 16:36:45 2012 UTC
# Line 58  C     !FUNCTIONS: Line 58  C     !FUNCTIONS:
58    
59  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
60  C     === Local variables ===  C     === Local variables ===
61    #ifdef SEAICE_DEBUG
62  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
63  C     msgBuf      :: Informational/error message buffer  C     msgBuf      :: Informational/error message buffer
64        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
65  c ToM>>>  c ToM>>>
66    #endif
67  C  C
68  C unit/sign convention:  C unit/sign convention:
69  C    Within the thermodynamic computation all stocks, except HSNOW,  C    Within the thermodynamic computation all stocks, except HSNOW,
# Line 664  C    and update AREA, HEFF, and HSNOW Line 666  C    and update AREA, HEFF, and HSNOW
666          CALL SEAICE_ITD_REDIST(bi, bj, myTime, myIter, myThid)          CALL SEAICE_ITD_REDIST(bi, bj, myTime, myIter, myThid)
667          CALL SEAICE_ITD_SUM(bi, bj, myTime, myIter, myThid)          CALL SEAICE_ITD_SUM(bi, bj, myTime, myIter, myThid)
668    
669    #ifdef SEAICE_DEBUG
670  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
671          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
672       &    ' SEAICE_GROWTH: Heff increments 0, HEFFITD = ',       &    ' SEAICE_GROWTH: Heff increments 0, HEFFITD = ',
# Line 675  c ToM<<< debug seaice_growth Line 678  c ToM<<< debug seaice_growth
678       &     AREAITD(1,1,:,bi,bj)       &     AREAITD(1,1,:,bi,bj)
679          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
680       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
681    #endif
682  #else  #else
683    #ifdef SEAICE_DEBUG
684          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
685       &    ' SEAICE_GROWTH: Heff increments 0, HEFF = ',       &    ' SEAICE_GROWTH: Heff increments 0, HEFF = ',
686       &     HEFF(1,1,bi,bj)       &     HEFF(1,1,bi,bj)
# Line 687  c ToM<<< debug seaice_growth Line 692  c ToM<<< debug seaice_growth
692          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
693       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
694  c ToM>>>  c ToM>>>
695    #endif
696  #endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
697  #if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ)  #if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ)
698  C        end SEAICEadjMODE.EQ.0 statement:  C        end SEAICEadjMODE.EQ.0 statement:
# Line 971  cCADJ STORE TmixLoc = comlev1_bibj, key Line 977  cCADJ STORE TmixLoc = comlev1_bibj, key
977       I       TmixLoc,       I       TmixLoc,
978       O       a_QbyATM_open, a_QSWbyATM_open,       O       a_QbyATM_open, a_QSWbyATM_open,
979       I       bi, bj, myTime, myIter, myThid )       I       bi, bj, myTime, myIter, myThid )
 c ToM<<< debugging  
         print*,' '  
         print*,'UG = ',UG(1,1)  
         print*,'Tsurf = ',TmixLoc(1,1)  
         print*,'a_QbyATM_open = ',a_QbyATM_open(1,1)  
         print*,' '  
 c ToM>>>  
980    
981  C determine available heat due to the atmosphere -- for ice covered water  C determine available heat due to the atmosphere -- for ice covered water
982  C =======================================================================  C =======================================================================
# Line 1130  C     (fluxes are per unit (ice surface) Line 1129  C     (fluxes are per unit (ice surface)
1129            ENDDO            ENDDO
1130           ENDDO           ENDDO
1131          ENDDO          ENDDO
 c ToM<<< debugging  
         print*,' '  
         print*,'after SOLVE4TEMP: '  
         print*,'TICE  = ',TICE(1,1,bi,bj)  
         print*,'TICES = ',TICES(1,1,:,bi,bj)  
         print*,'a_QSWbyATM_cover     = ',a_QSWbyATM_cover(1,1)  
         print*,'a_QSWbyATMmult_cover = ',a_QSWbyATMmult_cover(1,1,:)  
         print*,' '  
 c ToM>>>  
1132    
1133  #ifdef SEAICE_CAP_SUBLIM  #ifdef SEAICE_CAP_SUBLIM
1134  # ifdef ALLOW_DIAGNOSTICS  # ifdef ALLOW_DIAGNOSTICS
# Line 1304  c available turbulent flux Line 1294  c available turbulent flux
1294            a_QbyOCN(i,j) =            a_QbyOCN(i,j) =
1295       &         tmpscal1 * tmpscal2 * MixedLayerTurbulenceFactor       &         tmpscal1 * tmpscal2 * MixedLayerTurbulenceFactor
1296            r_QbyOCN(i,j) = a_QbyOCN(i,j)            r_QbyOCN(i,j) = a_QbyOCN(i,j)
 c ToM<<< debugging  
           if (i.eq.1 .and. j.eq.1) then  
             print *, 'salt [psu]     = ',salt(i,j,kSurface,bi,bj)  
             print *, 'theta [degC]   = ',theta(i,j,kSurface,bi,bj)  
             print *, 'tempFrz [degC] = ',tempFrz  
             print *, 'max turb flx [m]   = ',tmpscal2  
             print *, 'avail trub flx [m] = ',a_QbyOCN(i,j)  
           endif  
 c ToM>>>  
1297           ENDDO           ENDDO
1298          ENDDO          ENDDO
1299    
# Line 1398  C     remove the fusion part for the res Line 1379  C     remove the fusion part for the res
1379  C       end IT loop  C       end IT loop
1380          ENDDO          ENDDO
1381  #endif  #endif
1382    #ifdef SEAICE_DEBUG
1383  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1384          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1385  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1415  c ToM<<< debug seaice_growth Line 1397  c ToM<<< debug seaice_growth
1397          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1398       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1399  c ToM>>>  c ToM>>>
1400    #endif
1401    
1402  C compute ice thickness tendency due to ice-ocean interaction  C compute ice thickness tendency due to ice-ocean interaction
1403  C ===========================================================  C ===========================================================
# Line 1459  C          fractional area of each thick Line 1442  C          fractional area of each thick
1442           ENDDO           ENDDO
1443          ENDDO          ENDDO
1444  #endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
1445    #ifdef SEAICE_DEBUG
1446  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1447          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1448  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1476  c ToM<<< debug seaice_growth Line 1460  c ToM<<< debug seaice_growth
1460          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1461       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1462  c ToM>>>  c ToM>>>
1463    #endif
1464    
1465  C compute snow melt tendency due to snow-atmosphere interaction  C compute snow melt tendency due to snow-atmosphere interaction
1466  C ==================================================================  C ==================================================================
# Line 1524  Cgf no additional dependency through sno Line 1509  Cgf no additional dependency through sno
1509           ENDDO           ENDDO
1510          ENDDO          ENDDO
1511  #endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
1512    #ifdef SEAICE_DEBUG
1513  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1514          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1515  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1541  c ToM<<< debug seaice_growth Line 1527  c ToM<<< debug seaice_growth
1527          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1528       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1529  c ToM>>>  c ToM>>>
1530    #endif
1531    
1532  C compute ice thickness tendency due to the atmosphere  C compute ice thickness tendency due to the atmosphere
1533  C ====================================================  C ====================================================
# Line 1606  c         Limit ice growth by potential Line 1593  c         Limit ice growth by potential
1593           ENDDO           ENDDO
1594          ENDDO          ENDDO
1595  #endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
1596    #ifdef SEAICE_DEBUG
1597  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1598          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1599  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1623  c ToM<<< debug seaice_growth Line 1611  c ToM<<< debug seaice_growth
1611          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1612       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1613  c ToM>>>  c ToM>>>
1614    #endif
1615    
1616  C attribute precip to fresh water or snow stock,  C attribute precip to fresh water or snow stock,
1617  C depending on atmospheric conditions.  C depending on atmospheric conditions.
# Line 1671  Cgf note: this does not affect air-sea h Line 1660  Cgf note: this does not affect air-sea h
1660  Cgf since the implied air heat gain to turn  Cgf since the implied air heat gain to turn
1661  Cgf rain to snow is not a surface process.  Cgf rain to snow is not a surface process.
1662  #endif /* ALLOW_ATM_TEMP */  #endif /* ALLOW_ATM_TEMP */
1663    #ifdef SEAICE_DEBUG
1664  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1665          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1666  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1688  c ToM<<< debug seaice_growth Line 1678  c ToM<<< debug seaice_growth
1678          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1679       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1680  c ToM>>>  c ToM>>>
1681    #endif
1682    
1683  C compute snow melt due to heat available from ocean.  C compute snow melt due to heat available from ocean.
1684  C =================================================================  C =================================================================
# Line 1735  Cgf no additional dependency through sno Line 1726  Cgf no additional dependency through sno
1726  #endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
1727  #endif /* SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING */  #endif /* SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING */
1728  Cph)  Cph)
1729    #ifdef SEAICE_DEBUG
1730  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1731          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1732  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1752  c ToM<<< debug seaice_growth Line 1744  c ToM<<< debug seaice_growth
1744          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1745       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1746  c ToM>>>  c ToM>>>
1747    #endif
1748    
1749  C gain of new ice over open water  C gain of new ice over open water
1750  C ===============================  C ===============================
# Line 1776  C           impose -HEFF as the maxmum m Line 1769  C           impose -HEFF as the maxmum m
1769  C           or 0. otherwise (no melting if not SEAICE_doOpenWaterMelt)  C           or 0. otherwise (no melting if not SEAICE_doOpenWaterMelt)
1770              tmpscal3=facOpenGrow*MAX(tmpscal1-tmpscal2,              tmpscal3=facOpenGrow*MAX(tmpscal1-tmpscal2,
1771       &           -HEFF(I,J,bi,bj)*facOpenMelt)*HEFFM(I,J,bi,bj)       &           -HEFF(I,J,bi,bj)*facOpenMelt)*HEFFM(I,J,bi,bj)
 c ToM<<< debugging  
             if (I.eq.1 .and. J.eq.1) then  
              print*,'r_QbyATM_open(I,J) = ', r_QbyATM_open(I,J)  
              print*,'r_QbyOCN(i,j) = ', r_QbyOCN(i,j)  
              print*,'1 - AREApreTH = ', (1.0 _d 0 - AREApreTH(I,J))  
              print*,'tmpscal1 = ', tmpscal1  
              print*,' '  
              print*,'SWFracB = ', SWFracB  
              print*,'a_QSWbyATM_open(I,J) = ', a_QSWbyATM_open(I,J)  
              print*,'tmpscal2 = ', tmpscal2  
              print*,' '  
              print*,'facOpenGrow = ', facOpenGrow  
              print*,'HEFF(I,J,bi,bj) = ', HEFF(I,J,bi,bj)  
              print*,'facOpenMelt = ', facOpenMelt  
              print*,'MAX = ', MAX(tmpscal1-tmpscal2,  
      &              -HEFF(I,J,bi,bj)*facOpenMelt)  
              print*,'HEFFM(I,J,bi,bj) = ', HEFFM(I,J,bi,bj)  
              print*,'tmpscal3 = ', tmpscal3  
              print*,' '  
             endif  
 c ToM>>>  
1772            d_HEFFbyATMonOCN_open(I,J)=tmpscal3            d_HEFFbyATMonOCN_open(I,J)=tmpscal3
1773            d_HEFFbyATMonOCN(I,J)=d_HEFFbyATMonOCN(I,J)+tmpscal3            d_HEFFbyATMonOCN(I,J)=d_HEFFbyATMonOCN(I,J)+tmpscal3
1774            r_QbyATM_open(I,J)=r_QbyATM_open(I,J)-tmpscal3            r_QbyATM_open(I,J)=r_QbyATM_open(I,J)-tmpscal3
1775  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
1776  cC         open water area fraction  C         open water area fraction
1777  c          tmpscal0 = ONE-AREApreTH(I,J)            tmpscal0 = ONE-AREApreTH(I,J)
1778  cC         determine thickness of new ice  C         determine thickness of new ice
1779  cctomC         considering the entire open water area to refreeze  ctomC         considering the entire open water area to refreeze
1780  cctom          tmpscal1 = tmpscal3/tmpscal0  ctom          tmpscal1 = tmpscal3/tmpscal0
1781  cC         considering a minimum lead ice thickness of 10 cm  C         considering a minimum lead ice thickness of 10 cm
1782  cC         WATCH that leadIceThickMin is smaller that Hlimit(1)!  C         WATCH that leadIceThickMin is smaller that Hlimit(1)!
1783  c          leadIceThickMin = 0.1            leadIceThickMin = 0.1
1784  c          tmpscal1 = MAX(leadIceThickMin,tmpscal3/tmpscal0)            tmpscal1 = MAX(leadIceThickMin,tmpscal3/tmpscal0)
1785  cC         adjust ice area fraction covered by new ice  C         adjust ice area fraction covered by new ice
1786  c         tmpscal0 = tmpscal3/tmpscal1            tmpscal0 = tmpscal3/tmpscal1
1787  cC         then add new ice volume to appropriate thickness category  C         then add new ice volume to appropriate thickness category
1788  c          DO IT=1,nITD            DO IT=1,nITD
1789  c          IF (tmpscal1.LT.Hlimit(IT)) THEN             IF (tmpscal1.LT.Hlimit(IT)) THEN
1790  c            HEFFITD(I,J,IT,bi,bj) = HEFFITD(I,J,IT,bi,bj) + tmpscal3              HEFFITD(I,J,IT,bi,bj) = HEFFITD(I,J,IT,bi,bj) + tmpscal3
1791  c           tmpscal3=ZERO              tmpscal3=ZERO
1792  cC not sure if AREAITD should be changed here since AREA is incremented  C not sure if AREAITD should be changed here since AREA is incremented
1793  cC   in PART 4 below in non-itd code  C   in PART 4 below in non-itd code
1794  cC in this scenario all open water is covered by new ice instantaneously,  C in this scenario all open water is covered by new ice instantaneously,
1795  cC   i.e. no delayed lead closing is concidered such as is associated with  C   i.e. no delayed lead closing is concidered such as is associated with
1796  cC   Hibler's h_0 parameter  C   Hibler's h_0 parameter
1797  c           AREAITD(I,J,IT,bi,bj) = AREAITD(I,J,IT,bi,bj)              AREAITD(I,J,IT,bi,bj) = AREAITD(I,J,IT,bi,bj)
1798  c     &                          + tmpscal0       &                           + tmpscal0
1799  c           tmpscal0=ZERO              tmpscal0=ZERO
1800  c           ENDIF             ENDIF
1801  c          ENDDO            ENDDO
 ctom debugging: 1 category only  
           HEFFITD(I,J,1,bi,bj) = HEFFITD(I,J,1,bi,bj) + tmpscal3  
1802  #else  #else
1803            HEFF(I,J,bi,bj) = HEFF(I,J,bi,bj) + tmpscal3            HEFF(I,J,bi,bj) = HEFF(I,J,bi,bj) + tmpscal3
1804  #endif  #endif
# Line 1855  c needs to be here to allow use also wit Line 1825  c needs to be here to allow use also wit
1825          ENDDO          ENDDO
1826  #endif  #endif
1827  #endif /* ALLOW_SITRACER */  #endif /* ALLOW_SITRACER */
1828    #ifdef SEAICE_DEBUG
1829  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1830          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1831  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1877  c ToM<<< debug seaice_growth Line 1848  c ToM<<< debug seaice_growth
1848          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1849       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1850  c ToM>>>  c ToM>>>
1851    #endif
1852    
1853  C convert snow to ice if submerged.  C convert snow to ice if submerged.
1854  C =================================  C =================================
# Line 1918  CADJ STORE hsnow(:,:,bi,bj) = comlev1_bi Line 1890  CADJ STORE hsnow(:,:,bi,bj) = comlev1_bi
1890  #endif  #endif
1891          ENDIF          ENDIF
1892  #endif /* SEAICE_GROWTH_LEGACY */  #endif /* SEAICE_GROWTH_LEGACY */
1893    #ifdef SEAICE_DEBUG
1894  c ToM<<< debug seaice_growth  c ToM<<< debug seaice_growth
1895          WRITE(msgBuf,'(A,7F8.4)')          WRITE(msgBuf,'(A,7F8.4)')
1896  #ifdef SEAICE_ITD  #ifdef SEAICE_ITD
# Line 1940  c ToM<<< debug seaice_growth Line 1913  c ToM<<< debug seaice_growth
1913          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
1914       &    SQUEEZE_RIGHT , myThid)       &    SQUEEZE_RIGHT , myThid)
1915  c ToM>>>  c ToM>>>
1916    #endif
1917    
1918  C ===================================================================  C ===================================================================
1919  C ==========PART 4: determine ice cover fraction increments=========-  C ==========PART 4: determine ice cover fraction increments=========-
# Line 1965  CADJ STORE HSNOW(:,:,bi,bj) = comlev1_bi Line 1939  CADJ STORE HSNOW(:,:,bi,bj) = comlev1_bi
1939  CADJ STORE AREA(:,:,bi,bj) = comlev1_bibj,key=iicekey,byte=isbyte  CADJ STORE AREA(:,:,bi,bj) = comlev1_bibj,key=iicekey,byte=isbyte
1940  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
1941    
1942  c#ifdef SEAICE_ITD  #ifdef SEAICE_ITD
1943  cC       replaces Hibler '79 scheme and lead closing parameter  C       replaces Hibler '79 scheme and lead closing parameter
1944  cC       because ITD accounts explicitly for lead openings and  C       because ITD accounts explicitly for lead openings and
1945  cC       different melt rates due to varying ice thickness  C       different melt rates due to varying ice thickness
1946  cC  C
1947  cC       only consider ice area loss due to total ice thickness loss;  C       only consider ice area loss due to total ice thickness loss;
1948  cC       ice area gain due to freezing of open water is handled above  C       ice area gain due to freezing of open water is handled above
1949  cC       under "gain of new ice over open water"  C       under "gain of new ice over open water"
1950  cC  C
1951  cC       does not account for lateral melt of ice floes  C       does not account for lateral melt of ice floes
1952  cC  C
1953  cC        AREAITD is incremented in section "gain of new ice over open water" above  C        AREAITD is incremented in section "gain of new ice over open water" above
1954  cC  C
1955  c        DO IT=1,nITD          DO IT=1,nITD
1956  c         DO J=1,sNy           DO J=1,sNy
1957  c          DO I=1,sNx           DO I=1,sNx
1958  c          IF (HEFFITD(I,J,IT,bi,bj).LE.ZERO) THEN             IF (HEFFITD(I,J,IT,bi,bj).LE.ZERO) THEN
1959  c           AREAITD(I,J,IT,bi,bj)=ZERO              AREAITD(I,J,IT,bi,bj)=ZERO
1960  c          ENDIF             ENDIF
1961  c#ifdef ALLOW_SITRACER  #ifdef ALLOW_SITRACER
1962  c           SItrAREA(I,J,bi,bj,3) = SItrAREA(I,J,bi,bj,3)             SItrAREA(I,J,bi,bj,3) = SItrAREA(I,J,bi,bj,3)
1963  c     &                           + AREAITD(I,J,IT,bi,bj)       &                           + AREAITD(I,J,IT,bi,bj)
1964  c#endif /* ALLOW_SITRACER */  #endif /* ALLOW_SITRACER */
1965  c         ENDDO            ENDDO
1966  c        ENDDO           ENDDO
1967  c       ENDDO          ENDDO
1968  c#else /* SEAICE_ITD */  #else /* SEAICE_ITD */
1969          DO J=1,sNy          DO J=1,sNy
1970           DO I=1,sNx           DO I=1,sNx
1971    
 ctom<<< debugging  
 #ifdef SEAICE_ITD  
           HEFF(I,J,bi,bj)=HEFFITD(I,J,1,bi,bj)  
           AREA(I,J,bi,bj)=AREAITD(I,J,1,bi,bj)  
           HSNOW(I,J,bi,bj)=HSNOWITD(I,J,1,bi,bj)  
           HEFFpreTH(I,J)=HEFFITDpreTH(I,J,1)  
           AREApreTH(I,J)=AREAITDpreTH(I,J,1)  
           recip_heffActual(I,J)=recip_heffActualMult(I,J,1)  
 #endif  
 ctom>>> debugging  
   
1972            IF ( YC(I,J,bi,bj) .LT. ZERO ) THEN            IF ( YC(I,J,bi,bj) .LT. ZERO ) THEN
1973             recip_HO=1. _d 0 / HO_south             recip_HO=1. _d 0 / HO_south
1974            ELSE            ELSE
# Line 2070  C apply tendency Line 2033  C apply tendency
2033            d_AREAbyOCN(I,J)=            d_AREAbyOCN(I,J)=
2034       &        HALF*recip_HH*MIN( 0. _d 0,d_HEFFbyOCNonICE(I,J) )       &        HALF*recip_HH*MIN( 0. _d 0,d_HEFFbyOCNonICE(I,J) )
2035  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
 ctom<<< debugging  
 #ifdef SEAICE_ITD  
           HEFFITD(I,J,1,bi,bj)=HEFF(I,J,bi,bj)  
           AREAITD(I,J,1,bi,bj)=AREA(I,J,bi,bj)  
           HSNOWITD(I,J,1,bi,bj)=HSNOW(I,J,bi,bj)  
 #endif  
 ctom>>> debugging  
2036           ENDDO           ENDDO
2037          ENDDO          ENDDO
2038  c#endif /* SEAICE_ITD */  #endif /* SEAICE_ITD */
2039    
2040  #if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ)  #if (defined ALLOW_AUTODIFF_TAMC && defined SEAICE_MODIFY_GROWTH_ADJ)
2041  Cgf 'bulk' linearization of area=f(HEFF)  Cgf 'bulk' linearization of area=f(HEFF)
# Line 2111  C finally update total AREA, HEFF, HSNOW Line 2067  C finally update total AREA, HEFF, HSNOW
2067          CALL SEAICE_ITD_SUM(bi, bj, myTime,myIter,myThid)          CALL SEAICE_ITD_SUM(bi, bj, myTime,myIter,myThid)
2068  #endif  #endif
2069    
 c ToM<<< debugging  
         DO J=1,sNy  
          DO I=1,sNx  
           if (I.eq.1 .and. J.eq.1) then  
            print *, 'd_HEFFbyNEG(I,J)      = ', d_HEFFbyNEG(I,J)  
            print *, 'd_HEFFbyOCNonICE(I,J) = ', d_HEFFbyOCNonICE(I,J)  
            print *, 'd_HEFFbyATMonOCN(I,J) = ', d_HEFFbyATMonOCN(I,J)  
            print *, 'd_HEFFbyATMonOCN_cover(I,J) = ',  
      &               d_HEFFbyATMonOCN_cover(I,J)  
            print *, 'd_HEFFbyATMonOCN_open(I,J) = ',  
      &               d_HEFFbyATMonOCN_open(I,J)  
            print *, 'd_HEFFbyFLOODING(I,J) = ', d_HEFFbyFLOODING(I,J)  
            print *, 'd_HEFFbySublim(I,J)   = ', d_HEFFbySublim(I,J)  
           endif  
          ENDDO  
         ENDDO  
 c ToM>>>  
2070  C ===================================================================  C ===================================================================
2071  C =============PART 5: determine ice salinity increments=============  C =============PART 5: determine ice salinity increments=============
2072  C ===================================================================  C ===================================================================
# Line 2401  C for backward compatibility it is left Line 2340  C for backward compatibility it is left
2340            QSW(I,J,bi,bj)  = a_QSWbyATM_cover(I,J) + a_QSWbyATM_open(I,J)            QSW(I,J,bi,bj)  = a_QSWbyATM_cover(I,J) + a_QSWbyATM_open(I,J)
2341           ENDDO           ENDDO
2342          ENDDO          ENDDO
 cToM<<< debugging  
         print*,'------------------'  
         print*,'OcnModFrc: QNET = ',QNET(1,1,bi,bj)  
         print*,'OcnModFrc: QSW  = ',QSW(1,1,bi,bj)  
         print*,' '  
         print*,'r_QbyATM_cover  = ', r_QbyATM_cover(1,1)  
         print*,'r_QbyATM_open   = ', r_QbyATM_open(1,1)  
         print*,'a_QSWbyATM_cover = ', a_QSWbyATM_cover(1,1)  
         print*,'d_HEFFbyOCNonICE = ', d_HEFFbyOCNonICE(1,1)  
         print*,'d_HSNWbyOCNonSNW = ', d_HSNWbyOCNonSNW(1,1)  
         print*,'d_HEFFbyNEG = ', d_HEFFbyNEG(1,1)  
         print*,'d_HSNWbyNEG = ', d_HSNWbyNEG(1,1)  
         print*,'SNOW2ICE = ',SNOW2ICE  
         print*,'maskC       = ', maskC(1,1,kSurface,bi,bj)  
         print*,'------------------'  
 cToM>>>  
2343    
2344  C switch heat fluxes from 'effective' ice meters to W/m2  C switch heat fluxes from 'effective' ice meters to W/m2
2345  C ======================================================  C ======================================================

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22