/[MITgcm]/MITgcm/pkg/seaice/growth.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/growth.F

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

revision 1.4 by dimitri, Sat Dec 28 10:11:11 2002 UTC revision 1.5 by dimitri, Tue Feb 18 05:33:55 2003 UTC
# Line 59  C     i,j,bi,bj - Loop counters Line 59  C     i,j,bi,bj - Loop counters
59            AR(I,J,bi,bj)=MIN(AREA(I,J,2,bi,bj),            AR(I,J,bi,bj)=MIN(AREA(I,J,2,bi,bj),
60       &         HEFF(I,J,2,bi,bj)*1.0 _d +04)       &         HEFF(I,J,2,bi,bj)*1.0 _d +04)
61  C NOW BALANCE THE HEAT IN OCEAN FIRT LEVEL  C NOW BALANCE THE HEAT IN OCEAN FIRT LEVEL
62    C Here the units of YNEG are m of sea-ice.
63    C The factor dRf(1)/72.0764, used to convert temperature
64    C change in deg K to m of sea-ice, is approximately:
65    C dRf(1) * (sea water heat capacity = 3996 J/kg/K)
66    C        * (density of sea-water = 1026 kg/m^3)
67    C        / (latent heat of fusion of sea-ice = 334000 J/kg)
68    C        / (density of sea-ice = 910 kg/m^3)
69            YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*dRf(1)/72.0764 _d 0            YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*dRf(1)/72.0764 _d 0
70            IF(YNEG(I,J,bi,bj).LE.ZERO) THEN            IF(YNEG(I,J,bi,bj).LE.ZERO) THEN
71  C SUPERCOOLING, CONVERT TO ICE  C SUPERCOOLING, CONVERT TO ICE
# Line 100  C INCLUDING SNOWFALL Line 107  C INCLUDING SNOWFALL
107  C NOW CALCULATE CORRECTED GROWTH  C NOW CALCULATE CORRECTED GROWTH
108          DO J=1,sNy          DO J=1,sNy
109           DO I=1,sNx           DO I=1,sNx
 cdm ===> why is following line here?  
 cdm       FICE(I,J,bi,bj)=FICE(I,J,bi,bj)  
110            GHEFF(I,J)=-DELTAT*FICE(I,J,bi,bj)            GHEFF(I,J)=-DELTAT*FICE(I,J,bi,bj)
111            GAREA(I,J)=HSNOW(I,J,bi,bj)*QS            GAREA(I,J)=HSNOW(I,J,bi,bj)*QS
112            IF(GHEFF(I,J).GT.ZERO.AND.GHEFF(I,J).LE.GAREA(I,J)) THEN            IF(GHEFF(I,J).GT.ZERO.AND.GHEFF(I,J).LE.GAREA(I,J)) THEN
113             HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)/QS             HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)/QS
114  C SNOW CONVERTED INTO WATER AND THEN INTO ICE  C SNOW CONVERTED INTO WATER AND THEN INTO ICE
115    C The factor 0.920 is used to convert m of sea-ice to m of freshwater
116             SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)             SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)
117       &                  -(GHEFF(I,J)/QS)/SDF/0.920 _d 0*AR(I,J,bi,bj)       &                  -(GHEFF(I,J)/QS)/SDF/0.920 _d 0*AR(I,J,bi,bj)
118             WATR(I,J,bi,bj)=WATR(I,J,bi,bj)             WATR(I,J,bi,bj)=WATR(I,J,bi,bj)
# Line 172  C NOW GET TOTAL QNET AND QSW Line 178  C NOW GET TOTAL QNET AND QSW
178       &                    +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj)       &                    +(ONE-AR(I,J,bi,bj))*QNETO(I,J,bi,bj)
179            QSW(I,J,bi,bj)=QSWI(I,J,bi,bj)*AR(I,J,bi,bj)            QSW(I,J,bi,bj)=QSWI(I,J,bi,bj)*AR(I,J,bi,bj)
180       &                    +(ONE-AR(I,J,bi,bj))*QSWO(I,J,bi,bj)       &                    +(ONE-AR(I,J,bi,bj))*QSWO(I,J,bi,bj)
181    #ifndef SHORTWAVE_HEATING
182              QNET(I,J,bi,bj)=QNET(I,J,bi,bj)+QSW(I,J,bi,bj)
183    #endif
184           ENDDO           ENDDO
185          ENDDO          ENDDO
186    
# Line 232  c      CALL PLOT_FIELD_XYRS( VWIND,'Curr Line 241  c      CALL PLOT_FIELD_XYRS( VWIND,'Curr
241            endif            endif
242           ENDDO           ENDDO
243          ENDDO          ENDDO
244  #endif SEAICE_DEBUG  #endif /* SEAICE_DEBUG */
245    
246  crg Added by Ralf Giering: do we need DO_WE_NEED_THIS ?  crg Added by Ralf Giering: do we need DO_WE_NEED_THIS ?
247  #define DO_WE_NEED_THIS  #define DO_WE_NEED_THIS
# Line 247  C NOW TRUNCATE AREA Line 256  C NOW TRUNCATE AREA
256            AREA(I,J,1,bi,bj)=MIN(ONE,AREA(I,J,1,bi,bj))            AREA(I,J,1,bi,bj)=MIN(ONE,AREA(I,J,1,bi,bj))
257            AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj))            AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj))
258            HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj))            HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj))
259  #endif DO_WE_NEED_THIS  #endif
260            AREA(I,J,1,bi,bj)=AREA(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)            AREA(I,J,1,bi,bj)=AREA(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
261            HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)            HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)*HEFFM(I,J,bi,bj)
262  #ifdef DO_WE_NEED_THIS  #ifdef DO_WE_NEED_THIS
263            HEFF(I,J,1,bi,bj)=MIN(MAX_HEFF,HEFF(I,J,1,bi,bj))            HEFF(I,J,1,bi,bj)=MIN(MAX_HEFF,HEFF(I,J,1,bi,bj))
264  #endif DO_WE_NEED_THIS  #endif
265            HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)*HEFFM(I,J,bi,bj)            HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)*HEFFM(I,J,bi,bj)
266           ENDDO           ENDDO
267          ENDDO          ENDDO
# Line 260  C NOW TRUNCATE AREA Line 269  C NOW TRUNCATE AREA
269         ENDDO         ENDDO
270        ENDDO        ENDDO
271    
272  #endif ALLOW_SEAICE  #endif /* ALLOW_SEAICE */
273    
274        RETURN        RETURN
275        END        END

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

  ViewVC Help
Powered by ViewVC 1.1.22