/[MITgcm]/MITgcm_contrib/darwin2/pkg/monod/monod_forcing.F
ViewVC logotype

Diff of /MITgcm_contrib/darwin2/pkg/monod/monod_forcing.F

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

revision 1.7 by stephd, Fri Jun 29 20:41:59 2012 UTC revision 1.17 by jahn, Fri Sep 12 16:19:39 2014 UTC
# Line 21  C======================================= Line 21  C=======================================
21  #include "PARAMS.h"  #include "PARAMS.h"
22  #include "GRID.h"  #include "GRID.h"
23  #include "DYNVARS.h"  #include "DYNVARS.h"
24  #ifdef USE_QSW  c for Qsw and/or surfaceForcingT
25    c choice which field to take pCO2 from for pCO2limit
26    c this assumes we use Ttendency from offline
27  #include "FFIELDS.h"  #include "FFIELDS.h"
 #endif  
28  #ifdef ALLOW_LONGSTEP  #ifdef ALLOW_LONGSTEP
29  #include "LONGSTEP.h"  #include "LONGSTEP.h"
30  #endif  #endif
# Line 43  c ANNA include wavebands_params.h Line 44  c ANNA include wavebands_params.h
44  #include "WAVEBANDS_PARAMS.h"  #include "WAVEBANDS_PARAMS.h"
45  #endif  #endif
46    
 c choice which field to take pCO2 from for pCO2limit  
 c this assumes we use Ttendency from offline  
 #include "FFIELDS.h"  
   
