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 |
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 |
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 |
|
|
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 |