111 |
_RL Diver2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL Diver2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
112 |
_RL Diver3(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL Diver3(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
113 |
_RL Diver4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
_RL Diver4(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
114 |
|
_RL Shannon(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
115 |
|
_RL Simpson(1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr) |
116 |
|
|
117 |
_RL tmpphy(npmax) |
_RL tmpphy(npmax) |
118 |
_RL totphy, biotot, maxphy, phymax |
_RL totphy, biotot, maxphy, phymax |
250 |
_RL do2l |
_RL do2l |
251 |
_RL dZooCl(nzmax) |
_RL dZooCl(nzmax) |
252 |
c air-sea fluxes |
c air-sea fluxes |
253 |
_RL flxCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL flxCO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
254 |
_RL flxALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL flxALK(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
255 |
_RL flxO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL flxO2(1-OLx:sNx+OLx,1-OLy:sNy+OLy) |
256 |
#endif |
#endif |
257 |
|
|
258 |
_RL tot_Nfix |
_RL tot_Nfix |
279 |
Diver2(i,j,k)=0. _d 0 |
Diver2(i,j,k)=0. _d 0 |
280 |
Diver3(i,j,k)=0. _d 0 |
Diver3(i,j,k)=0. _d 0 |
281 |
Diver4(i,j,k)=0. _d 0 |
Diver4(i,j,k)=0. _d 0 |
282 |
|
Shannon(i,j,k)=0. _d 0 |
283 |
|
Simpson(i,j,k)=1. _d 0 |
284 |
#endif |
#endif |
285 |
|
|
286 |
#ifdef ALLOW_DIAGNOSTICS |
#ifdef ALLOW_DIAGNOSTICS |
287 |
COJ for diagnostics |
COJ for diagnostics |
288 |
PParr(i,j,k) = 0. _d 0 |
PParr(i,j,k) = 0. _d 0 |
289 |
Nfixarr(i,j,k) = 0. _d 0 |
Nfixarr(i,j,k) = 0. _d 0 |
290 |
|
#ifdef DAR_DIAG_CHL |
291 |
|
GeiderChlarr(i,j,k) = 0. _d 0 |
292 |
|
GeiderChl2Carr(i,j,k) = 0. _d 0 |
293 |
|
DoneyChlarr(i,j,k) = 0. _d 0 |
294 |
|
DoneyChl2Carr(i,j,k) = 0. _d 0 |
295 |
|
CloernChlarr(i,j,k) = 0. _d 0 |
296 |
|
CloernChl2Carr(i,j,k) = 0. _d 0 |
297 |
|
#endif |
298 |
c ANNA_TAVE |
c ANNA_TAVE |
299 |
#ifdef WAVES_DIAG_PCHL |
#ifdef WAVES_DIAG_PCHL |
300 |
DO np=1,npmax |
DO np=1,npmax |
739 |
Diver4(i,j,k)=Diver4(i,j,k)+1. _d 0 |
Diver4(i,j,k)=Diver4(i,j,k)+1. _d 0 |
740 |
endif |
endif |
741 |
enddo |
enddo |
742 |
|
c totphy > thresh0 |
743 |
|
endif |
744 |
|
c Shannon and Simpson indices |
745 |
|
Shannon(i,j,k) = 0. _d 0 |
746 |
|
c note: minimal valid value is 1, but we set to zero below threshold |
747 |
|
Simpson(i,j,k) = 0. _d 0 |
748 |
|
if (totphy.gt.shannon_thresh) then |
749 |
|
do np=1,npmax |
750 |
|
if (Phy(np) .gt. 0. _d 0) then |
751 |
|
tmpphy(np) = Phy(np)/totphy |
752 |
|
Shannon(i,j,k)=Shannon(i,j,k)+tmpphy(np)*LOG(tmpphy(np)) |
753 |
|
Simpson(i,j,k)=Simpson(i,j,k)+tmpphy(np)*tmpphy(np) |
754 |
|
endif |
755 |
|
enddo |
756 |
|
Shannon(i,j,k) = -Shannon(i,j,k) |
757 |
|
Simpson(i,j,k) = 1./Simpson(i,j,k) |
758 |
endif |
endif |
759 |
#endif |
#endif |
760 |
|
|
959 |
c |
c |
960 |
#ifdef IRON_SED_SOURCE |
#ifdef IRON_SED_SOURCE |
961 |
c only above minimum depth (continental shelf) |
c only above minimum depth (continental shelf) |
962 |
if (rF(k).lt.depthfesed) then |
if (rF(k).gt.-depthfesed) then |
963 |
c only if bottom layer |
c only if bottom layer |
964 |
if (bottom.eq.1.0 _d 0) then |
if (bottom.eq.1.0 _d 0) then |
965 |
#ifdef IRON_SED_SOURCE_VARIABLE |
#ifdef IRON_SED_SOURCE_VARIABLE |
994 |
picupl = PICl |
picupl = PICl |
995 |
c include surface forcing |
c include surface forcing |
996 |
if (k.eq.1) then |
if (k.eq.1) then |
997 |
ddicl = ddicl + flxCO2(i,j,bi,bj) |
ddicl = ddicl + flxCO2(i,j) |
998 |
dalkl = dalkl + flxALK(i,j,bi,bj) |
dalkl = dalkl + flxALK(i,j) |
999 |
do2l = do2l + flxO2(i,j,bi,bj) |
do2l = do2l + flxO2(i,j) |
1000 |
endif |
endif |
1001 |
#endif |
#endif |
1002 |
c |
c |
1359 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1360 |
if (k.eq.1) then |
if (k.eq.1) then |
1361 |
SURave(i,j,bi,bj) =SURave(i,j,bi,bj)+ |
SURave(i,j,bi,bj) =SURave(i,j,bi,bj)+ |
1362 |
& flxCO2(i,j,bi,bj)*dtplankton |
& flxCO2(i,j)*dtplankton |
1363 |
SURCave(i,j,bi,bj) =SURCave(i,j,bi,bj)+ |
SURCave(i,j,bi,bj) =SURCave(i,j,bi,bj)+ |
1364 |
& FluxCO2(i,j,bi,bj)*dtplankton |
& FluxCO2(i,j,bi,bj)*dtplankton |
1365 |
SUROave(i,j,bi,bj) =SUROave(i,j,bi,bj)+ |
SUROave(i,j,bi,bj) =SUROave(i,j,bi,bj)+ |
1366 |
& flxO2(i,j,bi,bj)*dtplankton |
& flxO2(i,j)*dtplankton |
1367 |
pCO2ave(i,j,bi,bj) =pCO2ave(i,j,bi,bj)+ |
pCO2ave(i,j,bi,bj) =pCO2ave(i,j,bi,bj)+ |
1368 |
& pCO2(i,j,bi,bj)*dtplankton |
& pCO2(i,j,bi,bj)*dtplankton |
1369 |
pHave(i,j,bi,bj) =pHave(i,j,bi,bj)+ |
pHave(i,j,bi,bj) =pHave(i,j,bi,bj)+ |
1466 |
WRITE(diagname,'(A8)') 'Diver4 ' |
WRITE(diagname,'(A8)') 'Diver4 ' |
1467 |
CALL DIAGNOSTICS_FILL( Diver4(1-Olx,1-Oly,1), diagname, |
CALL DIAGNOSTICS_FILL( Diver4(1-Olx,1-Oly,1), diagname, |
1468 |
& 0,Nr,2,bi,bj,myThid ) |
& 0,Nr,2,bi,bj,myThid ) |
1469 |
|
WRITE(diagname,'(A8)') 'Shannon ' |
1470 |
|
CALL DIAGNOSTICS_FILL( Shannon(1-Olx,1-Oly,1), diagname, |
1471 |
|
& 0,Nr,2,bi,bj,myThid ) |
1472 |
|
WRITE(diagname,'(A8)') 'Simpson ' |
1473 |
|
CALL DIAGNOSTICS_FILL( Simpson(1-Olx,1-Oly,1), diagname, |
1474 |
|
& 0,Nr,2,bi,bj,myThid ) |
1475 |
#endif |
#endif |
1476 |
#ifdef ALLOW_DIAZ |
#ifdef ALLOW_DIAZ |
1477 |
#ifdef DAR_DIAG_NFIXP |
#ifdef DAR_DIAG_NFIXP |
1497 |
& 0,Nr,2,bi,bj,myThid ) |
& 0,Nr,2,bi,bj,myThid ) |
1498 |
#endif |
#endif |
1499 |
#ifdef ALLOW_CARBON |
#ifdef ALLOW_CARBON |
1500 |
CALL DIAGNOSTICS_FILL( flxCO2(1-Olx,1-Oly,bi,bj), 'DICTFLX ', |
CALL DIAGNOSTICS_FILL( flxCO2(1-Olx,1-Oly), 'DICTFLX ', |
1501 |
& 0,1,2,bi,bj,myThid ) |
& 0,1,2,bi,bj,myThid ) |
1502 |
CALL DIAGNOSTICS_FILL( FluxCO2(1-Olx,1-Oly,bi,bj), 'DICCFLX ', |
CALL DIAGNOSTICS_FILL( FluxCO2(1-Olx,1-Oly,bi,bj), 'DICCFLX ', |
1503 |
& 0,1,2,bi,bj,myThid ) |
& 0,1,2,bi,bj,myThid ) |
1504 |
CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly,bi,bj), 'DICOFLX ', |
CALL DIAGNOSTICS_FILL( flxO2(1-Olx,1-Oly), 'DICOFLX ', |
1505 |
& 0,1,2,bi,bj,myThid ) |
& 0,1,2,bi,bj,myThid ) |
1506 |
CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ', |
CALL DIAGNOSTICS_FILL( pCO2(1-Olx,1-Oly,bi,bj), 'DICPCO2 ', |
1507 |
& 0,1,2,bi,bj,myThid ) |
& 0,1,2,bi,bj,myThid ) |