/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_radtrans_iter.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/monod/monod_radtrans_iter.F

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

revision 1.1 by jahn, Wed Apr 13 18:56:25 2011 UTC revision 1.2 by jahn, Mon Jul 30 15:21:51 2012 UTC
# Line 11  C !INTERFACE: ========================== Line 11  C !INTERFACE: ==========================
11       I                   H,rmud,Edsf,Essf,a_k,bt_k,bb_k,kmax,niter,       I                   H,rmud,Edsf,Essf,a_k,bt_k,bb_k,kmax,niter,
12       O                   Edbot,Esbot,Eubot,Eutop,       O                   Edbot,Esbot,Eubot,Eutop,
13       O                   tirrq,tirrwq,       O                   tirrq,tirrwq,
14         O                   c1out, c2out,
15       I                   myThid)       I                   myThid)
16    
17  C !DESCRIPTION:  C !DESCRIPTION:
# Line 74  C     tirrwq :: total scalar irradiance Line 75  C     tirrwq :: total scalar irradiance
75        _RL Edbot(tlam,Nr),Esbot(tlam,Nr),Eubot(tlam,Nr),Eutop(tlam,Nr)        _RL Edbot(tlam,Nr),Esbot(tlam,Nr),Eubot(tlam,Nr),Eutop(tlam,Nr)
76        _RL tirrq(Nr)        _RL tirrq(Nr)
77        _RL tirrwq(tlam,Nr)        _RL tirrwq(tlam,Nr)
78          _RL c1out(tlam,Nr), c2out(tlam,Nr)
79    
80  #ifdef DAR_RADTRANS  #ifdef DAR_RADTRANS
81    
# Line 115  c     find deepest wet layer Line 117  c     find deepest wet layer
117          Edbot(nl,k) = 0.0          Edbot(nl,k) = 0.0
118          Esbot(nl,k) = 0.0          Esbot(nl,k) = 0.0
119          Eubot(nl,k) = 0.0          Eubot(nl,k) = 0.0
120            c1out(nl,k) = 0.0
121            c2out(nl,k) = 0.0
122         ENDDO         ENDDO
123         IF (Edsf(nl) .GE. darwin_radmodThresh .OR.         IF (Edsf(nl) .GE. darwin_radmodThresh .OR.
124       &     Essf(nl) .GE. darwin_radmodThresh) THEN       &     Essf(nl) .GE. darwin_radmodThresh) THEN
# Line 160  C     start with Aas solution (no increa Line 164  C     start with Aas solution (no increa
164           Estop(nl,k+1) = MAX(0., c2*expAsdr(k) + x(k)*Edbot(nl,k))           Estop(nl,k+1) = MAX(0., c2*expAsdr(k) + x(k)*Edbot(nl,k))
165           Eubot(nl,k) = MAX(0., R2(k)*c2*expAsdr(k) + y(k)*Edbot(nl,k))           Eubot(nl,k) = MAX(0., R2(k)*c2*expAsdr(k) + y(k)*Edbot(nl,k))
166           Eutop(nl,k) = R2(k)*c2 + y(k)*Edtop(nl,k)           Eutop(nl,k) = R2(k)*c2 + y(k)*Edtop(nl,k)
167             c1out(nl,k) = 0.
168             c2out(nl,k) = c2
169          ENDDO          ENDDO
170  C       Aas b.c. in bottom layer  C       Aas b.c. in bottom layer
171          c2 = Estop(nl,kbot) - x(kbot)*Edtop(nl,kbot)          c2 = Estop(nl,kbot) - x(kbot)*Edtop(nl,kbot)
172          Eutop(nl,kbot) = R2(kbot)*c2 + y(kbot)*Edtop(nl,kbot)          Eutop(nl,kbot) = R2(kbot)*c2 + y(kbot)*Edtop(nl,kbot)
173            c1out(nl,kbot) = 0.
174            c2out(nl,kbot) = c2
175    
176  c     improve solution iteratively  c     improve solution iteratively
177          DO iter=1,niter          DO iter=1,niter
# Line 190  c         compute Estop(k+1) from Estop( Line 198  c         compute Estop(k+1) from Estop(
198            Esnew = expAsdr(k)*c2 + c1 + x(k)*Edbot(nl,k)            Esnew = expAsdr(k)*c2 + c1 + x(k)*Edbot(nl,k)
199            Estop(nl,k+1) = MAX(0., Esnew)            Estop(nl,k+1) = MAX(0., Esnew)
200            Eutop(nl,k) = R2(k)*c2+R1(k)*expmAudr(k)*c1+y(k)*Edtop(nl,k)            Eutop(nl,k) = R2(k)*c2+R1(k)*expmAudr(k)*c1+y(k)*Edtop(nl,k)
201              c1out(nl,k) = c1
202              c2out(nl,k) = c2
203           ENDDO           ENDDO
204  C        Aas b.c. in bottom layer  C        Aas b.c. in bottom layer
205           c2 = Estop(nl,kbot) - x(kbot)*Edtop(nl,kbot)           c2 = Estop(nl,kbot) - x(kbot)*Edtop(nl,kbot)
206           Eutop(nl,kbot) = R2(kbot)*c2 + y(kbot)*Edtop(nl,kbot)           Eutop(nl,kbot) = R2(kbot)*c2 + y(kbot)*Edtop(nl,kbot)
207             c1out(nl,kbot) = 0.
208             c2out(nl,kbot) = c2
209  C       enddo iter  C       enddo iter
210          ENDDO          ENDDO
211    

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

  ViewVC Help
Powered by ViewVC 1.1.22