--- MITgcm_contrib/lab_sea_test/growth.F 2004/07/11 06:19:16 1.1 +++ MITgcm_contrib/lab_sea_test/growth.F 2004/07/12 01:00:20 1.2 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/lab_sea_test/growth.F,v 1.1 2004/07/11 06:19:16 dimitri Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm_contrib/lab_sea_test/growth.F,v 1.2 2004/07/12 01:00:20 dimitri Exp $ C $Name: $ #include "SEAICE_OPTIONS.h" @@ -48,6 +48,9 @@ C number of surface interface layer INTEGER kSurface + _RL mymin_R8, mymax_R8 + external mymin_R8, mymax_R8 + if ( buoyancyRelation .eq. 'OCEANICP' ) then kSurface = Nr else @@ -99,7 +102,7 @@ #endif /* ALLOW_AUTODIFF_TAMC */ DO J=1,sNy DO I=1,sNx - AR(I,J,bi,bj)=MIN(AREA(I,J,2,bi,bj), + AR(I,J,bi,bj)=MYMIN_R8(AREA(I,J,2,bi,bj), & HEFF(I,J,2,bi,bj)*1.0 _d +04) ENDDO ENDDO @@ -123,7 +126,7 @@ YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*.01 & *dRf(1)/72.0764 _d 0 GHEFF(I,J)=HEFF(I,J,1,bi,bj) - HEFF(I,J,1,bi,bj)=MAX(ZERO,HEFF(I,J,1,bi,bj)-YNEG(I,J,bi,bj)) + HEFF(I,J,1,bi,bj)=MYMAX_R8(ZERO,HEFF(I,J,1,bi,bj)-YNEG(I,J,bi,bj)) YNEG(I,J,bi,bj)=GHEFF(I,J)-HEFF(I,J,1,bi,bj) SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-YNEG(I,J,bi,bj) C-- Now convert YNEG back to deg K. @@ -218,9 +221,9 @@ DO I=1,sNx GHEFF(I,J)=-SEAICE_deltaTtherm*FHEFF(I,J,bi,bj)*Q0 GAREA(I,J)=SEAICE_deltaTtherm*FO(I,J,bi,bj)*Q0 - GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J)) - GAREA(I,J)=MAX(ZERO,GAREA(I,J)) - HCORR(I,J,bi,bj)=MIN(ZERO,GHEFF(I,J)) + GHEFF(I,J)=-ONE*MYMIN_R8(HEFF(I,J,1,bi,bj),GHEFF(I,J)) + GAREA(I,J)=MYMAX_R8(ZERO,GAREA(I,J)) + HCORR(I,J,bi,bj)=MYMIN_R8(ZERO,GHEFF(I,J)) ENDDO ENDDO DO J=1,sNy @@ -237,7 +240,7 @@ DO I=1,sNx GHEFF(I,J)=-SEAICE_deltaTtherm* & FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj) - GHEFF(I,J)=-ONE*MIN(HEFF(I,J,1,bi,bj),GHEFF(I,J)) + GHEFF(I,J)=-ONE*MYMIN_R8(HEFF(I,J,1,bi,bj),GHEFF(I,J)) HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)+GHEFF(I,J) SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)+GHEFF(I,J) C NOW CALCULATE QNETI UNDER ICE IF ANY @@ -327,7 +330,7 @@ DO J=1,sNy DO I=1,sNx C NOW SET AREA(I,J,1,bi,bj)=0 WHERE NO ICE IS - AREA(I,J,1,bi,bj)=MIN(AREA(I,J,1,bi,bj) + AREA(I,J,1,bi,bj)=MYMIN_R8(AREA(I,J,1,bi,bj) & ,HEFF(I,J,1,bi,bj)/.0001 _d 0) ENDDO ENDDO @@ -339,7 +342,7 @@ DO I=1,sNx C NOW TRUNCATE AREA #ifdef DO_WE_NEED_THIS - AREA(I,J,1,bi,bj)=MIN(ONE,AREA(I,J,1,bi,bj)) + AREA(I,J,1,bi,bj)=MYMIN_R8(ONE,AREA(I,J,1,bi,bj)) ENDDO ENDDO #ifdef ALLOW_AUTODIFF_TAMC @@ -348,13 +351,13 @@ #endif /* ALLOW_AUTODIFF_TAMC */ DO J=1,sNy DO I=1,sNx - AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj)) - HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj)) + AREA(I,J,1,bi,bj)=MYMAX_R8(ZERO,AREA(I,J,1,bi,bj)) + HSNOW(I,J,bi,bj)=MYMAX_R8(ZERO,HSNOW(I,J,bi,bj)) #endif AREA(I,J,1,bi,bj)=AREA(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) #ifdef DO_WE_NEED_THIS -c HEFF(I,J,1,bi,bj)=MIN(MAX_HEFF,HEFF(I,J,1,bi,bj)) +c HEFF(I,J,1,bi,bj)=MYMIN_R8(MAX_HEFF,HEFF(I,J,1,bi,bj)) #endif HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)*HEFFM(I,J,bi,bj) ENDDO