/[MITgcm]/MITgcm/pkg/thsice/thsice_step_fwd.F
ViewVC logotype

Diff of /MITgcm/pkg/thsice/thsice_step_fwd.F

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

revision 1.33 by jmc, Sat Feb 4 17:21:23 2012 UTC revision 1.34 by jmc, Wed Feb 8 14:48:03 2012 UTC
# Line 5  C $Name$ Line 5  C $Name$
5  #ifdef ALLOW_ATM2D  #ifdef ALLOW_ATM2D
6  # include "ctrparam.h"  # include "ctrparam.h"
7  #endif  #endif
8    #define THSICE_OLD_STEP_FWD
9    
10  CBOP  CBOP
11  C     !ROUTINE: THSICE_STEP_FWD  C     !ROUTINE: THSICE_STEP_FWD
# Line 124  C---+----1----+----2----+----3----+----4 Line 125  C---+----1----+----2----+----3----+----4
125  C-    Initialise  C-    Initialise
126        dBugFlag = debugLevel.GE.debLevC        dBugFlag = debugLevel.GE.debLevC
127        DO j = 1-OLy, sNy+OLy        DO j = 1-OLy, sNy+OLy
128          DO i = 1-OLx, sNx+OLx         DO i = 1-OLx, sNx+OLx
129            isIceFree(i,j) = .FALSE.            isIceFree(i,j) = .FALSE.
130  #ifdef ALLOW_ATM2D  #ifdef ALLOW_ATM2D
131            sFluxFromIce(i,j) = 0. _d 0            sFluxFromIce(i,j) = 0. _d 0
# Line 133  C-    Initialise Line 134  C-    Initialise
134  #endif  #endif
135  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
136            iceFrac(i,j) = 0.            iceFrac(i,j) = 0.
137              flx2oc(i,j) = 0. _d 0
138              frw2oc(i,j) = 0. _d 0
139              fsalt (i,j) = 0. _d 0
140  #endif  #endif
141          ENDDO         ENDDO
142        ENDDO        ENDDO
143    
144        ageFac = 1. _d 0 - thSIce_deltaT/snowAgTime        ageFac = 1. _d 0 - thSIce_deltaT/snowAgTime
# Line 157  C--  Snow aging : Line 161  C--  Snow aging :
161            IF ( snowPrc(i,j,bi,bj).GT.0. _d 0 )            IF ( snowPrc(i,j,bi,bj).GT.0. _d 0 )
162       &      snowAge(i,j,bi,bj) = snowAge(i,j,bi,bj)       &      snowAge(i,j,bi,bj) = snowAge(i,j,bi,bj)
163       &          * EXP( - snowFac*snowPrc(i,j,bi,bj) )       &          * EXP( - snowFac*snowPrc(i,j,bi,bj) )
 c    &          * EXP( -(thSIce_deltaT*snowPrc(i,j,bi,bj)/rhos)  
 c    &                  /hNewSnowAge )  
