[Thread Prev][Thread Next][Index]
Re: [ferret_users] meridional overturning streamfunction
David,
| I found the variables are staggered on the B-grid, and the
| pre-cooked meridional overturning streamfunction (stfmmc) is located
| at the same latitudes as (u, v) and staggered in the vertical
| direction.
I think that should be the case. To compute such a streamfunction,
you need to first compute
forall(i=1:NX-1) vm(i,:,:) = ( v(i-1,:,:) + v(i,:,:) )/2
vm(NX,:,:) = 0
which is an average of v defined at the center of a face
of the scalar gridbox.
Then,
! Transport into each scalar gridbox integrated in x.
forall(j=1:NY, k=1:NZ) &
vh(j,k) = sum( vm(:,j,k) * mask(:,j,k) * dx(:,j) ) * dz(k)
! Integration from the bottom.
strfn(:,NZ) = vh(:,NZ)
do k = NZ-1, 1, -1
strfn(:,k) = strfn(:,k+1) + vh(:,k)
end do
or something along the lines. This code isn't tested; don't take
it as is. I have no experience in doing this in Ferret, but
I guess you can do it. I suppose vm can be defined by
interpolating v in the x-direction onto a new x-axis.
(mask has to be defined on the same grid as vm.)
Hope this helps,
Ryo
[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Privacy Policy | Disclaimer | Accessibility Statement