41 |
C number of surface interface layer |
C number of surface interface layer |
42 |
INTEGER kSurface |
INTEGER kSurface |
43 |
C constants |
C constants |
44 |
_RL TBC, salinity_ice, SDF, ICE_DENS, ICE2SNOW |
_RL TBC, salinity_ice, SDF, ICE2WATR, ICE2SNOW |
45 |
_RL QI, recip_QI, QS, recip_QS |
_RL QI, recip_QI, QS, recip_QS |
46 |
C auxillary variables |
C auxillary variables |
47 |
_RL availHeat, hEffOld, snowEnergy, snowAsIce |
_RL availHeat, hEffOld, snowEnergy, snowAsIce |
106 |
C RATIO OF WATER DESITY TO SNOW DENSITY |
C RATIO OF WATER DESITY TO SNOW DENSITY |
107 |
SDF = 1000.0 _d 0/330.0 _d 0 |
SDF = 1000.0 _d 0/330.0 _d 0 |
108 |
C RATIO OF SEA ICE DESITY TO WATER DENSITY |
C RATIO OF SEA ICE DESITY TO WATER DENSITY |
109 |
ICE_DENS = 0.920 _d 0 |
ICE2WATR = 0.920 _d 0 |
110 |
|
C this makes more sense, but changes the results |
111 |
|
C ICE2WATR = SEAICE_rhoIce * 1. _d -03 |
112 |
C RATIO OF SEA ICE DENSITY to SNOW DENSITY |
C RATIO OF SEA ICE DENSITY to SNOW DENSITY |
113 |
ICE2SNOW = SDF * ICE_DENS |
ICE2SNOW = SDF * ICE2WATR |
114 |
C HEAT OF FUSION OF ICE (m^3/J) |
C HEAT OF FUSION OF ICE (m^3/J) |
115 |
QI = 302.0 _d +06 |
QI = 302.0 _d +06 |
116 |
recip_QI = 1.0 _d 0 / QI |
recip_QI = 1.0 _d 0 / QI |
478 |
& PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF |
& PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF |
479 |
ELSE |
ELSE |
480 |
C add precip as rain, water converted into equivalent m of |
C add precip as rain, water converted into equivalent m of |
481 |
C ice by 1/ICE_DENS. |
C ice by 1/ICE2WATR. |
482 |
C Do not get confused by the sign: |
C Do not get confused by the sign: |
483 |
C precip > 0 for downward flux of fresh water |
C precip > 0 for downward flux of fresh water |
484 |
C frWtrIce > 0 for more ice (corresponds to an upward "fresh water flux"), |
C frWtrIce > 0 for more ice (corresponds to an upward "fresh water flux"), |
487 |
C through the ice into the ocean) |
C through the ice into the ocean) |
488 |
frWtrIce(I,J) = frWtrIce(I,J) |
frWtrIce(I,J) = frWtrIce(I,J) |
489 |
& -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)* |
& -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)* |
490 |
& SEAICE_deltaTtherm/ICE_DENS |
& SEAICE_deltaTtherm/ICE2WATR |
491 |
ENDIF |
ENDIF |
492 |
|
|
493 |
C Now melt snow if there is residual heat left in surface level |
C Now melt snow if there is residual heat left in surface level |
495 |
cph( very sensitive bit here by JZ |
cph( very sensitive bit here by JZ |
496 |
IF( RESID_HEAT(I,J) .GT. ZERO .AND. |
IF( RESID_HEAT(I,J) .GT. ZERO .AND. |
497 |
& HSNOW(I,J,bi,bj) .GT. ZERO ) THEN |
& HSNOW(I,J,bi,bj) .GT. ZERO ) THEN |
498 |
GHEFF(I,J) = MIN( HSNOW(I,J,bi,bj)/SDF/ICE_DENS, |
GHEFF(I,J) = MIN( HSNOW(I,J,bi,bj)/SDF/ICE2WATR, |
499 |
& RESID_HEAT(I,J) ) |
& RESID_HEAT(I,J) ) |
500 |
YNEG(I,J,bi,bj) = YNEG(I,J,bi,bj) +GHEFF(I,J) |
YNEG(I,J,bi,bj) = YNEG(I,J,bi,bj) +GHEFF(I,J) |
501 |
HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF*ICE_DENS |
HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF*ICE2WATR |
502 |
frWtrIce(I,J) = frWtrIce(I,J) -GHEFF(I,J) |
frWtrIce(I,J) = frWtrIce(I,J) -GHEFF(I,J) |
503 |
ENDIF |
ENDIF |
504 |
cph) |
cph) |
508 |
& ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) ) |
& ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) ) |
509 |
& * ( ONE - AREA(I,J,2,bi,bj) ) |
& * ( ONE - AREA(I,J,2,bi,bj) ) |
510 |
& - RUNOFF(I,J,bi,bj) |
& - RUNOFF(I,J,bi,bj) |
511 |
& + frWtrIce(I,J)*ICE_DENS/SEAICE_deltaTtherm |
& + frWtrIce(I,J)*ICE2WATR/SEAICE_deltaTtherm |
512 |
& ) |
& ) |
513 |
|
|
514 |
C NOW GET TOTAL QNET AND QSW |
C NOW GET TOTAL QNET AND QSW |
618 |
& +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0 |
& +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0 |
619 |
hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj)) |
hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj)) |
620 |
HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood |
HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood |
621 |
HSNOW(I,J,bi,bj) = MAX(0. _d 0,HSNOW(I,J,bi,bj)-hFlood/SDF) |
HSNOW(I,J,bi,bj) = MAX(0. _d 0, |
622 |
|
& HSNOW(I,J,bi,bj)-hFlood*ICE2SNOW) |
623 |
ENDDO |
ENDDO |
624 |
ENDDO |
ENDDO |
625 |
ENDIF |
ENDIF |