14 |
C === Global variables === |
C === Global variables === |
15 |
#include "SIZE.h" |
#include "SIZE.h" |
16 |
#include "EEPARAMS.h" |
#include "EEPARAMS.h" |
17 |
|
#include "FFIELDS.h" |
18 |
#include "SEAICE_PARAMS.h" |
#include "SEAICE_PARAMS.h" |
19 |
#include "SEAICE_FFIELDS.h" |
#include "SEAICE_FFIELDS.h" |
20 |
|
|
54 |
_RL A3 (1-OLx:sNx+OLx, 1-OLy:sNy+OLy) |
_RL A3 (1-OLx:sNx+OLx, 1-OLy:sNy+OLy) |
55 |
_RL B (1-OLx:sNx+OLx, 1-OLy:sNy+OLy) |
_RL B (1-OLx:sNx+OLx, 1-OLy:sNy+OLy) |
56 |
|
|
57 |
C IF KOPEN LT 0 THAN DO OPEN WATER BUDGET |
C IF KOPEN LT 0, THEN DO OPEN WATER BUDGET |
58 |
C NOW DEFINE ASSORTED CONSTANTS |
C NOW DEFINE ASSORTED CONSTANTS |
59 |
C SATURATION VAPOR PRESSURE CONSTANT |
C SATURATION VAPOR PRESSURE CONSTANT |
60 |
QS1=0.622 _d +00/1013.0 _d +00 |
QS1=0.622 _d +00/1013.0 _d +00 |
89 |
DO J=1,sNy |
DO J=1,sNy |
90 |
DO I=1,sNx |
DO I=1,sNx |
91 |
TICE(I,J,bi,bj)=MIN(273.16 _d 0+MAX_TICE,TICE(I,J,bi,bj)) |
TICE(I,J,bi,bj)=MIN(273.16 _d 0+MAX_TICE,TICE(I,J,bi,bj)) |
92 |
TAIR(I,J,bi,bj)=MAX(273.16 _d 0+MIN_TAIR,TAIR(I,J,bi,bj)) |
ATEMP(I,J,bi,bj)=MAX(273.16 _d 0+MIN_ATEMP,ATEMP(I,J,bi,bj)) |
93 |
FLO(I,J,bi,bj)=MAX(MIN_FLO,FLO(I,J,bi,bj)) |
LWFLUX(I,J,bi,bj)=MAX(MIN_LWFLUX,LWFLUX(I,J,bi,bj)) |
94 |
ENDDO |
ENDDO |
95 |
ENDDO |
ENDDO |
96 |
|
|
98 |
IF(KOPEN.LE.0) THEN |
IF(KOPEN.LE.0) THEN |
99 |
|
|
100 |
C NOW DETERMINE OPEN WATER HEAT BUD. ASSUMING TICE=WATER TEMP. |
C NOW DETERMINE OPEN WATER HEAT BUD. ASSUMING TICE=WATER TEMP. |
101 |
C WATER ALBEDO IS ASSUMED TO BE 0.1 |
C WATER ALBEDO IS ASSUMED TO BE THE CONSTANT SEAICE_waterAlbedo |
102 |
DO J=1,sNy |
DO J=1,sNy |
103 |
DO I=1,sNx |
DO I=1,sNx |
104 |
|
#ifdef SEAICE_EXTERNAL_FLUXES |
105 |
|
FICE1(I,J,bi,bj)=QNET(I,J,bi,bj)+Qsw(I,J,bi,bj) |
106 |
|
QSWO(I,J,bi,bj)=Qsw(I,J,bi,bj) |
107 |
|
#else SEAICE_EXTERNAL_FLUXES |
108 |
ALB(I,J)=SEAICE_waterAlbedo |
ALB(I,J)=SEAICE_waterAlbedo |
109 |
A1(I,J)=(1.0 _d 0-ALB(I,J))*FSH(I,J,bi,bj)+FLO(I,J,bi,bj) |
A1(I,J)=(1.0 _d 0-ALB(I,J))*SWFLUX(I,J,bi,bj)+LWFLUX(I,J,bi,bj) |
110 |
& +D1*UG(I,J)*TAIR(I,J,bi,bj)+D1W*UG(I,J)*QA(I,J,bi,bj) |
& +D1*UG(I,J)*ATEMP(I,J,bi,bj)+D1W*UG(I,J)*AQH(I,J,bi,bj) |
111 |
B(I,J)=QS1*6.11 _d +00*EXP(17.2694 _d +00 |
B(I,J)=QS1*6.11 _d +00*EXP(17.2694 _d +00 |
112 |
& *(TICE(I,J,bi,bj)-TMELT) |
& *(TICE(I,J,bi,bj)-TMELT) |
113 |
& /(TICE(I,J,bi,bj)-TMELT+237.3 _d +00)) |
& /(TICE(I,J,bi,bj)-TMELT+237.3 _d +00)) |
114 |
A2(I,J)=-D1*UG(I,J)*TICE(I,J,bi,bj)-D1W*UG(I,J)*B(I,J) |
A2(I,J)=-D1*UG(I,J)*TICE(I,J,bi,bj)-D1W*UG(I,J)*B(I,J) |
115 |
& -D3*(TICE(I,J,bi,bj)**4) |
& -D3*(TICE(I,J,bi,bj)**4) |
116 |
FICE1(I,J,bi,bj)=-A1(I,J)-A2(I,J) |
FICE1(I,J,bi,bj)=-A1(I,J)-A2(I,J) |
117 |
QSWO(I,J,bi,bj)=-(ONE-ALB(I,J))*FSH(I,J,bi,bj) |
QSWO(I,J,bi,bj)=-(ONE-ALB(I,J))*SWFLUX(I,J,bi,bj) |
118 |
|
#endif SEAICE_EXTERNAL_FLUXES |
119 |
QNETO(I,J,bi,bj)=FICE1(I,J,bi,bj)-QSWO(I,J,bi,bj) |
QNETO(I,J,bi,bj)=FICE1(I,J,bi,bj)-QSWO(I,J,bi,bj) |
120 |
ENDDO |
ENDDO |
121 |
ENDDO |
ENDDO |
150 |
DO I=1,sNx |
DO I=1,sNx |
151 |
IF(HSNOW(I,J,bi,bj).GT.0.0) THEN |
IF(HSNOW(I,J,bi,bj).GT.0.0) THEN |
152 |
C NO SW PENETRATION WITH SNOW |
C NO SW PENETRATION WITH SNOW |
153 |
A1(I,J)=(ONE-ALB(I,J))*FSH(I,J,bi,bj)+FLO(I,J,bi,bj) |
A1(I,J)=(ONE-ALB(I,J))*SWFLUX(I,J,bi,bj)+LWFLUX(I,J,bi,bj) |
154 |
& +D1*UG(I,J)*TAIR(I,J,bi,bj)+D1I*UG(I,J)*QA(I,J,bi,bj) |
& +D1*UG(I,J)*ATEMP(I,J,bi,bj)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
155 |
ELSE |
ELSE |
156 |
C SW PENETRATION UNDER ICE |
C SW PENETRATION UNDER ICE |
157 |
A1(I,J)=(ONE-ALB(I,J))*FSH(I,J,bi,bj) |
A1(I,J)=(ONE-ALB(I,J))*SWFLUX(I,J,bi,bj) |
158 |
& *(ONE-XIO*EXP(-1.5 _d 0*HICE(I,J)))+FLO(I,J,bi,bj) |
& *(ONE-XIO*EXP(-1.5 _d 0*HICE(I,J)))+LWFLUX(I,J,bi,bj) |
159 |
& +D1*UG(I,J)*TAIR(I,J,bi,bj)+D1I*UG(I,J)*QA(I,J,bi,bj) |
& +D1*UG(I,J)*ATEMP(I,J,bi,bj)+D1I*UG(I,J)*AQH(I,J,bi,bj) |
160 |
ENDIF |
ENDIF |
161 |
ENDDO |
ENDDO |
162 |
ENDDO |
ENDDO |
213 |
QSWI(I,J,bi,bj)=ZERO |
QSWI(I,J,bi,bj)=ZERO |
214 |
ELSE |
ELSE |
215 |
C SW PENETRATION UNDER ICE |
C SW PENETRATION UNDER ICE |
216 |
QSWI(I,J,bi,bj)=-(ONE-ALB(I,J))*FSH(I,J,bi,bj) |
QSWI(I,J,bi,bj)=-(ONE-ALB(I,J))*SWFLUX(I,J,bi,bj) |
217 |
& *XIO*EXP(-1.5 _d 0*HICE(I,J)) |
& *XIO*EXP(-1.5 _d 0*HICE(I,J)) |
218 |
ENDIF |
ENDIF |
219 |
ENDDO |
ENDDO |