/[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.12 by jahn, Fri Aug 24 19:45:36 2012 UTC revision 1.15 by stephd, Wed Oct 9 17:15:08 2013 UTC
# Line 92  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)
# Line 131  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 499  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 885  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 964  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 1033  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 1043  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 1381  c    &                       deltaTclock Line 1415  c    &                       deltaTclock
1415       &                           phychl(np)*dtplankton       &                           phychl(np)*dtplankton
1416               enddo               enddo
1417  #endif  #endif
1418    #ifdef DAR_DIAG_PARW
1419                do ilam=1,tlam
1420                   PARwave(i,j,k,bi,bj,ilam)=PARwave(i,j,k,bi,bj,ilam)+
1421         &                           PARw_k(ilam,k)*dtplankton
1422                enddo
1423                do np=1,npmax
1424                  chl2cave(i,j,k,bi,bj,np)=chl2cave(i,j,k,bi,bj,np)+
1425         &                          chl2cl(np)*dtplankton
1426                enddo
1427    #endif
1428  #ifdef DAR_DIAG_ACDOM  #ifdef DAR_DIAG_ACDOM
1429  c            print*,'acdom',k,acdom_k(k,darwin_diag_acdom_ilam)  c            print*,'acdom',k,acdom_k(k,darwin_diag_acdom_ilam)
1430               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 1446  Coj            no Eu at surface (yet) Line 1490  Coj            no Eu at surface (yet)
1490       &                                 rmud*dtplankton       &                                 rmud*dtplankton
1491               endif               endif
1492  #endif  #endif
1493    #ifdef DAR_DIAG_EK
1494                do np=1,npmax
1495                 Ekave(i,j,k,bi,bj,np)=Ekave(i,j,k,bi,bj,np)+
1496         &                        Ekl(np)*dtplankton
1497                 EkoverEave(i,j,k,bi,bj,np)=EkoverEave(i,j,k,bi,bj,np)+
1498         &                        EkoverEl(np)*dtplankton
1499                 acclimave(i,j,k,bi,bj,np)=acclimave(i,j,k,bi,bj,np)+
1500         &                        accliml(np)*dtplankton
1501                 do ilam=1,tlam
1502                    Ek_nlave(i,j,k,bi,bj,np,ilam)=
1503         &                        Ek_nlave(i,j,k,bi,bj,np,ilam)+
1504         &                        Ek_nll(np,ilam)*dtplankton
1505                    EkoverE_nlave(i,j,k,bi,bj,np,ilam)=
1506         &                        EkoverE_nlave(i,j,k,bi,bj,np,ilam)+
1507         &                        EkoverE_nll(np,ilam)*dtplankton
1508                 enddo
1509                enddo
1510    #endif
1511  #ifdef DAR_DIAG_RSTAR  #ifdef DAR_DIAG_RSTAR
1512               do np=1,npmax               do np=1,npmax
1513                 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 1491  Coj            no Eu at surface (yet) Line 1553  Coj            no Eu at surface (yet)
1553       &                              FluxCO2(i,j,bi,bj)*dtplankton       &                              FluxCO2(i,j,bi,bj)*dtplankton
1554                SUROave(i,j,bi,bj)   =SUROave(i,j,bi,bj)+                SUROave(i,j,bi,bj)   =SUROave(i,j,bi,bj)+
1555       &                              flxO2(i,j)*dtplankton       &                              flxO2(i,j)*dtplankton
1556                 endif
1557    #ifdef pH_3D
1558                  pCO2ave(i,j,k,bi,bj)   =pCO2ave(i,j,k,bi,bj)+
1559         &                              pCO2(i,j,k,bi,bj)*dtplankton
1560                  pHave(i,j,k,bi,bj)     =pHave(i,j,k,bi,bj)+
1561         &                              pH(i,j,k,bi,bj)*dtplankton
1562    #else
1563                 if (k.eq.1) then
1564                pCO2ave(i,j,bi,bj)   =pCO2ave(i,j,bi,bj)+                pCO2ave(i,j,bi,bj)   =pCO2ave(i,j,bi,bj)+
1565       &                              pCO2(i,j,bi,bj)*dtplankton       &                              pCO2(i,j,bi,bj)*dtplankton
1566                pHave(i,j,bi,bj)     =pHave(i,j,bi,bj)+                pHave(i,j,bi,bj)     =pHave(i,j,bi,bj)+
1567       &                              pH(i,j,bi,bj)*dtplankton       &                              pH(i,j,bi,bj)*dtplankton
1568               endif               endif
1569  #endif  #endif
1570    #endif
1571            endif              endif  
1572  c end if hFac>0  c end if hFac>0
1573    
# Line 1641  c ANNA end TAVE Line 1712  c ANNA end TAVE
1712       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1713          CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly), 'DICOFLX ',          CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly), 'DICOFLX ',
1714       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1715    #ifdef pH_3D
1716            CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,1,bi,bj), 'DICPCO2 ',
1717         &                         0,Nr,2,bi,bj,myThid )
1718            CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,1,bi,bj), 'DICPHAV ',
1719         &                         0,Nr,2,bi,bj,myThid )
1720    #else
1721          CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ',          CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ',
1722       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1723          CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,bi,bj), 'DICPHAV ',          CALL DIAGNOSTICS_FILL( pH(1-Olx,1-Oly,bi,bj), 'DICPHAV ',
1724       &                         0,1,2,bi,bj,myThid )       &                         0,1,2,bi,bj,myThid )
1725    #endif
1726  #endif /* ALLOW_CARBON */  #endif /* ALLOW_CARBON */
1727         ENDIF         ENDIF
1728  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */

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

  ViewVC Help
Powered by ViewVC 1.1.22