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

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

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

revision 1.7 by jmc, Sat Dec 4 00:15:14 2004 UTC revision 1.8 by stephd, Thu Aug 18 18:24:29 2005 UTC
# Line 80  c  freefe                 :: iron not bo Line 80  c  freefe                 :: iron not bo
80        _RL  SURC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  SURC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
81        _RL  SURO(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  SURO(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
82        _RL  BIO(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  BIO(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
83          _RL  BIO_kar(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
84        _RL  CAR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  CAR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
85        _RL  bioac(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  bioac(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
86        _RL  pflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  pflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
# Line 89  c  freefe                 :: iron not bo Line 90  c  freefe                 :: iron not bo
90        _RL  freefe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  freefe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
91  #endif  #endif
92         INTEGER I,J,k         INTEGER I,J,k
93           INTEGER nCALCITEstep
94  CEOP  CEOP
95    
96         DO k=1,Nr         DO k=1,Nr
# Line 103  CEOP Line 105  CEOP
105             SURC(i,j)=0.d0             SURC(i,j)=0.d0
106             CAR(i,j,k)=0.d0             CAR(i,j,k)=0.d0
107             BIO(i,j,k)=0.d0             BIO(i,j,k)=0.d0
108               BIO_kar(i,j,k)=0.d0
109             bioac(i,j,k)=0.d0             bioac(i,j,k)=0.d0
110             pflux(i,j,k)=0.d0             pflux(i,j,k)=0.d0
111             cflux(i,j,k)=0.d0             cflux(i,j,k)=0.d0
# Line 151  c flux of po4 from layers with biologica Line 154  c flux of po4 from layers with biologica
154       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
155    
156  c carbonate  c carbonate
157    #ifdef CAR_DISS
158    c dissolution only below saturation horizon
159    c code following methid by Karsten Friis
160             nCALCITEstep = 3600
161             IF(myIter .lt. (nIter0+5) .or.
162         &               mod(myIter,nCALCITEstep) .eq. 0)THEN
163               CALL CALCITE_SATURATION(
164         I                    bi,bj,imin,imax,jmin,jmax,
165         I                    myIter,myTime,myThid)
166            ENDIF
167    c
168            CALL CAR_FLUX_OMEGA_TOP( bioac, cflux,
169         &                    bi,bj,imin,imax,jmin,jmax,
170         &                    myIter,myTime,myThid)
171    #else
172    c old OCMIP way
173          CALL CAR_FLUX( bioac, cflux,          CALL CAR_FLUX( bioac, cflux,
174       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
175       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
176    #endif
177    
178  c add all tendencies for PO4, DOP, ALK, DIC  c add all tendencies for PO4, DOP, ALK, DIC
179         DO k=1,Nr         DO k=1,Nr
# Line 167  c add all tendencies for PO4, DOP, ALK, Line 187  c add all tendencies for PO4, DOP, ALK,
187             GDOP(i,j,k)=+bioac(i,j,k)*DOPfraction             GDOP(i,j,k)=+bioac(i,j,k)*DOPfraction
188       &         - maskC(i,j,k,bi,bj)*Kdopremin*PTR_DOP(i,j,k)       &         - maskC(i,j,k,bi,bj)*Kdopremin*PTR_DOP(i,j,k)
189             GALK(i,j,k)=+2.d0*car(i,j,k)-R_NP*bio(i,j,k)             GALK(i,j,k)=+2.d0*car(i,j,k)-R_NP*bio(i,j,k)
190               BIO_kar(i,j,k)=R_NP*bio(i,j,k)
191             GDIC(i,j,k)=car(i,j,k)+R_CP*bio(i,j,k)             GDIC(i,j,k)=car(i,j,k)+R_CP*bio(i,j,k)
192             if (PTR_O2(i,j,k).gt.o2crit) then             if (PTR_O2(i,j,k).gt.o2crit) then
193               GO2(i,j,k)=R_OP*bio(i,j,k)               GO2(i,j,k)=R_OP*bio(i,j,k)
# Line 222  c save averages Line 243  c save averages
243       &                          BIOac(i,j,k)*deltaTclock       &                          BIOac(i,j,k)*deltaTclock
244              CARave(i,j,k,bi,bj)=CARave(i,j,k,bi,bj)+              CARave(i,j,k,bi,bj)=CARave(i,j,k,bi,bj)+
245       &                          CAR(i,j,k)*deltaTclock       &                          CAR(i,j,k)*deltaTclock
246                OmegaCave(i,j,k,bi,bj)= OmegaCave(i,j,k,bi,bj)+
247         &                           OmegaC(i,j,k,bi,bj)*deltaTclock
248                pfluxave(i,j,k,bi,bj)= pfluxave(i,j,k,bi,bj) +
249         &                           pflux(i,j,k)*deltaTclock
250                cfluxave(i,j,k,bi,bj)= cfluxave(i,j,k,bi,bj) +
251         &                           cflux(i,j,k)*deltaTclock
252              if (k.eq.1) then              if (k.eq.1) then
253                SURave(i,j,bi,bj)=SURave(i,j,bi,bj)+                SURave(i,j,bi,bj)=SURave(i,j,bi,bj)+
254       &                          SURC(i,j)*deltaTclock       &                          SURC(i,j)*deltaTclock

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

  ViewVC Help
Powered by ViewVC 1.1.22