582 |
# endif /* SEAICE_SALINITY */ |
# endif /* SEAICE_SALINITY */ |
583 |
#endif /* ALLOW_AUTODIFF_TAMC */ |
#endif /* ALLOW_AUTODIFF_TAMC */ |
584 |
|
|
585 |
|
#ifdef ALLOW_ATM_TEMP |
586 |
DO J=1,sNy |
DO J=1,sNy |
587 |
DO I=1,sNx |
DO I=1,sNx |
588 |
|
|
|
#ifdef ALLOW_ATM_TEMP |
|
|
|
|
589 |
C NOW GET FRESH WATER FLUX |
C NOW GET FRESH WATER FLUX |
590 |
EmPmR(I,J,bi,bj) = maskC(I,J,kSurface,bi,bj)*( |
EmPmR(I,J,bi,bj) = maskC(I,J,kSurface,bi,bj)*( |
591 |
& ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) ) |
& ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) ) |
605 |
& ) |
& ) |
606 |
#endif /* ALLOW_DIAGNOSTICS */ |
#endif /* ALLOW_DIAGNOSTICS */ |
607 |
|
|
608 |
|
ENDDO |
609 |
|
ENDDO |
610 |
|
|
611 |
C COMPUTE SURFACE SALT FLUX AND ADJUST ICE SALINITY |
C COMPUTE SURFACE SALT FLUX AND ADJUST ICE SALINITY |
612 |
|
|
613 |
#ifdef SEAICE_SALINITY |
#ifdef SEAICE_SALINITY |
614 |
|
|
615 |
|
DO J=1,sNy |
616 |
|
DO I=1,sNx |
617 |
C set HSALT = 0 if HSALT < 0 and compute salt to remove from ocean |
C set HSALT = 0 if HSALT < 0 and compute salt to remove from ocean |
618 |
IF ( HSALT(I,J,bi,bj) .LT. 0.0 ) THEN |
IF ( HSALT(I,J,bi,bj) .LT. 0.0 ) THEN |
619 |
saltFluxAdjust(I,J) = - HEFFM(I,J,bi,bj) * |
saltFluxAdjust(I,J) = - HEFFM(I,J,bi,bj) * |
620 |
& HSALT(I,J,bi,bj) / SEAICE_deltaTtherm |
& HSALT(I,J,bi,bj) / SEAICE_deltaTtherm |
621 |
HSALT(I,J,bi,bj) = 0.0 _d 0 |
HSALT(I,J,bi,bj) = 0.0 _d 0 |
622 |
ENDIF |
ENDIF |
|
|
|
623 |
ENDDO |
ENDDO |
624 |
ENDDO |
ENDDO |
625 |
|
|
630 |
|
|
631 |
DO J=1,sNy |
DO J=1,sNy |
632 |
DO I=1,sNx |
DO I=1,sNx |
|
|
|
633 |
C saltWtrIce > 0 : m of sea ice that is created |
C saltWtrIce > 0 : m of sea ice that is created |
634 |
IF ( saltWtrIce(I,J) .GE. 0.0 ) THEN |
IF ( saltWtrIce(I,J) .GE. 0.0 ) THEN |
635 |
saltFlux(I,J,bi,bj) = HEFFM(I,J,bi,bj)*saltWtrIce(I,J)* |
saltFlux(I,J,bi,bj) = HEFFM(I,J,bi,bj)*saltWtrIce(I,J)* |
665 |
saltPlumeFlux(i,j,bi,bj) = 0.0 _d 0 |
saltPlumeFlux(i,j,bi,bj) = 0.0 _d 0 |
666 |
#endif /* ALLOW_SALT_PLUME */ |
#endif /* ALLOW_SALT_PLUME */ |
667 |
ENDIF |
ENDIF |
668 |
|
ENDDO |
669 |
|
ENDDO |
670 |
|
|
671 |
#endif /* SEAICE_SALINITY */ |
#endif /* SEAICE_SALINITY */ |
672 |
|
|
673 |
#else /* ALLOW_ATM_TEMP */ |
#else /* ALLOW_ATM_TEMP */ |
674 |
STOP 'ABNORMAL END: S/R THSICE_GROWTH: ATM_TEMP undef' |
STOP 'ABNORMAL END: S/R THSICE_GROWTH: ATM_TEMP undef' |
675 |
#endif /* ALLOW_ATM_TEMP */ |
#endif /* ALLOW_ATM_TEMP */ |
676 |
|
|
677 |
|
DO J=1,sNy |
678 |
|
DO I=1,sNx |
679 |
C NOW GET TOTAL QNET AND QSW |
C NOW GET TOTAL QNET AND QSW |
680 |
QNET(I,J,bi,bj) = QNETI(I,J) * AREA(I,J,2,bi,bj) |
QNET(I,J,bi,bj) = QNETI(I,J) * AREA(I,J,2,bi,bj) |
681 |
& +QNETO(I,J) * (ONE-AREA(I,J,2,bi,bj)) |
& +QNETO(I,J) * (ONE-AREA(I,J,2,bi,bj)) |
682 |
QSW(I,J,bi,bj) = QSWI(I,J) * AREA(I,J,2,bi,bj) |
QSW(I,J,bi,bj) = QSWI(I,J) * AREA(I,J,2,bi,bj) |
683 |
& +QSWO(I,J) * (ONE-AREA(I,J,2,bi,bj)) |
& +QSWO(I,J) * (ONE-AREA(I,J,2,bi,bj)) |
|
|
|
684 |
ENDDO |
ENDDO |
685 |
ENDDO |
ENDDO |
686 |
|
|