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

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

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

revision 1.21 by dfer, Mon Apr 7 20:31:17 2008 UTC revision 1.22 by jmc, Mon Mar 22 02:25:20 2010 UTC
# Line 12  C !INTERFACE: ========================== Line 12  C !INTERFACE: ==========================
12       I           myIter, myTime, myThid )       I           myIter, myTime, myThid )
13    
14  C !DESCRIPTION:  C !DESCRIPTION:
15  C Calculate the oxygen air-sea flux terms                C Calculate the oxygen air-sea flux terms
16    
17  C !USES: ===============================================================  C !USES: ===============================================================
18        IMPLICIT NONE        IMPLICIT NONE
# Line 50  C Solubility relation coefficients Line 50  C Solubility relation coefficients
50        _RL O2sat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL O2sat(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
51        _RL Kwexch(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL Kwexch(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
52        _RL FluxO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL FluxO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
53        _RL  aTT        _RL  aTT
54        _RL  aTK        _RL  aTK
55        _RL  aTS        _RL  aTS
56        _RL  aTS2        _RL  aTS2
# Line 73  C calculate SCHMIDT NO. for O2 Line 73  C calculate SCHMIDT NO. for O2
73                ttemp = theta(i,j,k,bi,bj)                ttemp = theta(i,j,k,bi,bj)
74                stemp = salt(i,j,k,bi,bj)                stemp = salt(i,j,k,bi,bj)
75    
76                SchmidtNoO2(i,j) =                SchmidtNoO2(i,j) =
77       &            sox1       &            sox1
78       &          + sox2 * ttemp       &          + sox2 * ttemp
79       &          + sox3 * ttemp*ttemp         &          + sox3 * ttemp*ttemp
80       &          + sox4 * ttemp*ttemp*ttemp       &          + sox4 * ttemp*ttemp*ttemp
81    
82  C Determine surface flux of O2  C Determine surface flux of O2
83  C exchange coeff accounting for ice cover and Schmidt no.  C exchange coeff accounting for ice cover and Schmidt no.
84  C Kwexch_Pre= pisvel*(1-fice): previously computed in dic_surfforcing.F  C Kwexch_Pre= pisvel*(1-fice): previously computed in dic_surfforcing.F
85    
# Line 87  C Kwexch_Pre= pisvel*(1-fice): previousl Line 87  C Kwexch_Pre= pisvel*(1-fice): previousl
87       &                    / sqrt(SchmidtNoO2(i,j)/660.0 _d 0)       &                    / sqrt(SchmidtNoO2(i,j)/660.0 _d 0)
88    
89  C determine saturation O2  C determine saturation O2
90  C using Garcia and Gordon (1992), L&O (mistake in original???)  C using Garcia and Gordon (1992), L&O (mistake in original ?)
91                aTT  = 298.15 _d 0 -ttemp                aTT  = 298.15 _d 0 -ttemp
92                aTK  = 273.15 _d 0 +ttemp                aTK  = 273.15 _d 0 +ttemp
93                aTS  = log(aTT/aTK)                aTS  = log(aTT/aTK)
# Line 96  C using Garcia and Gordon (1992), L&O (m Line 96  C using Garcia and Gordon (1992), L&O (m
96                aTS4 = aTS3*aTS                aTS4 = aTS3*aTS
97                aTS5 = aTS4*aTS                aTS5 = aTS4*aTS
98    
99                oCnew  = oA0 + oA1*aTS + oA2*aTS2 + oA3*aTS3 +                oCnew  = oA0 + oA1*aTS + oA2*aTS2 + oA3*aTS3 +
100       &            oA4*aTS4 + oA5*aTS5       &            oA4*aTS4 + oA5*aTS5
101       &          + stemp*(oB0 + oB1*aTS + oB2*aTS2 + oB3*aTS3)       &          + stemp*(oB0 + oB1*aTS + oB2*aTS2 + oB3*aTS3)
102       &          + oC0*(stemp*stemp)       &          + oC0*(stemp*stemp)
# Line 108  c Convert from ml/l to mol/m^3 Line 108  c Convert from ml/l to mol/m^3
108    
109  C Determine flux, inc. correction for local atmos surface pressure  C Determine flux, inc. correction for local atmos surface pressure
110                FluxO2(i,j) = Kwexch(i,j)*                FluxO2(i,j) = Kwexch(i,j)*
111       &                     (AtmosP(i,j,bi,bj)*O2sat(i,j)       &                     (AtmosP(i,j,bi,bj)*O2sat(i,j)
112       &                      - PTR_O2(i,j,K))       &                      - PTR_O2(i,j,K))
113              ELSE              ELSE
114                FluxO2(i,j) = 0. _d 0                FluxO2(i,j) = 0. _d 0
115              ENDIF              ENDIF
# Line 118  C Determine flux, inc. correction for lo Line 118  C Determine flux, inc. correction for lo
118            END DO            END DO
119          END DO          END DO
120    
121  C update surface tendencies        C update surface tendencies
122          DO j=jmin,jmax          DO j=jmin,jmax
123            DO i=imin,imax            DO i=imin,imax
124             SGO2(i,j)= FluxO2(i,j)             SGO2(i,j)= FluxO2(i,j)

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.22