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

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

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

revision 1.24 by mlosch, Fri May 29 14:51:21 2009 UTC revision 1.28 by mlosch, Wed Nov 24 15:36:31 2010 UTC
# Line 36  CEndOfInterface Line 36  CEndOfInterface
36  #ifdef SEAICE_CGRID  #ifdef SEAICE_CGRID
37  C     === Local variables ===  C     === Local variables ===
38  C     i,j,bi,bj - Loop counters  C     i,j,bi,bj - Loop counters
39    C     kSrf      - vertical index of surface layer
40        INTEGER i, j, bi, bj        INTEGER i, j, bi, bj
41        _RL  SINWAT, COSWAT, SINWIN, COSWIN        INTEGER kSrf
42          _RL  COSWAT
43          _RS  SINWAT
44        _RL  fuIceLoc, fvIceLoc        _RL  fuIceLoc, fvIceLoc
45        _RL  areaW, areaS        _RL  areaW, areaS
46    
47  c     introduce turning angle (default is zero)  C     surrface level
48          kSrf = 1
49    C     introduce turning angle (default is zero)
50        SINWAT=SIN(SEAICE_waterTurnAngle*deg2rad)        SINWAT=SIN(SEAICE_waterTurnAngle*deg2rad)
51        COSWAT=COS(SEAICE_waterTurnAngle*deg2rad)        COSWAT=COS(SEAICE_waterTurnAngle*deg2rad)
       SINWIN=SIN(SEAICE_airTurnAngle*deg2rad)  
       COSWIN=COS(SEAICE_airTurnAngle*deg2rad)  
52    
53        IF ( useHB87StressCoupling ) THEN        IF ( useHB87StressCoupling ) THEN
54  C  C
# Line 59  C Line 61  C
61            DO I=1,sNx            DO I=1,sNx
62  C     average wind stress over ice and ocean and apply averaged wind  C     average wind stress over ice and ocean and apply averaged wind
63  C     stress and internal ice stresses to surface layer of ocean  C     stress and internal ice stresses to surface layer of ocean
64             areaW = 0.5 * (AREA(I,J,1,bi,bj) + AREA(I-1,J,1,bi,bj))             areaW = 0.5 * (AREA(I,J,bi,bj) + AREA(I-1,J,bi,bj))
      &          * SEAICEstressFactor  
            areaS = 0.5 * (AREA(I,J,1,bi,bj) + AREA(I,J-1,1,bi,bj))  
