/[MITgcm]/MITgcm_contrib/bling/pkg/bling_carbonate_sys.F
ViewVC logotype

Diff of /MITgcm_contrib/bling/pkg/bling_carbonate_sys.F

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

revision 1.2 by mmazloff, Thu Jun 5 21:26:26 2014 UTC revision 1.3 by mmazloff, Sun Feb 28 21:49:24 2016 UTC
# Line 5  C $Name$ Line 5  C $Name$
5    
6  CBOP  CBOP
7        subroutine BLING_CARBONATE_SYS(        subroutine BLING_CARBONATE_SYS(
8       I           PTR_DIC, PTR_ALK, PTR_NUT,       I           PTR_DIC, PTR_ALK, PTR_PO4,
9       I           bi, bj, imin, imax, jmin, jmax,       I           bi, bj, imin, imax, jmin, jmax,
10       I           myIter, myTime, myThid)       I           myIter, myTime, myThid)
11    
# Line 28  C     == GLobal variables == Line 28  C     == GLobal variables ==
28  C     == Routine arguments ==  C     == Routine arguments ==
29  C     PTR_DIC              :: dissolved inorganic carbon  C     PTR_DIC              :: dissolved inorganic carbon
30  C     PTR_ALK              :: alkalinity  C     PTR_ALK              :: alkalinity
31  C     PTR_NUT              :: macro-nutrient  C     PTR_PO4              :: phosphate
32  C     myThid               :: thread Id. number  C     myThid               :: thread Id. number
33  C     myIter               :: current timestep  C     myIter               :: current timestep
34  C     myTime               :: current time  C     myTime               :: current time
# Line 37  C     myTime               :: current ti Line 37  C     myTime               :: current ti
37        _RL  myTime        _RL  myTime
38        _RL  PTR_DIC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_DIC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
39        _RL  PTR_ALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_ALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
40        _RL  PTR_NUT(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_PO4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
41        INTEGER imin, imax, jmin, jmax, bi, bj        INTEGER imin, imax, jmin, jmax, bi, bj
42                
43    
# Line 63  C     silicaDEEP        :: subsurface si Line 63  C     silicaDEEP        :: subsurface si
63         _RL pCO2local         _RL pCO2local
64         _RL pHlocal         _RL pHlocal
65         _RL silicaDEEP         _RL silicaDEEP
66    
67    
68           _RL ttmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
69           _RL stmp(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
70    
71         INTEGER CO3ITER         INTEGER CO3ITER
72         INTEGER CO3ITERmax         INTEGER CO3ITERmax
73  CEOP  CEOP
# Line 82  C determine calcite saturation state Line 87  C determine calcite saturation state
87  C$TAF LOOP = parallel  C$TAF LOOP = parallel
88         DO k=1,Nr         DO k=1,Nr
89    
90              DO j=jMin,jMax
91                DO i=iMin,iMax
92                 ttmp(i,j,k) = theta(i,j,k,bi,bj)
93                 stmp(i,j,k) = salt(i,j,k,bi,bj)
94                ENDDO
95              ENDDO
96    
97  C  Get coefficients for carbonate calculations  C  Get coefficients for carbonate calculations
98          CALL CARBON_COEFFS_PRESSURE_DEP(          CALL CARBON_COEFFS_PRESSURE_DEP(
99       I                       theta, salt,       I                       ttmp, stmp,
100       I                       bi, bj, imin, imax, jmin, jmax,       I                       bi, bj, imin, imax, jmin, jmax,
101       I                       k, myThid)       I                       k, myThid)
102    
# Line 93  C--------------------------------------- Line 105  C---------------------------------------
105  C$TAF LOOP = parallel  C$TAF LOOP = parallel
106             DO j=jMin,jMax             DO j=jMin,jMax
107  C$TAF LOOP = parallel  C$TAF LOOP = parallel
108              DO i=iMin,iMax             DO i=iMin,iMax
109    
110               IF ( hFacC(i,j,k,bi,bj) .gt. 0. _d 0) THEN               IF ( hFacC(i,j,k,bi,bj) .gt. 0. _d 0) THEN
111  C$TAF init dic_caco3 = static, 2  C$TAF init dic_caco3 = static, 2
112    
# Line 101  C$TAF init dic_caco3 = static, 2 Line 114  C$TAF init dic_caco3 = static, 2
114  C  Estimate calcium concentration from salinity  C  Estimate calcium concentration from salinity
115               calcium = 1.028 _d -2*salt(i,j,k,bi,bj)/35. _d 0               calcium = 1.028 _d -2*salt(i,j,k,bi,bj)/35. _d 0
116    
117               po4local = PTR_NUT(i,j,k)/NUTfac               po4local = PTR_PO4(i,j,k)
118               diclocal = PTR_DIC(i,j,k)               diclocal = PTR_DIC(i,j,k)
119               alklocal = PTR_ALK(i,j,k)               alklocal = PTR_ALK(i,j,k)
120               pHlocal  = pH(i,j,k,bi,bj)               pHlocal  = pH(i,j,k,bi,bj)
# Line 117  C$TAF STORE alklocal, po4local, silicaDE Line 130  C$TAF STORE alklocal, po4local, silicaDE
130  C--------------------------------------------------  C--------------------------------------------------
131    
132                 CALL CALC_PCO2_APPROX(                 CALL CALC_PCO2_APPROX(
133       I          theta(i,j,k,bi,bj),salt(i,j,k,bi,bj),       I          ttmp(i,j,k),stmp(i,j,k),
134       I          diclocal, po4local,       I          diclocal, po4local,
135       I          silicaDEEP,alklocal,       I          silicaDEEP,alklocal,
136       I          ak1(i,j,bi,bj),ak2(i,j,bi,bj),       I          ak1(i,j,bi,bj),ak2(i,j,bi,bj),
# Line 141  C  saturation state Line 154  C  saturation state
154    
155             else             else
156    
157                 pH(i,j,k,bi,bj) = 8. _d 0
158               omegaC(i,j,k,bi,bj)  = 0. _d 0               omegaC(i,j,k,bi,bj)  = 0. _d 0
159               omegaAr(i,j,k,bi,bj) = 0. _d 0               omegaAr(i,j,k,bi,bj) = 0. _d 0
160    

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

  ViewVC Help
Powered by ViewVC 1.1.22