/[MITgcm]/MITgcm/model/src/calc_3d_diffusivity.F
ViewVC logotype

Diff of /MITgcm/model/src/calc_3d_diffusivity.F

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

revision 1.6 by dimitri, Thu Apr 5 22:51:48 2007 UTC revision 1.7 by dimitri, Wed Apr 11 00:00:47 2007 UTC
# Line 62  C     i, j, k    :: Loop counters Line 62  C     i, j, k    :: Loop counters
62  C     iTr        :: passive tracer index  C     iTr        :: passive tracer index
63  C     msgBuf     :: message buffer  C     msgBuf     :: message buffer
64        INTEGER i,j,k        INTEGER i,j,k
65        _RL KbryanLewis79        _RL KbryanLewis79, KbryanLewisHL, KbryanLewisEQ
66        CHARACTER*(MAX_LEN_MBUF) msgBuf        CHARACTER*(MAX_LEN_MBUF) msgBuf
67  #ifdef ALLOW_PTRACERS  #ifdef ALLOW_PTRACERS
68        INTEGER iTr        INTEGER iTr
# Line 72  CEOP Line 72  CEOP
72        IF ( trIdentity.EQ.GAD_TEMPERATURE) THEN        IF ( trIdentity.EQ.GAD_TEMPERATURE) THEN
73    
74         DO k = 1,Nr         DO k = 1,Nr
75          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewisHL=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
76       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
77            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
78         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
79          DO j = 1-Oly,sNy+Oly          DO j = 1-Oly,sNy+Oly
80             IF ( abs(YC(i,j,bi,bj)) .GT. KbryanLewisLatTransition ) THEN
81              KbryanLewis79 = KbryanLewisHL
82             ELSE
83              KbryanLewis79 = KbryanLewisHL-(KbryanLewisHL-KbryanLewisEQ)*
84         &         (1+cos(YC(i,j,bi,bj)*pi/KbryanLewisLatTransition)) / 2
85             ENDIF
86           DO i = 1-Olx,sNx+Olx           DO i = 1-Olx,sNx+Olx
87            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
88       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
# Line 92  CEOP Line 100  CEOP
100        ELSEIF ( trIdentity.EQ.GAD_SALINITY) THEN        ELSEIF ( trIdentity.EQ.GAD_SALINITY) THEN
101    
102         DO k = 1,Nr         DO k = 1,Nr
103          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewisHL=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
104       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
105            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
106         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
107          DO j = 1-Oly, sNy+Oly          DO j = 1-Oly, sNy+Oly
108             IF ( abs(YC(i,j,bi,bj)) .GT. KbryanLewisLatTransition ) THEN
109              KbryanLewis79 = KbryanLewisHL
110             ELSE
111              KbryanLewis79 = KbryanLewisHL-(KbryanLewisHL-KbryanLewisEQ)*
112         &         (1+cos(YC(i,j,bi,bj)*pi/KbryanLewisLatTransition)) / 2
113             ENDIF
114           DO i = 1-Olx, sNx+Olx           DO i = 1-Olx, sNx+Olx
115            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
116       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa
# Line 115  CEOP Line 131  CEOP
131    
132         iTr = trIdentity - GAD_TR1 + 1         iTr = trIdentity - GAD_TR1 + 1
133         DO k = 1,Nr         DO k = 1,Nr
134          KbryanLewis79=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)          KbryanLewisHL=diffKrBL79surf+(diffKrBL79deep-diffKrBL79surf)
135       &  *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)       &   *( atan( -( rF(k)-diffKrBL79Ho )/diffKrBL79scl )/PI+0.5 _d 0)
136            KbryanLewisEQ=diffKrBLEQsurf+(diffKrBLEQdeep-diffKrBLEQsurf)
137         &   *( atan( -( rF(k)-diffKrBLEQHo )/diffKrBLEQscl )/PI+0.5 _d 0)
138          DO j = 1-Oly, sNy+Oly          DO j = 1-Oly, sNy+Oly
139             IF ( abs(YC(i,j,bi,bj)) .GT. KbryanLewisLatTransition ) THEN
140              KbryanLewis79 = KbryanLewisHL
141             ELSE
142              KbryanLewis79 = KbryanLewisHL-(KbryanLewisHL-KbryanLewisEQ)*
143         &         (1+cos(YC(i,j,bi,bj)*pi/KbryanLewisLatTransition)) / 2
144             ENDIF
145           DO i = 1-Olx, sNx+Olx           DO i = 1-Olx, sNx+Olx
146            KappaRTr(i,j,k) =            KappaRTr(i,j,k) =
147       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa       &         IVDConvCount(i,j,k,bi,bj)*ivdc_kappa

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

  ViewVC Help
Powered by ViewVC 1.1.22