/[MITgcm]/MITgcm_contrib/lab_sea_test/growth.F
ViewVC logotype

Diff of /MITgcm_contrib/lab_sea_test/growth.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by dimitri, Sun Jul 11 06:19:16 2004 UTC revision 1.2 by dimitri, Mon Jul 12 01:00:20 2004 UTC
# Line 48  C     i,j,bi,bj - Loop counters Line 48  C     i,j,bi,bj - Loop counters
48  C     number of surface interface layer  C     number of surface interface layer
49        INTEGER kSurface        INTEGER kSurface
50    
51          _RL mymin_R8, mymax_R8
52          external mymin_R8, mymax_R8
53    
54        if ( buoyancyRelation .eq. 'OCEANICP' ) then        if ( buoyancyRelation .eq. 'OCEANICP' ) then
55         kSurface        = Nr         kSurface        = Nr
56        else        else
# Line 99  CADJ &                         key = iic Line 102  CADJ &                         key = iic
102  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
103          DO J=1,sNy          DO J=1,sNy
104           DO I=1,sNx           DO I=1,sNx
105            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),
106       &         HEFF(I,J,2,bi,bj)*1.0 _d +04)       &         HEFF(I,J,2,bi,bj)*1.0 _d +04)
107           ENDDO           ENDDO
108          ENDDO          ENDDO
# Line 123  C     Positive YNEG leads to ice melting Line 126  C     Positive YNEG leads to ice melting
126            YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*.01            YNEG(I,J,bi,bj)=(theta(I,J,1,bi,bj)-TBC)*.01
127       &           *dRf(1)/72.0764 _d 0       &           *dRf(1)/72.0764 _d 0
128            GHEFF(I,J)=HEFF(I,J,1,bi,bj)            GHEFF(I,J)=HEFF(I,J,1,bi,bj)
129            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))
130            YNEG(I,J,bi,bj)=GHEFF(I,J)-HEFF(I,J,1,bi,bj)            YNEG(I,J,bi,bj)=GHEFF(I,J)-HEFF(I,J,1,bi,bj)
131            SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-YNEG(I,J,bi,bj)            SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-YNEG(I,J,bi,bj)
132  C--   Now convert YNEG back to deg K.  C--   Now convert YNEG back to deg K.
# Line 218  C NOW UPDATE AREA Line 221  C NOW UPDATE AREA
221           DO I=1,sNx           DO I=1,sNx
222            GHEFF(I,J)=-SEAICE_deltaTtherm*FHEFF(I,J,bi,bj)*Q0            GHEFF(I,J)=-SEAICE_deltaTtherm*FHEFF(I,J,bi,bj)*Q0
223            GAREA(I,J)=SEAICE_deltaTtherm*FO(I,J,bi,bj)*Q0            GAREA(I,J)=SEAICE_deltaTtherm*FO(I,J,bi,bj)*Q0
224            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))
225            GAREA(I,J)=MAX(ZERO,GAREA(I,J))            GAREA(I,J)=MYMAX_R8(ZERO,GAREA(I,J))
226            HCORR(I,J,bi,bj)=MIN(ZERO,GHEFF(I,J))            HCORR(I,J,bi,bj)=MYMIN_R8(ZERO,GHEFF(I,J))
227           ENDDO           ENDDO
228          ENDDO          ENDDO
229          DO J=1,sNy          DO J=1,sNy
# Line 237  C NOW UPDATE HEFF Line 240  C NOW UPDATE HEFF
240           DO I=1,sNx           DO I=1,sNx
241            GHEFF(I,J)=-SEAICE_deltaTtherm*            GHEFF(I,J)=-SEAICE_deltaTtherm*
242       &               FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj)       &               FICE(I,J,bi,bj)*Q0*AR(I,J,bi,bj)
243            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))
244            HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)+GHEFF(I,J)            HEFF(I,J,1,bi,bj)=HEFF(I,J,1,bi,bj)+GHEFF(I,J)
245            SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)+GHEFF(I,J)            SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)+GHEFF(I,J)
246  C NOW CALCULATE QNETI UNDER ICE IF ANY  C NOW CALCULATE QNETI UNDER ICE IF ANY
# Line 327  C NOW ZERO OUTSIDE POINTS Line 330  C NOW ZERO OUTSIDE POINTS
330          DO J=1,sNy          DO J=1,sNy
331           DO I=1,sNx           DO I=1,sNx
332  C NOW SET AREA(I,J,1,bi,bj)=0 WHERE NO ICE IS  C NOW SET AREA(I,J,1,bi,bj)=0 WHERE NO ICE IS
333            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)
334       &                         ,HEFF(I,J,1,bi,bj)/.0001 _d 0)       &                         ,HEFF(I,J,1,bi,bj)/.0001 _d 0)
335           ENDDO           ENDDO
336          ENDDO          ENDDO
# Line 339  CADJ &                         key = iic Line 342  CADJ &                         key = iic
342           DO I=1,sNx           DO I=1,sNx
343  C NOW TRUNCATE AREA  C NOW TRUNCATE AREA
344  #ifdef DO_WE_NEED_THIS  #ifdef DO_WE_NEED_THIS
345            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))
346           ENDDO           ENDDO
347          ENDDO          ENDDO
348  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 348  CADJ &                         key = iic Line 351  CADJ &                         key = iic
351  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
352          DO J=1,sNy          DO J=1,sNy
353           DO I=1,sNx           DO I=1,sNx
354            AREA(I,J,1,bi,bj)=MAX(ZERO,AREA(I,J,1,bi,bj))            AREA(I,J,1,bi,bj)=MYMAX_R8(ZERO,AREA(I,J,1,bi,bj))
355            HSNOW(I,J,bi,bj)=MAX(ZERO,HSNOW(I,J,bi,bj))            HSNOW(I,J,bi,bj)=MYMAX_R8(ZERO,HSNOW(I,J,bi,bj))
356  #endif  #endif
357            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)
358            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)
359  #ifdef DO_WE_NEED_THIS  #ifdef DO_WE_NEED_THIS
360  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))
361  #endif  #endif
362            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)
363           ENDDO           ENDDO

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.22