65       &          * SEAICEstressFactor       &          * SEAICEstressFactor
66             fu(I,J,bi,bj)=(ONE-areaW)*fu(I,J,bi,bj)             fu(I,J,bi,bj)=(ONE-areaW)*fu(I,J,bi,bj)
67       &          + areaW*taux(I,J,bi,bj)       &          + areaW*taux(I,J,bi,bj)
68       &          + stressDivergenceX(I,J,bi,bj) * SEAICEstressFactor       &          + stressDivergenceX(I,J,bi,bj) * SEAICEstressFactor
69              ENDDO
70             ENDDO
71             DO J=1,sNy
72              DO I=1,sNx
73               areaS = 0.5 * (AREA(I,J,bi,bj) + AREA(I,J-1,bi,bj))
74         &          * SEAICEstressFactor
75             fv(I,J,bi,bj)=(ONE-areaS)*fv(I,J,bi,bj)             fv(I,J,bi,bj)=(ONE-areaS)*fv(I,J,bi,bj)
76       &          + areaS*tauy(I,J,bi,bj)       &          + areaS*tauy(I,J,bi,bj)
77       &          + stressDivergenceY(I,J,bi,bj) * SEAICEstressFactor       &          + stressDivergenceY(I,J,bi,bj) * SEAICEstressFactor
# Line 86  C     ice cover Line 92  C     ice cover
92           DO i=1,sNx           DO i=1,sNx
93            fuIceLoc=HALF*( DWATN(I,J,bi,bj)+DWATN(I-1,J,bi,bj) )*            fuIceLoc=HALF*( DWATN(I,J,bi,bj)+DWATN(I-1,J,bi,bj) )*
94       &         COSWAT *       &         COSWAT *
95       &         ( UICE(I,J,1,bi,bj)-uVel(I,J,1,bi,bj) )       &         ( uIce(I,J,bi,bj)-uVel(I,J,kSrf,bi,bj) )
96       &         - SIGN(SINWAT, _fCori(I,J,bi,bj)) * 0.5 _d 0 *       &         - SIGN(SINWAT, _fCori(I,J,bi,bj)) * 0.5 _d 0 *
97       &         ( DWATN(I  ,J,bi,bj) *       &         ( DWATN(I  ,J,bi,bj) *
98       &         0.5 _d 0*(vIce(I  ,J  ,1,bi,bj)-vVel(I  ,J  ,1,bi,bj)       &         0.5 _d 0*(vIce(I  ,J  ,bi,bj)-vVel(I  ,J  ,kSrf,bi,bj)
99       &                  +vIce(I  ,J+1,1,bi,bj)-vVel(I  ,J+1,1,bi,bj))       &                  +vIce(I  ,J+1,bi,bj)-vVel(I  ,J+1,kSrf,bi,bj))
100       &         + DWATN(I-1,J,bi,bj) *       &         + DWATN(I-1,J,bi,bj) *
101       &         0.5 _d 0*(vIce(I-1,J  ,1,bi,bj)-vVel(I-1,J  ,1,bi,bj)       &         0.5 _d 0*(vIce(I-1,J  ,bi,bj)-vVel(I-1,J  ,kSrf,bi,bj)
102       &                  +vIce(I-1,J+1,1,bi,bj)-vVel(I-1,J+1,1,bi,bj))       &                  +vIce(I-1,J+1,bi,bj)-vVel(I-1,J+1,kSrf,bi,bj))
103       &         )       &         )
104            fvIceLoc=HALF*( DWATN(I,J,bi,bj)+DWATN(I,J-1,bi,bj) )*            fvIceLoc=HALF*( DWATN(I,J,bi,bj)+DWATN(I,J-1,bi,bj) )*
105       &         COSWAT *       &         COSWAT *
106       &         ( VICE(I,J,1,bi,bj)-vVel(I,J,1,bi,bj) )       &         ( vIce(I,J,bi,bj)-vVel(I,J,kSrf,bi,bj) )
107       &         + SIGN(SINWAT,  _fCori(I,J,bi,bj)) * 0.5 _d 0 *       &         + SIGN(SINWAT,  _fCori(I,J,bi,bj)) * 0.5 _d 0 *
108       &         ( DWATN(I,J  ,bi,bj) *       &         ( DWATN(I,J  ,bi,bj) *
109       &         0.5 _d 0*(uIce(I  ,J  ,1,bi,bj)-uVel(I  ,J  ,1,bi,bj)       &         0.5 _d 0*(uIce(I  ,J  ,bi,bj)-uVel(I  ,J  ,kSrf,bi,bj)
110       &                  +uIce(I+1,J  ,1,bi,bj)-uVel(I+1,J  ,1,bi,bj))       &                  +uIce(I+1,J  ,bi,bj)-uVel(I+1,J  ,kSrf,bi,bj))
111       &         + DWATN(I,J-1,bi,bj) *       &         + DWATN(I,J-1,bi,bj) *
112       &         0.5 _d 0*(uIce(I  ,J-1,1,bi,bj)-uVel(I  ,J-1,1,bi,bj)       &         0.5 _d 0*(uIce(I  ,J-1,bi,bj)-uVel(I  ,J-1,kSrf,bi,bj)
113       &                  +uIce(I+1,J-1,1,bi,bj)-uVel(I+1,J-1,1,bi,bj))       &                  +uIce(I+1,J-1,bi,bj)-uVel(I+1,J-1,kSrf,bi,bj))
114       &         )       &         )
115            areaW = 0.5 _d 0 * (AREA(I,J,1,bi,bj) + AREA(I-1,J,1,bi,bj))            areaW = 0.5 _d 0 * (AREA(I,J,bi,bj) + AREA(I-1,J,bi,bj))
116       &         * SEAICEstressFactor       &         * SEAICEstressFactor
117            areaS = 0.5 _d 0 * (AREA(I,J,1,bi,bj) + AREA(I,J-1,1,bi,bj))            areaS = 0.5 _d 0 * (AREA(I,J,bi,bj) + AREA(I,J-1,bi,bj))
118       &         * SEAICEstressFactor       &         * SEAICEstressFactor
119            fu(I,J,bi,bj)=(ONE-areaW)*fu(I,J,bi,bj)+areaW*fuIceLoc            fu(I,J,bi,bj)=(ONE-areaW)*fu(I,J,bi,bj)+areaW*fuIceLoc
120            fv(I,J,bi,bj)=(ONE-areaS)*fv(I,J,bi,bj)+areaS*fvIceLoc            fv(I,J,bi,bj)=(ONE-areaS)*fv(I,J,bi,bj)+areaS*fvIceLoc

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.28

  ViewVC Help
Powered by ViewVC 1.1.22