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 |
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) |
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 |
|
|
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 |
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 |
269 |
ENDDO |
ENDDO |
270 |
ENDDO |
ENDDO |
271 |
|
|
272 |
#endif ALLOW_SEAICE |
#endif /* ALLOW_SEAICE */ |
273 |
|
|
274 |
RETURN |
RETURN |
275 |
END |
END |