/[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.12 by stephd, Tue Nov 28 21:16:03 2006 UTC revision 1.22 by dfer, Tue Apr 8 16:18:43 2008 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3    
4  #include "DIC_OPTIONS.h"  #include "DIC_OPTIONS.h"
 #include "GCHEM_OPTIONS.h"  
5    
6  CBOP  CBOP
7  C !ROUTINE: DIC_BIOTIC_FORCING  C !ROUTINE: DIC_BIOTIC_FORCING
8    
9  C !INTERFACE: ==========================================================  C !INTERFACE: ==========================================================
10        SUBROUTINE DIC_BIOTIC_FORCING( PTR_DIC, PTR_ALK, PTR_PO4,        SUBROUTINE DIC_BIOTIC_FORCING( PTR_DIC, PTR_ALK, PTR_PO4,
11       &                            PTR_DOP, PTR_O2,       &                            PTR_DOP,
12    #ifdef ALLOW_O2
13         &                            PTR_O2,
14    #endif
15  #ifdef ALLOW_FE  #ifdef ALLOW_FE
16       &                            PTR_FE,       &                            PTR_FE,
17  #endif  #endif
# Line 27  C !USES: =============================== Line 29  C !USES: ===============================
29  #include "EEPARAMS.h"  #include "EEPARAMS.h"
30  #include "PARAMS.h"  #include "PARAMS.h"
31  #include "GRID.h"  #include "GRID.h"
32  #include "DIC_BIOTIC.h"  #include "DIC_VARS.h"
 #include "DIC_ABIOTIC.h"  
33    
34  C !INPUT PARAMETERS: ===================================================  C !INPUT PARAMETERS: ===================================================
35  C  myThid               :: thread number  C  myThid               :: thread number
# Line 47  C  PTR_FE               :: iron Line 48  C  PTR_FE               :: iron
48        _RL  PTR_ALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_ALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
49        _RL  PTR_PO4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_PO4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
50        _RL  PTR_DOP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_DOP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
51    #ifdef ALLOW_O2
52        _RL  PTR_O2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_O2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
53    #endif
54  #ifdef ALLOW_FE  #ifdef ALLOW_FE
55        _RL  PTR_FE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  PTR_FE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
56  #endif  #endif
# Line 63  C  SURA                   :: tendency of Line 66  C  SURA                   :: tendency of
66  C  SURC                   :: tendency of DIC due to air-sea exchange  C  SURC                   :: tendency of DIC due to air-sea exchange
67  C                            and virtual flux  C                            and virtual flux
68  C  SURO                   :: tendency of O2 due to air-sea exchange  C  SURO                   :: tendency of O2 due to air-sea exchange
69  C  BIO                    :: tendency of PO4 due to biological productivity,  C  GPO4                   :: tendency of PO4 due to biological productivity,
70  C                            exchange with DOP pool and reminerization  C                            exchange with DOP pool and reminerization
71  C  CAR                    :: carbonate changes due to biological  C  CAR                    :: carbonate changes due to biological
72  C                             productivity and reminerization  C                             productivity and remineralization
73  C  bioac                  :: biological productivity  C  BIOac                  :: biological productivity
74  C  pflux                  :: changes to PO4 due to flux and reminerlization  C  RDOP                   :: DOP sink due to remineralization
75  c  cflux                  :: carbonate changes due to flux and reminerlization  C  pflux                  :: changes to PO4 due to flux and remineralization
76  c  freefe                 :: iron not bound to ligand  C  CAR_S                  :: carbonate sink
77    C  cflux                  :: carbonate changes due to flux and remineralization
78    C  freefe                 :: iron not bound to ligand
79        _RL  GDIC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  GDIC(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
80        _RL  GALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  GALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
81        _RL  GPO4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  GPO4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
82        _RL  GDOP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  GDOP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
       _RL  GO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)  
83        _RL  SURA(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  SURA(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
84        _RL  SURC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  SURC(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
85        _RL  SURO(1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL  SURO(1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RL  BIO(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)  
       _RL  BIO_kar(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)  
86        _RL  CAR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  CAR(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
87        _RL  bioac(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  BIOac(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
88          _RL  RDOP(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
89        _RL  pflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  pflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
90          _RL  exportflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
91          _RL  CAR_S(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
92        _RL  cflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  cflux(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
93    #ifdef ALLOW_O2
94          _RL  GO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
95    #endif
96  #ifdef ALLOW_FE  #ifdef ALLOW_FE
97        _RL  GFE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  GFE(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
98        _RL  freefe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL  freefe(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
# Line 92  c  freefe                 :: iron not bo Line 100  c  freefe                 :: iron not bo
100         INTEGER I,J,k         INTEGER I,J,k
101         INTEGER nCALCITEstep         INTEGER nCALCITEstep
102  CEOP  CEOP
        jmin=1  
        jmax=sNy  
        imin=1  
        imax=sNx  
103    
104         DO k=1,Nr         DO k=1,Nr
105           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
106            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
107             GDIC(i,j,k)=0.d0             RDOP(i,j,k) =0. _d 0
108             GALK(i,j,k)=0.d0             GDIC(i,j,k) =0. _d 0
109             GPO4(i,j,k)=0.d0             GALK(i,j,k) =0. _d 0
110             GDOP(i,j,k)=0.d0             GPO4(i,j,k) =0. _d 0
111             GO2(i,j,k)=0.d0             GDOP(i,j,k) =0. _d 0
112             SURA(i,j)=0.d0             CAR(i,j,k)  =0. _d 0
113             SURC(i,j)=0.d0             BIOac(i,j,k)   =0. _d 0
114             CAR(i,j,k)=0.d0             pflux(i,j,k)   =0. _d 0
115             BIO(i,j,k)=0.d0             exportflux(i,j,k)=0. _d 0
116             BIO_kar(i,j,k)=0.d0             cflux(i,j,k)   =0. _d 0
117             bioac(i,j,k)=0.d0             CAR_S(i,j,k)   =0. _d 0
118             pflux(i,j,k)=0.d0  #ifdef ALLOW_O2
119             cflux(i,j,k)=0.d0             GO2(i,j,k)     =0. _d 0
120    #endif
121  #ifdef ALLOW_FE  #ifdef ALLOW_FE
122             GFE(i,j,k)=0.d0             GFE(i,j,k)     =0. _d 0
123             freefe(i,j,k)=0.d0             freefe(i,j,k)  =0. _d 0
124  #endif  #endif
125            ENDDO            ENDDO
126           ENDDO           ENDDO
127         ENDDO         ENDDO
128             DO j=1-OLy,sNy+OLy
129              DO i=1-OLx,sNx+OLx
130               SURA(i,j)   =0. _d 0
131               SURC(i,j)   =0. _d 0
132               SURO(i,j)   =0. _d 0
133              ENDDO
134             ENDDO
135    
136  c carbon air-sea interaction  c carbon air-sea interaction
137         CALL DIC_SURFFORCING( PTR_DIC, PTR_ALK, PTR_PO4, SURC,         CALL DIC_SURFFORCING( PTR_DIC, PTR_ALK, PTR_PO4, SURC,
# Line 131  c alkalinity air-sea interaction Line 143  c alkalinity air-sea interaction
143       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
144       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
145    
146  c carbon air-sea interaction  #ifdef ALLOW_O2
147    c oxygen air-sea interaction
148         CALL O2_SURFFORCING( PTR_O2, SURO,         CALL O2_SURFFORCING( PTR_O2, SURO,
149       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
150       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
151    #endif
152    
153  #ifdef ALLOW_FE  #ifdef ALLOW_FE
154  c find free iron  c find free iron
# Line 148  c biological activity Line 162  c biological activity
162  #ifdef ALLOW_FE  #ifdef ALLOW_FE
163       I           PTR_FE,       I           PTR_FE,
164  #endif  #endif
165       I           bioac,       I           BIOac,
166       I           bi,bj,imin,imax,jmin,jmax,       I           bi,bj,imin,imax,jmin,jmax,
167       I           myIter,myTime,myThid)       I           myIter,myTime,myThid)
168    
169  c flux of po4 from layers with biological activity  c flux of po4 from layers with biological activity
170         CALL PHOS_FLUX( bioac, pflux,         CALL PHOS_FLUX( BIOac, pflux, exportflux,
171       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
172       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
173    
174    C- Carbonate sink
175           DO k=1,Nr
176             DO j=jmin,jmax
177              DO i=imin,imax
178                 CAR_S(i,j,k)=BIOac(i,j,k)*R_CP*rain_ratio(i,j,bi,bj)*
179         &                    (1. _d 0-DOPfraction)
180              ENDDO
181             ENDDO
182           ENDDO
183    
184  c carbonate  c carbonate
185  #ifdef CAR_DISS  #ifdef CAR_DISS
186  c dissolution only below saturation horizon  c dissolution only below saturation horizon
# Line 169  c code following methid by Karsten Friis Line 193  c code following methid by Karsten Friis
193       I                    myIter,myTime,myThid)       I                    myIter,myTime,myThid)
194          ENDIF          ENDIF
195  c  c
196          CALL CAR_FLUX_OMEGA_TOP( bioac, cflux,          CALL CAR_FLUX_OMEGA_TOP( BIOac, cflux,
197       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
198       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
199  #else  #else
200  c old OCMIP way  c old OCMIP way
201          CALL CAR_FLUX( bioac, cflux,          CALL CAR_FLUX( CAR_S, cflux,
202       &                    bi,bj,imin,imax,jmin,jmax,       &                    bi,bj,imin,imax,jmin,jmax,
203       &                    myIter,myTime,myThid)       &                    myIter,myTime,myThid)
204  #endif  #endif
# Line 183  c add all tendencies for PO4, DOP, ALK, Line 207  c add all tendencies for PO4, DOP, ALK,
207         DO k=1,Nr         DO k=1,Nr
208           DO j=jmin,jmax           DO j=jmin,jmax
209            DO i=imin,imax            DO i=imin,imax
210             bio(i,j,k)=-bioac(i,j,k)+pflux(i,j,k)  #ifdef DIC_NO_NEG
211       &         + maskC(i,j,k,bi,bj)*Kdopremin*PTR_DOP(i,j,k)             RDOP(i,j,k)= MAX(maskC(i,j,k,bi,bj)*KDOPRemin*PTR_DOP(i,j,k)
212             car(i,j,k)=-bioac(i,j,k)* R_cp*rain_ratio(i,j,bi,bj)*       &                     ,0. _d 0)
213       &                (1.0-DOPfraction)+cflux(i,j,k)  #else
214             GPO4(i,j,k)=bio(i,j,k)             RDOP(i,j,k)= maskC(i,j,k,bi,bj)*KDOPRemin*PTR_DOP(i,j,k)
215             GDOP(i,j,k)=+bioac(i,j,k)*DOPfraction  #endif
216       &         - maskC(i,j,k,bi,bj)*Kdopremin*PTR_DOP(i,j,k)             GPO4(i,j,k)=-BIOac(i,j,k)+pflux(i,j,k) + RDOP(i,j,k)
217             GALK(i,j,k)=+2.d0*car(i,j,k)-R_NP*bio(i,j,k)  
218             BIO_kar(i,j,k)=R_NP*bio(i,j,k)             car(i,j,k) = cflux(i,j,k) - CAR_S(i,j,k)
219             GDIC(i,j,k)=car(i,j,k)+R_CP*bio(i,j,k)  
220             if (PTR_O2(i,j,k).gt.o2crit) then             GDOP(i,j,k)=+BIOac(i,j,k)*DOPfraction - RDOP(i,j,k)
221               GO2(i,j,k)=R_OP*bio(i,j,k)  
222               GALK(i,j,k)=+2. _d 0 *car(i,j,k)-R_NP*GPO4(i,j,k)
223    
224               GDIC(i,j,k)=car(i,j,k)+R_CP*GPO4(i,j,k)
225    
226    #ifdef ALLOW_O2
227               if (PTR_O2(i,j,k).GT.O2crit) then
228                 GO2(i,j,k)= R_OP*GPO4(i,j,k)
229             else             else
230               GO2(i,j,k)=0.d0               GO2(i,j,k)= 0. _d 0
231             endif             endif
232    #endif
233  #ifdef ALLOW_FE  #ifdef ALLOW_FE
234             GFE(i,j,k)=R_FeP*bio(i,j,k)             GFE(i,j,k) = R_FeP*GPO4(i,j,k)
235       &             -Kscav*freefe(i,j,k)       &                 -Kscav*freefe(i,j,k)
236  #endif  #endif
237             IF (K.eq.1) then            ENDDO
238             ENDDO
239           ENDDO
240    
241             DO j=jmin,jmax
242              DO i=imin,imax
243                 GALK(i,j,1)=GALK(i,j,1)+SURA(i,j)                 GALK(i,j,1)=GALK(i,j,1)+SURA(i,j)
244                 GDIC(i,j,1)=GDIC(i,j,1)+SURC(i,j)                 GDIC(i,j,1)=GDIC(i,j,1)+SURC(i,j)
245                 GO2(i,j,1)=GO2(i,j,1)+SURO(i,j)  #ifdef ALLOW_O2
246                   GO2(i,j,1) =GO2(i,j,1)+SURO(i,j)
247    #endif
248  #ifdef ALLOW_FE  #ifdef ALLOW_FE
249                 GFE(i,j,1)=GFE(i,j,1)+alpfe*                 GFE(i,j,1)=GFE(i,j,1)+alpfe*
250       &                    InputFe(i,j,bi,bj)*recip_drF(1)       &                    InputFe(i,j,bi,bj)*recip_drF(1)
251       &                       *recip_hFacC(i,j,1,bi,bj)       &                       *recip_hFacC(i,j,1,bi,bj)
252  #endif  #endif
            ENDIF  
253            ENDDO            ENDDO
254           ENDDO           ENDDO
        ENDDO  
255    
256    
257  C update  C update
# Line 229  C update Line 266  C update
266       &      PTR_PO4(i,j,k)+GPO4(i,j,k)*dTtracerLev(k)       &      PTR_PO4(i,j,k)+GPO4(i,j,k)*dTtracerLev(k)
267             PTR_DOP(i,j,k)=             PTR_DOP(i,j,k)=
268       &      PTR_DOP(i,j,k)+GDOP(i,j,k)*dTtracerLev(k)       &      PTR_DOP(i,j,k)+GDOP(i,j,k)*dTtracerLev(k)
269    #ifdef ALLOW_O2
270             PTR_O2(i,j,k)=             PTR_O2(i,j,k)=
271       &      PTR_O2(i,j,k)+GO2(i,j,k)*dTtracerLev(k)       &      PTR_O2(i,j,k)+GO2(i,j,k)*dTtracerLev(k)
272    #endif
273  #ifdef ALLOW_FE  #ifdef ALLOW_FE
274             PTR_FE(i,j,k)=             PTR_FE(i,j,k)=
275       &      PTR_FE(i,j,k)+GFE(i,j,k)*dTtracerLev(k)       &      PTR_FE(i,j,k)+GFE(i,j,k)*dTtracerLev(k)
# Line 250  c find free iron and get rid of insolubl Line 289  c find free iron and get rid of insolubl
289    
290  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
291  c save averages  c save averages
292          IF ( taveFreq.GT.0. ) THEN
293        DO k=1,Nr        DO k=1,Nr
294           DO j=jmin,jmax           DO j=jmin,jmax
295            DO i=imin,imax            DO i=imin,imax
296              BIOave(i,j,k,bi,bj)=BIOave(i,j,k,bi,bj)+              BIOave(i,j,k,bi,bj)   =BIOave(i,j,k,bi,bj)+
297       &                          BIOac(i,j,k)*deltaTclock       &                             BIOac(i,j,k)*deltaTclock
298              CARave(i,j,k,bi,bj)=CARave(i,j,k,bi,bj)+              CARave(i,j,k,bi,bj)   =CARave(i,j,k,bi,bj)+
299       &                          CAR(i,j,k)*deltaTclock       &                             CAR(i,j,k)*deltaTclock
300              OmegaCave(i,j,k,bi,bj)= OmegaCave(i,j,k,bi,bj)+              OmegaCave(i,j,k,bi,bj)=OmegaCave(i,j,k,bi,bj)+
301       &                           OmegaC(i,j,k,bi,bj)*deltaTclock       &                             OmegaC(i,j,k,bi,bj)*deltaTclock
302              pfluxave(i,j,k,bi,bj)= pfluxave(i,j,k,bi,bj) +              pfluxave(i,j,k,bi,bj) =pfluxave(i,j,k,bi,bj) +
303       &                           pflux(i,j,k)*deltaTclock       &                             pflux(i,j,k)*deltaTclock
304              cfluxave(i,j,k,bi,bj)= cfluxave(i,j,k,bi,bj) +              epfluxave(i,j,k,bi,bj)=epfluxave(i,j,k,bi,bj) +
305       &                           cflux(i,j,k)*deltaTclock       &                             exportflux(i,j,k)*deltaTclock
306              if (k.eq.1) then              cfluxave(i,j,k,bi,bj) =cfluxave(i,j,k,bi,bj) +
307                SURave(i,j,bi,bj)=SURave(i,j,bi,bj)+       &                             cflux(i,j,k)*deltaTclock
308       &                          SURC(i,j)*deltaTclock            ENDDO
309                SUROave(i,j,bi,bj)=SUROave(i,j,bi,bj)+           ENDDO
310       &                           SURO(i,j)*deltaTclock        ENDDO
311                pCO2ave(i,j,bi,bj)=pCO2ave(i,j,bi,bj)+           DO j=jmin,jmax
312       &                           pCO2(i,j,bi,bj)*deltaTclock            DO i=imin,imax
313                pHave(i,j,bi,bj)=pHave(i,j,bi,bj)+                SURave(i,j,bi,bj)    =SURave(i,j,bi,bj)+
314       &                           pH(i,j,bi,bj)*deltaTclock       &                              SURC(i,j)*deltaTclock
315    #ifdef ALLOW_O2
316                  SUROave(i,j,bi,bj)   =SUROave(i,j,bi,bj)+
317         &                              SURO(i,j)*deltaTclock
318    #endif
319                  pCO2ave(i,j,bi,bj)   =pCO2ave(i,j,bi,bj)+
320         &                              pCO2(i,j,bi,bj)*deltaTclock
321                  pHave(i,j,bi,bj)     =pHave(i,j,bi,bj)+
322         &                              pH(i,j,bi,bj)*deltaTclock
323                fluxCO2ave(i,j,bi,bj)=fluxCO2ave(i,j,bi,bj)+                fluxCO2ave(i,j,bi,bj)=fluxCO2ave(i,j,bi,bj)+
324       &                           fluxCO2(i,j,bi,bj)*deltaTclock       &                           fluxCO2(i,j,bi,bj)*deltaTclock
             endif  
325            ENDDO            ENDDO
326           ENDDO           ENDDO
       ENDDO  
327        do k=1,Nr        do k=1,Nr
328         dic_timeave(bi,bj,k)=dic_timeave(bi,bj,k)+deltaTclock         dic_timeave(bi,bj,k)=dic_timeave(bi,bj,k)+deltaTclock
329        enddo        enddo
330  #endif        ENDIF
331    #endif /* ALLOW_TIMEAVE*/
332    
333    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
334    
335    #ifdef ALLOW_DIAGNOSTICS
336    
337          IF ( useDiagnostics ) THEN
338    
339            CALL DIAGNOSTICS_FILL(BIOac  ,'DICBIOA ',0,Nr,2,bi,bj,myThid)
340            CALL DIAGNOSTICS_FILL(CAR    ,'DICCARB ',0,Nr,2,bi,bj,myThid)
341            CALL DIAGNOSTICS_FILL(pCO2   ,'DICPCO2 ',0,1 ,1,bi,bj,myThid)
342            CALL DIAGNOSTICS_FILL(fluxCO2,'DICCFLX ',0,1 ,1,bi,bj,myThid)
343            CALL DIAGNOSTICS_FILL(pH     ,'DICPHAV ',0,1 ,1,bi,bj,myThid)
344            CALL DIAGNOSTICS_FILL(SURC   ,'DICTFLX ',0,1 ,2,bi,bj,myThid)
345    #ifdef ALLOW_O2
346            CALL DIAGNOSTICS_FILL(SURO   ,'DICOFLX ',0,1 ,2,bi,bj,myThid)
347  #endif  #endif
348  #endif  
349          ENDIF
350    
351    #endif /* ALLOW_DIAGNOSTICS */
352    
353    #endif /* DIC_BIOTIC */
354    #endif /* ALLOW_PTRACERS */
355    
356  c  c
357         RETURN         RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22