/[MITgcm]/MITgcm/pkg/dic/fe_chem.F
ViewVC logotype

Diff of /MITgcm/pkg/dic/fe_chem.F

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

revision 1.9 by stephd, Tue Nov 28 21:16:03 2006 UTC revision 1.11 by stephd, Thu Dec 6 22:24:34 2007 UTC
# Line 41  CEndOfInterface Line 41  CEndOfInterface
41    
42        INTEGER I,J,K        INTEGER I,J,K
43        _RL  lig, FeL        _RL  lig, FeL
44          _RL  tmpfe
45    
46  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc
47  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc  CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCc
# Line 58  C in surface layer Line 59  C in surface layer
59    
60         DO j=jmin,jmax         DO j=jmin,jmax
61          DO i=imin,imax          DO i=imin,imax
62           DO k=1,nR           DO k=1,Nr
63            IF(hFacC(i,j,k,bi,bj) .gt. 0.0)THEN            IF (hFacC(i,j,k,bi,bj) .GT. 0. _d 0) THEN
64    
65  C   Ligand,FeL,Fe calculation  #ifdef DIC_NO_NEG
66                  tmpfe=max(0. _d0 , fe (i,j,k,bi,bj))
67    #else
68                  tmpfe=fe (i,j,k,bi,bj)
69    #endif
70                            
71                lig=(-ligand_stab*fe (i,j,k,bi,bj)+  C   Ligand,FeL,Fe calculation
72       &              ligand_stab*ligand_tot-1                lig=(-ligand_stab*tmpfe +
73       &             +((ligand_stab*fe (i,j,k,bi,bj)       &              ligand_stab*ligand_tot-1. _d 0
74       &                -ligand_stab*ligand_tot+1)**2+4       &             +((ligand_stab*tmpfe
75       &                *ligand_stab*ligand_tot)**0.5)/(2*ligand_stab)       &                -ligand_stab*ligand_tot+1. _d 0)**2
76         &               +4. _d 0*ligand_stab*ligand_tot)**0.5 _d 0
77         &            )/(2. _d 0*ligand_stab)
78    
79                FeL = ligand_tot-lig                FeL = ligand_tot-lig
80                freefe(i,j,k,bi,bj) = fe (i,j,k,bi,bj)-FeL                if (tmpfe.eq.0. _d 0) then
81                    freefe(i,j,k,bi,bj) = tmpfe -FeL
82                  else
83                    freefe(i,j,k,bi,bj) = 0. _d 0
84                  endif
85  #ifdef MINFE  #ifdef MINFE
86  #ifdef AD_SAFE  #ifdef AD_SAFE
87                thx=freefe(i,j,k,bi,bj)                thx=freefe(i,j,k,bi,bj)
88                thy=freefemax                thy=freefemax
89                theps=1.d-8                theps=1. _d -8
90                freefe(i,j,k,bi,bj) =                freefe(i,j,k,bi,bj) =
91       &                 ( 1.d0 - tanh((thx-thy)/theps) ) * thx/2 +       &                 ( 1. _d 0 - tanh((thx-thy)/theps) ) * thx/2.+
92       &                 ( 1.d0 + tanh((thx-thy)/theps) ) * thy/2       &                 ( 1. _d 0 + tanh((thx-thy)/theps) ) * thy/2.
93    
94  #else  #else
95                freefe(i,j,k,bi,bj) = min(freefe(i,j,k,bi,bj),freefemax)                freefe(i,j,k,bi,bj) = min(freefe(i,j,k,bi,bj),freefemax)
# Line 92  C   Ligand,FeL,Fe calculation Line 103  C   Ligand,FeL,Fe calculation
103  c  c
104  #endif  #endif
105          RETURN          RETURN
106          END                                END

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22