164  C-------  C-------
165  C note: Any flux of mass (here fresh water) that enter or leave the system  C note: Any flux of mass (here fresh water) that enter or leave the system
166  C       with a non zero energy HAS TO be counted: add snow precip.  C       with a non zero energy HAS TO be counted: add snow precip.
# Line 305  c#endif Line 307  c#endif
307  #ifdef ALLOW_SALT_PLUME  #ifdef ALLOW_SALT_PLUME
308        IF ( useSALT_PLUME ) THEN        IF ( useSALT_PLUME ) THEN
309          CALL THSICE_SALT_PLUME(          CALL THSICE_SALT_PLUME(
310       I          iceMask(1-Olx,1-Oly,bi,bj),       I          iceMask(1-OLx,1-OLy,bi,bj),
311       I          sOceMxL(1-Olx,1-Oly,bi,bj),       I          sOceMxL(1-OLx,1-OLy,bi,bj),
312       I          frw2oc,       I          frw2oc,
313       I          iMin,iMax, jMin,jMax, bi, bj,       I          iMin,iMax, jMin,jMax, bi, bj,
314       I          0, myTime, myIter, myThid )       I          0, myTime, myIter, myThid )
315        ENDIF        ENDIF
316  #endif /* ALLOW_SALT_PLUME */  #endif /* ALLOW_SALT_PLUME */
# Line 317  C---+----1----+----2----+----3----+----4 Line 319  C---+----1----+----2----+----3----+----4
319  C    part.3 : freezing of sea-water  C    part.3 : freezing of sea-water
320  C     over ice-free fraction and what is left from ice-covered fraction  C     over ice-free fraction and what is left from ice-covered fraction
321  C-------  C-------
322          DO j = 1-OLy, sNy+OLy
323           DO i = 1-OLx, sNx+OLx
324             flx2oc(i,j) = 0. _d 0
325             frw2oc(i,j) = 0. _d 0
326             fsalt (i,j) = 0. _d 0
327           ENDDO
328          ENDDO
329        CALL THSICE_EXTEND(        CALL THSICE_EXTEND(
330       I          bi, bj,       I          bi, bj,
331       I          iMin,iMax, jMin,jMax, dBugFlag,       I          iMin,iMax, jMin,jMax, dBugFlag,
# Line 335  CADJ &     comlev1_bibj,key=ticekey,byte Line 344  CADJ &     comlev1_bibj,key=ticekey,byte
344  #endif  #endif
345        DO j = jMin, jMax        DO j = jMin, jMax
346         DO i = iMin, iMax         DO i = iMin, iMax
347    #ifdef THSICE_OLD_STEP_FWD
348          IF (frzmltMxL(i,j).GT.0. _d 0) THEN          IF (frzmltMxL(i,j).GT.0. _d 0) THEN
349    #endif
350  C--    Net fluxes :  C--    Net fluxes :
351  #ifdef ALLOW_ATM2D  #ifdef ALLOW_ATM2D
352            pass_qnet(i,j) = pass_qnet(i,j) - flx2oc(i,j)            pass_qnet(i,j) = pass_qnet(i,j) - flx2oc(i,j)
# Line 353  C--    Net fluxes : Line 364  C--    Net fluxes :
364       &           iceFrac(i,j), iceHeight(i,j,bi,bj),       &           iceFrac(i,j), iceHeight(i,j,bi,bj),
365       &           snowHeight(i,j,bi,bj), Qnet(i,j,bi,bj)       &           snowHeight(i,j,bi,bj), Qnet(i,j,bi,bj)
366  #endif  #endif
367    #ifdef THSICE_OLD_STEP_FWD
368          ENDIF          ENDIF
369    #endif
370    
371          IF ( hOceMxL(i,j,bi,bj).GT.0. _d 0 )          IF ( hOceMxL(i,j,bi,bj).GT.0. _d 0 )
372       &    isIceFree(i,j) = iceMask(i,j,bi,bj).LE.0. _d 0       &    isIceFree(i,j) = iceMask(i,j,bi,bj).LE.0. _d 0
# Line 379  C--    Net fluxes : Line 392  C--    Net fluxes :
392  #ifdef ALLOW_SALT_PLUME  #ifdef ALLOW_SALT_PLUME
393        IF ( useSALT_PLUME ) THEN        IF ( useSALT_PLUME ) THEN
394          CALL THSICE_SALT_PLUME(          CALL THSICE_SALT_PLUME(
395       I          frzmltMxL,             I          frzmltMxL,
396       I          sOceMxL(1-Olx,1-Oly,bi,bj),       I          sOceMxL(1-OLx,1-OLy,bi,bj),
397       I          frw2oc,       I          frw2oc,
398       I          iMin,iMax, jMin,jMax, bi, bj,       I          iMin,iMax, jMin,jMax, bi, bj,
399       I          1, myTime, myIter, myThid )       I          1, myTime, myIter, myThid )
400        ENDIF        ENDIF
401  #endif /* ALLOW_SALT_PLUME */  #endif /* ALLOW_SALT_PLUME */

Legend:
Removed from v.1.33  
changed lines
  Added in v.1.34

  ViewVC Help
Powered by ViewVC 1.1.22