|
|
|
@ -5,17 +5,20 @@
|
|
|
|
|
! !DESCRIPTION: |
|
|
|
|
! |
|
|
|
|
! !USES: |
|
|
|
|
use domain, only: imin,imax,jmin,jmax,kmax,H |
|
|
|
|
use domain, only: imin,imax,jmin,jmax,kmax,H,az |
|
|
|
|
IMPLICIT NONE |
|
|
|
|
REALTYPE :: zpos(I3DFIELD),hn(I3DFIELD),depthmin |
|
|
|
|
integer :: i,j,k |
|
|
|
|
do k=1,kmax |
|
|
|
|
do j=jmin-HALO,jmax+HALO |
|
|
|
|
do i=imin-HALO,imax+HALO |
|
|
|
|
hn(i,j,k)= zpos(i,j,k)-zpos(i,j,k-1) |
|
|
|
|
hn(i,j,k)=max(hn(i,j,k),depthmin) |
|
|
|
|
enddo |
|
|
|
|
enddo |
|
|
|
|
do i=imin-HALO,imax+HALO |
|
|
|
|
! TODO/BJB: If hn is initialized everywhere, then this if- may not be necessary?: |
|
|
|
|
if (az(i,j) .ge. 1) then |
|
|
|
|
hn(i,j,k)= zpos(i,j,k)-zpos(i,j,k-1) |
|
|
|
|
hn(i,j,k)=max(hn(i,j,k),depthmin) |
|
|
|
|
end if |
|
|
|
|
enddo |
|
|
|
|
enddo |
|
|
|
|
enddo |
|
|
|
|
! End Back to layer thickness |
|
|
|
|
return |
|
|
|
@ -26,18 +29,21 @@
|
|
|
|
|
! !DESCRIPTION: |
|
|
|
|
! |
|
|
|
|
! !USES: |
|
|
|
|
use domain, only: imin,imax,jmin,jmax,kmax,H |
|
|
|
|
use domain, only: imin,imax,jmin,jmax,kmax,H,az |
|
|
|
|
IMPLICIT NONE |
|
|
|
|
REALTYPE :: zpos(I3DFIELD),hn(I3DFIELD),depthmin |
|
|
|
|
integer :: i,j,k |
|
|
|
|
! write(6,*) 'htoz',imax,hn(imax/2,2,kmax/2),H(imax/2,2) |
|
|
|
|
do j=jmin-HALO,jmax+HALO |
|
|
|
|
do i=imin-HALO,imax+HALO |
|
|
|
|
zpos(i,j,0)=-H(i,j) |
|
|
|
|
do k=1,kmax |
|
|
|
|
zpos(i,j,k)=zpos(i,j,k-1)+hn(i,j,k) |
|
|
|
|
enddo |
|
|
|
|
enddo |
|
|
|
|
do i=imin-HALO,imax+HALO |
|
|
|
|
! TODO/BJB: If hn is initialized everywhere, then this if- may not be necessary?: |
|
|
|
|
if (az(i,j) .ge. 1) then |
|
|
|
|
zpos(i,j,0)=-H(i,j) |
|
|
|
|
do k=1,kmax |
|
|
|
|
zpos(i,j,k)=zpos(i,j,k-1)+hn(i,j,k) |
|
|
|
|
enddo |
|
|
|
|
end if |
|
|
|
|
enddo |
|
|
|
|
enddo |
|
|
|
|
return |
|
|
|
|
end |
|
|
|
|