47    
48  C     === Global variables ===  C     === Global variables ===
49  c tracers  c tracers
# Line 95  c ANNA define variables for wavebands Line 92  c ANNA define variables for wavebands
92         _RL PARw_k(tlam,Nr)         _RL PARw_k(tlam,Nr)
93         _RL PARwup(tlam)         _RL PARwup(tlam)
94         _RL acdom_k(Nr,tlam)         _RL acdom_k(Nr,tlam)
95           _RL Ek_nll(npmax,tlam)
96           _RL EkoverE_nll(npmax,tlam)
97  #ifdef DAR_RADTRANS  #ifdef DAR_RADTRANS
98         integer iday,iyr,imon,isec,lp,wd,mydate(4)         integer iday,iyr,imon,isec,lp,wd,mydate(4)
99         _RL Edwsf(tlam),Eswsf(tlam)         _RL Edwsf(tlam),Eswsf(tlam)
100         _RL Edz(tlam,Nr),Esz(tlam,Nr),Euz(tlam,Nr),Eutop(tlam,Nr)         _RL Edz(tlam,Nr),Esz(tlam,Nr),Euz(tlam,Nr)
101           _RL Estop(tlam,Nr),Eutop(tlam,Nr)
102         _RL tirrq(nr)         _RL tirrq(nr)
103         _RL tirrwq(tlam,nr)         _RL tirrwq(tlam,nr)
104           _RL amp1(tlam,nr), amp2(tlam,nr)
105         _RL solz         _RL solz
106         _RL rmud         _RL rmud
107         _RL actot,bctot,bbctot         _RL actot,bctot,bbctot
108         _RL apart_k(Nr,tlam),bpart_k(Nr,tlam),bbpart_k(Nr,tlam)         _RL apart_k(Nr,tlam),bpart_k(Nr,tlam),bbpart_k(Nr,tlam)
109         _RL bt_k(Nr,tlam), bb_k(Nr,tlam)         _RL bt_k(Nr,tlam), bb_k(Nr,tlam)
110           _RL discEs, discEu
111           INTEGER idiscEs,jdiscEs,kdiscEs,ldiscEs
112           INTEGER idiscEu,jdiscEu,kdiscEu,ldiscEu
113  #else  #else
114         _RL PARwdn(tlam)         _RL PARwdn(tlam)
115  #endif  #endif
# Line 129  C      always need for diagnostics Line 133  C      always need for diagnostics
133  #ifdef GEIDER  #ifdef GEIDER
134        _RL phychl(npmax)        _RL phychl(npmax)
135        _RL phychl_k(npmax,Nr)        _RL phychl_k(npmax,Nr)
136          _RL Ekl(npmax)
137          _RL EkoverEl(npmax)
138          _RL chl2cl(npmax)
139  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
140        _RL dphychl(npmax)        _RL dphychl(npmax)
141        _RL chlup(npmax)        _RL chlup(npmax)
142          _RL accliml(npmax)
143  #endif  #endif
144  #endif  #endif
145  #ifdef ALLOW_CDOM  #ifdef ALLOW_CDOM
# Line 332  COJ Line 340  COJ
340          enddo          enddo
341         ENDDO         ENDDO
342         ENDDO         ENDDO
343    
344    #ifdef DAR_RADTRANS
345           idiscEs = 0
346           jdiscEs = 0
347           kdiscEs = 0
348           ldiscEs = 0
349           idiscEu = 0
350           jdiscEu = 0
351           kdiscEu = 0
352           ldiscEu = 0
353           discEs = 0.
354           discEu = 0.
355    #endif
356  c  c
357  c bio-chemical time loop  c bio-chemical time loop
358  c--------------------------------------------------  c--------------------------------------------------
# Line 484  c ------------ GET INCIDENT NON-SPECTRAL Line 505  c ------------ GET INCIDENT NON-SPECTRAL
505    
506  #else /* not USE_QSW */  #else /* not USE_QSW */
507    
508           lite = sfac(j)*maskC(i,j,1,bi,bj)/86400*1 _d 6  C        convert W/m2 to uEin/s/m2
509             lite = sfac(j)*parconv*maskC(i,j,1,bi,bj)
510    
511  #endif /* not USE_QSW */  #endif /* not USE_QSW */
512  #endif /* not READ_PAR */  #endif /* not READ_PAR */
# Line 627  c           add water and CDOM Line 649  c           add water and CDOM
649              bt_k(k,ilam) = bw(ilam) + bctot + bpart_k(k,ilam)              bt_k(k,ilam) = bw(ilam) + bctot + bpart_k(k,ilam)
650              bb_k(k,ilam) = darwin_bbw*bw(ilam)+bbctot+bbpart_k(k,ilam)              bb_k(k,ilam) = darwin_bbw*bw(ilam)+bbctot+bbpart_k(k,ilam)
651              bb_k(k,ilam) = MAX(darwin_bbmin, bb_k(k,ilam))              bb_k(k,ilam) = MAX(darwin_bbmin, bb_k(k,ilam))
652    c           initialize output variables
653                Edz(ilam,k) = 0.0
654                Esz(ilam,k) = 0.0
655                Euz(ilam,k) = 0.0
656                Estop(ilam,k) = 0.0
657                Eutop(ilam,k) = 0.0
658                amp1(ilam,k) = 0.0
659                amp2(ilam,k) = 0.0
660            ENDDO            ENDDO
661           ENDDO           ENDDO
662    
663  #ifdef DAR_RADTRANS_ITERATIVE           IF (darwin_radtrans_niter.GE.0) THEN
664           call MONOD_RADTRANS_ITER(             call MONOD_RADTRANS_ITER(
665       I                dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k,       I                dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k,
666       I                darwin_radtrans_kmax,darwin_radtrans_niter,       I                darwin_radtrans_kmax,darwin_radtrans_niter,
667       O                Edz,Esz,Euz,Eutop,       O                Edz,Esz,Euz,Eutop,
668       O                tirrq,tirrwq,       O                tirrq,tirrwq,
669         O                amp1,amp2,
670       I                myThid)       I                myThid)
671  #else           ELSEIF (darwin_radtrans_niter.EQ.-1) THEN
672  c dzlocal ?????  c dzlocal ?????
673           call MONOD_RADTRANS(             call MONOD_RADTRANS(
674       I                drF,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k,       I                drF,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k,
675       O                Edz,Esz,Euz,Eutop,       O                Edz,Esz,Euz,Eutop,
676       O                tirrq,tirrwq,       O                tirrq,tirrwq,
677       I                myThid)       I                myThid)
678             ELSE
679               call MONOD_RADTRANS_DIRECT(
680         I                dz_k,rmud,Edwsf,Eswsf,a_k,bt_k,bb_k,
681         I                darwin_radtrans_kmax,
682         O                Edz,Esz,Euz,Estop,Eutop,
683         O                tirrq,tirrwq,
684         O                amp1,amp2,
685         I                myThid)
686    #ifdef DAR_CHECK_IRR_CONT
687               IF( dz_k(1) .GT. 0.0 )THEN
688               DO ilam = 1,tlam
689               IF(Eswsf(ilam).GE.darwin_radmodThresh .OR.
690         &        Edwsf(ilam).GE.darwin_radmodThresh ) THEN
691                IF(ABS(Estop(ilam,1)-Eswsf(ilam)) .GT. discEs )THEN
692                  discEs = ABS(Estop(ilam,1)-Eswsf(ilam))
693                  idiscEs = i
694                  jdiscEs = j
695                  kdiscEs = 1
696                  ldiscEs = ilam
697                ENDIF
698                DO k=1,darwin_radtrans_kmax-1
699                 IF(ABS(Estop(ilam,k+1)-Esz(ilam,k)) .GT. discEs)THEN
700                  discEs = ABS(Estop(ilam,k+1)-Esz(ilam,k))
701                  idiscEs = i
702                  jdiscEs = j
703                  kdiscEs = k+1
704                  ldiscEs = ilam
705                 ENDIF
706                 IF(ABS(Eutop(ilam,k+1)-Euz(ilam,k)) .GT. discEu)THEN
707                  discEu = ABS(Eutop(ilam,k+1)-Euz(ilam,k))
708                  idiscEu = i
709                  jdiscEu = j
710                  kdiscEu = k+1
711                  ldiscEu = ilam
712                 ENDIF
713                ENDDO
714               ENDIF
715               ENDDO
716               ENDIF
717  #endif  #endif
718             ENDIF
719  c  c
720  c uses chl from prev timestep (as wavebands does)  c uses chl from prev timestep (as wavebands does)
721  c keep like this in case need to consider upwelling irradiance as affecting the grid box above  c keep like this in case need to consider upwelling irradiance as affecting the grid box above
# Line 821  c taking from igsm dic run - fed through Line 892  c taking from igsm dic run - fed through
892  c               pCO2local=surfaceForcingT(i,j,bi,bj)  c               pCO2local=surfaceForcingT(i,j,bi,bj)
893  c or from darwin carbon module  c or from darwin carbon module
894  #ifdef ALLOW_CARBON  #ifdef ALLOW_CARBON
895    #ifdef pH_3D
896                   pCO2local=pCO2(i,j,k,bi,bj)
897    #else
898                 pCO2local=pCO2(i,j,bi,bj)                 pCO2local=pCO2(i,j,bi,bj)
899    #endif
900  #else  #else
901                 pCO2local=280. _d -6                 pCO2local=280. _d -6
902  #endif  #endif
# Line 900  c set other arguments to zero Line 975  c set other arguments to zero
975                  NfixPl(np)=0. _d 0                  NfixPl(np)=0. _d 0
976  #endif  #endif
977  #endif  #endif
978    #ifdef DAR_DIAG_PARW
979                    chl2cl(np)=0. _d 0
980    #endif
981    #ifdef DAR_DIAG_EK
982                    Ekl(np)=0. _d 0
983                    EkoverEl(np)=0. _d 0
984                    do ilam=1,tlam
985                      Ek_nll(np,ilam)=0. _d 0
986                      EkoverE_nll(np,ilam)=0. _d 0
987                    enddo
988    #endif
989               enddo               enddo
990    
991    
# Line 969  c ANNA pass extra variables if WAVEBANDS Line 1055  c ANNA pass extra variables if WAVEBANDS
1055  #endif  #endif
1056  #ifdef GEIDER  #ifdef GEIDER
1057       O                       phychl,       O                       phychl,
1058    #ifdef DAR_DIAG_EK
1059         I                       Ekl, EkoverEl,
1060    #endif
1061    #ifdef DAR_DIAG_PARW
1062         I                       chl2cl,
1063    #endif
1064  #ifdef DYNAMIC_CHL  #ifdef DYNAMIC_CHL
1065       I                       dphychl,       I                       dphychl,
1066       I                       chlup,       I                       chlup,
1067    #ifdef DAR_DIAG_EK
1068         O                       accliml,
1069    #endif
1070  #endif  #endif
1071  #ifdef ALLOW_CDOM  #ifdef ALLOW_CDOM
1072       O                       dcdoml,       O                       dcdoml,
# Line 979  c ANNA pass extra variables if WAVEBANDS Line 1074  c ANNA pass extra variables if WAVEBANDS
1074  #endif  #endif
1075  #ifdef WAVEBANDS  #ifdef WAVEBANDS
1076       I                       PARw_k(1,k),       I                       PARw_k(1,k),
1077    #ifdef DAR_DIAG_EK
1078         I                       Ek_nll, EkoverE_nll,
1079    #endif
1080  #endif  #endif
1081  #endif  #endif
1082  #ifdef ALLOW_PAR_DAY  #ifdef ALLOW_PAR_DAY
# Line 1122  c ---- end steph's alternative Line 1220  c ---- end steph's alternative
1220                  dfetl=dfetl+fet_flx(i,j,k,bi,bj)                  dfetl=dfetl+fet_flx(i,j,k,bi,bj)
1221                  dsil=dsil+si_flx(i,j,k,bi,bj)                  dsil=dsil+si_flx(i,j,k,bi,bj)
1222  #endif  #endif
1223  c  
1224    #ifdef ALLOW_OBCS
1225              IF (useOBCS) THEN
1226                dpo4l  = dpo4l *maskInC(i,j,bi,bj)
1227                dno3l  = dno3l *maskInC(i,j,bi,bj)
1228                dfetl  = dfetl *maskInC(i,j,bi,bj)
1229                dsil   = dsil  *maskInC(i,j,bi,bj)
1230                ddopl  = ddopl *maskInC(i,j,bi,bj)
1231                ddonl  = ddonl *maskInC(i,j,bi,bj)
1232                ddofel = ddofel*maskInC(i,j,bi,bj)
1233                dpopl  = dpopl *maskInC(i,j,bi,bj)
1234                dponl  = dponl *maskInC(i,j,bi,bj)
1235                dpofel = dpofel*maskInC(i,j,bi,bj)
1236                dpsil  = dpsil *maskInC(i,j,bi,bj)
1237                dnh4l  = dnh4l *maskInC(i,j,bi,bj)
1238                dno2l  = dno2l *maskInC(i,j,bi,bj)
1239                DO nz = 1,nzmax
1240                 dzoop (nz) = dzoop (nz)*maskInC(i,j,bi,bj)
1241                 dzoon (nz) = dzoon (nz)*maskInC(i,j,bi,bj)
1242                 dzoofe(nz) = dzoofe(nz)*maskInC(i,j,bi,bj)
1243                 dzoosi(nz) = dzoosi(nz)*maskInC(i,j,bi,bj)
1244                ENDDO
1245                DO np = 1,npmax
1246                 dPhy(np) = dPhy(np)*maskInC(i,j,bi,bj)
1247    #ifdef GEIDER
1248    #ifdef DYNAMIC_CHL
1249                 dphychl(np) = dphychl(np)*maskInC(i,j,bi,bj)
1250    #endif
1251    #endif
1252                ENDDO
1253    #ifdef ALLOW_CDOM
1254                dcdoml = dcdoml*maskInC(i,j,bi,bj)
1255    #endif
1256    #ifdef ALLOW_CARBON
1257                ddicl = ddicl*maskInC(i,j,bi,bj)
1258                ddocl = ddocl*maskInC(i,j,bi,bj)
1259                dpocl = dpocl*maskInC(i,j,bi,bj)
1260                dpicl = dpicl*maskInC(i,j,bi,bj)
1261                dalkl = dalkl*maskInC(i,j,bi,bj)
1262                do2l  = do2l *maskInC(i,j,bi,bj)
1263                DO nz = 1,nzmax
1264                 dzoocl(nz) = dzoocl(nz)*maskInC(i,j,bi,bj)
1265                ENDDO
1266    #endif
1267              ENDIF
1268    #endif
1269    
1270  c now update main tracer arrays  c now update main tracer arrays
1271            dtplankton = PTRACERS_dTLev(k)/float(nsubtime)            dtplankton = PTRACERS_dTLev(k)/float(nsubtime)
1272            Ptr(i,j,k,bi,bj,iPO4 ) = Ptr(i,j,k,bi,bj,iPO4) +            Ptr(i,j,k,bi,bj,iPO4 ) = Ptr(i,j,k,bi,bj,iPO4) +
# Line 1317  c    &                       deltaTclock Line 1461  c    &                       deltaTclock
1461       &                           phychl(np)*dtplankton       &                           phychl(np)*dtplankton
1462               enddo               enddo
1463  #endif  #endif
1464    #ifdef DAR_DIAG_PARW
1465                do ilam=1,tlam
1466                   PARwave(i,j,k,bi,bj,ilam)=PARwave(i,j,k,bi,bj,ilam)+
1467         &                           PARw_k(ilam,k)*dtplankton
1468                enddo
1469                do np=1,npmax
1470                  chl2cave(i,j,k,bi,bj,np)=chl2cave(i,j,k,bi,bj,np)+
1471         &                          chl2cl(np)*dtplankton
1472                enddo
1473    #endif
1474  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
1475  c            print*,'acdom',k,acdom_k(k,darwin_diag_acdom_ilam)  c            print*,'acdom',k,acdom_k(k,darwin_diag_acdom_ilam)
1476               aCDOMave(i,j,k,bi,bj)=aCDOMave(i,j,k,bi,bj)+               aCDOMave(i,j,k,bi,bj)=aCDOMave(i,j,k,bi,bj)+
# Line 1338  Coj            no Eu at surface (yet) Line 1492  Coj            no Eu at surface (yet)
1492                 Euave(i,j,k,bi,bj,ilam)=Euave(i,j,k,bi,bj,ilam)+                 Euave(i,j,k,bi,bj,ilam)=Euave(i,j,k,bi,bj,ilam)+
1493       &                                 Euz(ilam,k-1)*dtplankton       &                                 Euz(ilam,k-1)*dtplankton
1494                endif                endif
1495                  Estave(i,j,k,bi,bj,ilam)=Estave(i,j,k,bi,bj,ilam)+
1496         &                                 Estop(ilam,k)*dtplankton
1497                Eutave(i,j,k,bi,bj,ilam)=Eutave(i,j,k,bi,bj,ilam)+                Eutave(i,j,k,bi,bj,ilam)=Eutave(i,j,k,bi,bj,ilam)+
1498       &                                 Eutop(ilam,k)*dtplankton       &                                 Eutop(ilam,k)*dtplankton
1499               enddo               enddo
1500  #endif  #endif
1501    #ifdef DAR_DIAG_IRR_AMPS
1502                 do ilam = 1,tlam
1503                   amp1ave(i,j,k,bi,bj,ilam)=amp1ave(i,j,k,bi,bj,ilam)+
1504         &                                 amp1(ilam,k)*dtplankton
1505                   amp2ave(i,j,k,bi,bj,ilam)=amp2ave(i,j,k,bi,bj,ilam)+
1506         &                                 amp2(ilam,k)*dtplankton
1507                 enddo
1508    #endif
1509  #ifdef DAR_DIAG_ABSORP  #ifdef DAR_DIAG_ABSORP
1510               do ilam = 1,tlam               do ilam = 1,tlam
1511                 aave(i,j,k,bi,bj,ilam)=aave(i,j,k,bi,bj,ilam)+                 aave(i,j,k,bi,bj,ilam)=aave(i,j,k,bi,bj,ilam)+
# Line 1366  Coj            no Eu at surface (yet) Line 1530  Coj            no Eu at surface (yet)
1530       &                                 bbpart_k(k,ilam)*dtplankton       &                                 bbpart_k(k,ilam)*dtplankton
1531               enddo               enddo
1532  #endif  #endif
1533    #ifdef DAR_RADTRANS
1534                 if (k.eq.1) then
1535                   rmudave(i,j,bi,bj)=rmudave(i,j,bi,bj)+
1536         &                                 rmud*dtplankton
1537                 endif
1538    #endif
1539    #ifdef DAR_DIAG_EK
1540                do np=1,npmax
1541                 Ekave(i,j,k,bi,bj,np)=Ekave(i,j,k,bi,bj,np)+
1542         &                        Ekl(np)*dtplankton
1543                 EkoverEave(i,j,k,bi,bj,np)=EkoverEave(i,j,k,bi,bj,np)+
1544         &                        EkoverEl(np)*dtplankton
1545                 acclimave(i,j,k,bi,bj,np)=acclimave(i,j,k,bi,bj,np)+
1546         &                        accliml(np)*dtplankton
1547                 do ilam=1,tlam
1548                    Ek_nlave(i,j,k,bi,bj,np,ilam)=
1549         &                        Ek_nlave(i,j,k,bi,bj,np,ilam)+
1550         &                        Ek_nll(np,ilam)*dtplankton
1551                    EkoverE_nlave(i,j,k,bi,bj,np,ilam)=
1552         &                        EkoverE_nlave(i,j,k,bi,bj,np,ilam)+
1553         &                        EkoverE_nll(np,ilam)*dtplankton
1554                 enddo
1555                enddo
1556    #endif
1557  #ifdef DAR_DIAG_RSTAR  #ifdef DAR_DIAG_RSTAR
1558               do np=1,npmax               do np=1,npmax
1559                 Rstarave(i,j,k,bi,bj,np)=Rstarave(i,j,k,bi,bj,np)+                 Rstarave(i,j,k,bi,bj,np)=Rstarave(i,j,k,bi,bj,np)+
# Line 1411  Coj            no Eu at surface (yet) Line 1599  Coj            no Eu at surface (yet)
1599       &                              FluxCO2(i,j,bi,bj)*dtplankton       &                              FluxCO2(i,j,bi,bj)*dtplankton
1600                SUROave(i,j,bi,bj)   =SUROave(i,j,bi,bj)+                SUROave(i,j,bi,bj)   =SUROave(i,j,bi,bj)+
1601       &                              flxO2(i,j)*dtplankton       &                              flxO2(i,j)*dtplankton
1602                 endif
1603    #ifdef pH_3D
1604                  pCO2ave(i,j,k,bi,bj)   =pCO2ave(i,j,k,bi,bj)+
1605         &                              pCO2(i,j,k,bi,bj)*dtplankton
1606                  pHave(i,j,k,bi,bj)     =pHave(i,j,k,bi,bj)+
1607         &                              pH(i,j,k,bi,bj)*dtplankton
1608    #else
1609                 if (k.eq.1) then
1610                pCO2ave(i,j,bi,bj)   =pCO2ave(i,j,bi,bj)+                pCO2ave(i,j,bi,bj)   =pCO2ave(i,j,bi,bj)+
1611       &                              pCO2(i,j,bi,bj)*dtplankton       &                              pCO2(i,j,bi,bj)*dtplankton
1612                pHave(i,j,bi,bj)     =pHave(i,j,bi,bj)+                pHave(i,j,bi,bj)     =pHave(i,j,bi,bj)+
1613       &                              pH(i,j,bi,bj)*dtplankton       &                              pH(i,j,bi,bj)*dtplankton
1614               endif               endif
1615  #endif  #endif
1616    #endif
1617            endif              endif  
1618  c end if hFac>0  c end if hFac>0
1619    
# Line 1471  C       reset the other slot for averagi Line 1668  C       reset the other slot for averagi
1668  C itistime  C itistime
1669  #endif  #endif
1670    
1671    #ifdef DAR_CHECK_IRR_CONT
1672           i = myXGlobalLo-1+(bi-1)*sNx+idiscEs
1673           j = myYGlobalLo-1+(bj-1)*sNy+jdiscEs
1674           write(6,'(I4.4,X,A,4(X,I4),1PE24.16)')myProcId,'max Es disc',
1675         &                                   i,j,kdiscEs,ldiscEs,discEs
1676           i = myXGlobalLo-1+(bi-1)*sNx+idiscEu
1677           j = myYGlobalLo-1+(bj-1)*sNy+jdiscEu
1678           write(6,'(I4.4,X,A,4(X,I4),1PE24.16)')myProcId,'max Eu disc',
1679         &                                   i,j,kdiscEu,ldiscEu,discEu
1680    #endif
1681    
1682  COJ fill diagnostics  COJ fill diagnostics
1683  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
1684         IF ( useDiagnostics ) THEN         IF ( useDiagnostics ) THEN
# Line 1550  c ANNA end TAVE Line 1758  c ANNA end TAVE
1758       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1759          CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly), 'DICOFLX ',          CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly), 'DICOFLX ',
1760       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1761    #ifdef pH_3D
1762            CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,1,bi,bj), 'DICPCO2 ',
1763         &                         0,Nr,2,bi,bj,myThid )
1764            CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,1,bi,bj), 'DICPHAV ',
1765         &                         0,Nr,2,bi,bj,myThid )
1766    #else
1767          CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ',          CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ',
1768       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1769          CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,bi,bj), 'DICPHAV ',          CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,bi,bj), 'DICPHAV ',
1770       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1771    #endif
1772  #endif /* ALLOW_CARBON */  #endif /* ALLOW_CARBON */
1773         ENDIF         ENDIF
1774  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
# Line 1566  c determine iron partitioning  - solve f Line 1781  c determine iron partitioning  - solve f
1781  c  c
1782  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
1783  c save averages  c save averages
1784         do k=1,nR           dar_timeave(bi,bj) = dar_timeave(bi,bj) + dtplankton
          dar_timeave(bi,bj,k)=dar_timeave(bi,bj,k)  
      &                         +dtplankton  
1785  #ifdef ALLOW_CARBON  #ifdef ALLOW_CARBON
1786           dic_timeave(bi,bj,k)=dic_timeave(bi,bj,k)           dic_timeave(bi,bj) = dic_timeave(bi,bj) + dtplankton
      &                         +dtplankton  
1787  #endif  #endif
        enddo  
1788  #endif  #endif
1789  c  c
1790  c -----------------------------------------------------  c -----------------------------------------------------

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

  ViewVC Help
Powered by ViewVC 1.1.22