/[MITgcm]/MITgcm/pkg/seaice/groatb.F
ViewVC logotype

Diff of /MITgcm/pkg/seaice/groatb.F

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

revision 1.6 by dimitri, Wed Apr 30 07:04:08 2003 UTC revision 1.7 by dimitri, Fri May 23 20:19:16 2003 UTC
# Line 39  C     i,j,bi,bj - Loop counters Line 39  C     i,j,bi,bj - Loop counters
39        INTEGER i, j, bi, bj        INTEGER i, j, bi, bj
40        INTEGER KOPEN        INTEGER KOPEN
41        _RL U1, V1, SPEED_SQ        _RL U1, V1, SPEED_SQ
   
42        _RL HICE (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)        _RL HICE (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
43        _RL UG   (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)        _RL UG   (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
44    
45    #ifdef SEAICE_MULTILEVEL
46          INTEGER it
47          _RL RK
48          _RL HICEP(1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
49          _RL FICEP(1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
50    #endif
51    
52  C if this is not done before then do it here  C if this is not done before then do it here
53        _EXCH_XY_R8(UWIND, myThid)        _EXCH_XY_R8(UWIND, myThid)
54        _EXCH_XY_R8(VWIND, myThid)        _EXCH_XY_R8(VWIND, myThid)
# Line 57  C DETERMINE AMOUNT OF OPEN WATER AND ICE Line 63  C DETERMINE AMOUNT OF OPEN WATER AND ICE
63           DO I=1,sNx           DO I=1,sNx
64            AREA(I,J,2,bi,bj)=MAX(A22,AREA(I,J,2,bi,bj))            AREA(I,J,2,bi,bj)=MAX(A22,AREA(I,J,2,bi,bj))
65            FHEFF(I,J,bi,bj)=0.0 _d 0            FHEFF(I,J,bi,bj)=0.0 _d 0
66    #ifdef SEAICE_MULTILEVEL
67              FICEP(I,J)=0.0 _d 0
68    #endif
69            HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj)            HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj)
70           ENDDO           ENDDO
71          ENDDO          ENDDO
# Line 78  C NOW DETERMINE MIXED LAYER TEMPERATURE Line 87  C NOW DETERMINE MIXED LAYER TEMPERATURE
87            V1=0.25 _d 0*(VWIND(I+1,J+1,bi,bj)+VWIND(I+1,J,bi,bj)            V1=0.25 _d 0*(VWIND(I+1,J+1,bi,bj)+VWIND(I+1,J,bi,bj)
88       1      +VWIND(I,J+1,bi,bj)+VWIND(I,J,bi,bj))       1      +VWIND(I,J+1,bi,bj)+VWIND(I,J,bi,bj))
89            SPEED_SQ = U1**2 + V1**2            SPEED_SQ = U1**2 + V1**2
90            IF ( SPEED_SQ .LT. SEAICE_EPS_SQ ) THEN            IF ( SPEED_SQ .LE. SEAICE_EPS_SQ ) THEN
91               UG(I,J)=SEAICE_EPS               UG(I,J)=SEAICE_EPS
92            ELSE            ELSE
93               UG(I,J)=SQRT(SPEED_SQ)               UG(I,J)=SQRT(SPEED_SQ)
# Line 92  C FIRST DO OPEN WATER Line 101  C FIRST DO OPEN WATER
101          CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj)          CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj)
102  C NOW DO ICE  C NOW DO ICE
103          KOPEN=1          KOPEN=1
104    #ifdef SEAICE_MULTILEVEL
105            DO IT=1,7
106             DO J=1,sNy
107              DO I=1,sNx
108               RK=IT*1.0
109               HICEP(I,J)=(HICE(I,J)/7.0 _d 0)*((2.0 _d 0*RK)-1.0 _d 0)
110               TICE(I,J,bi,bj)=TICES(I,J,IT,bi,bj)
111              ENDDO
112             ENDDO
113             CALL BUDGET(UG, TICE, HICEP, FICE, KOPEN, bi, bj)
114             DO J=1,sNy
115              DO I=1,sNx
116               FICEP(I,J)=(FICE(I,J,bi,bj)/7.0 _d 0)+FICEP(I,J)
117               TICES(I,J,IT,bi,bj)=TICE(I,J,bi,bj)
118              ENDDO
119             ENDDO
120            ENDDO
121            DO J=1,sNy
122             DO I=1,sNx
123              FICE(I,J,bi,bj)=FICEP(I,J)
124             ENDDO
125            ENDDO
126    #else  /* SEAICE_MULTILEVEL */
127          CALL BUDGET(UG, TICE, HICE, FICE, KOPEN, bi, bj)          CALL BUDGET(UG, TICE, HICE, FICE, KOPEN, bi, bj)
128    #endif /* SEAICE_MULTILEVEL */
129    
130         ENDDO         ENDDO
131        ENDDO        ENDDO

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22