[Thread Prev][Thread Next][Index]
Re: Geostrophic velocities in Ferret
Salut encore Bruno,
Your problem is not trivial in ferret but I think still doable. Its
not clear from your mail what data you have (do you have T and S
varying in 3D space?). At any rate, here's a stab at it. The thermal
wind relation will give you the vertical gradients of the geostrophic
field in terms of horizontal density gradients:
(rho*f*u)_z = + g*rho_y
(rho*f*v)_z = - g*rho_x
Here, rho is the density of the fluid, f is the Coriolis parameter
and g is gravity. Subscripts denote partial differentiation (perhaps
this is all clear to you). In a Boussinesq ocean (see any standard
reference, eg Pond and Pickard), a good approximation to the above
rho*f*u_z = + g*rho_y
rho*f*v_z = - g*rho_x
Hence, what you need to compute first is the density field from
your (S,T,p) data via the EOS (you can do this with the ferret
function rho_un, see manual p42). You can then compute horizontal
gradients of the density field and obtain the vertical geostrophic
shear, u_z and v_z. Then, integrate these in the vertical
to obtain the geostrophic field. Below is an outline UNTESTED ferret
script (more of an algorithm I would say). You'll have to modify it
for your application.
I hope this helps.
P.S. Hi Scott, how's snowy Montreal? Say hi to David from me.
! Set your data file (I assume you have a netCDF file of model output)
! Set parameters
let g = 9.81
let pi = 3.14159
let omega = 7.292e-5
let f = 2*omega*sin(y*pi/180)
! Set region to all space (use actual values for ni, nj and nk)
! Compute density
! I'll assume you have two variables S and T in your data file and that
! your vertical levels are in dbars (meters would be pretty close)
let rho = rho_un(S,T,z)
! Compute vertical shears
let gamma = g/(rho*f)
let u_z = gamma*rho[y=@DDC]
let v_z = gamma*rho[x=@DDC]*(-1)
! Compute geostrophic field
! To compute absolute velocity you either have to know some reference
! velocity or assume a level of no motion (as is traditionally done)
! The level of no motion argument is what is used when calculating
! the surface geostrophic field from "dynamic topography". You can
! assume that the flow is zero at the bottom for example and then
! integrate vertically to the level at which you want the flow field.
! The flow field at the surface
let u = u_z[k=@DIN]
let v = v_z[k=@DIN]
! The flow field at the base of a 100 m mixed layer assuming the
! depth of no motion is at 5000 m.
let um = u_z[z=5000:100@DIN]
let vm = v_z[z=5000:100@DIN]
Rob Scott wrote:
> On Fri, 15 Jan 1999, Bruno Levier wrote:
> > Hi!
> > I'm trying to calculate geostrophic velocities using ferret.
> > Could you help me?
> > Thanks
> > Bruno
> Salut Bruno!
> I am assuming that you want to calculate the surface geostrophic current
> using dynamic topography data. Please forgive me if I have misunderstood
> your intention.
> ! have dynamic topography in variable ssh, units=[m], grid = grid_ssh
> SET GRID grid_ssh
> LET omega = 7.292e-5 ! rotation rate of earth [rad/s]
> LET f = 2*omega*sin(y*3.14159/180) ! Coriolis in [1/s]
> LET g = 9.8 ! see back of Gill 1982 for
> ! more accurate g = g(y)[m/s^2]
> LET/TITLE="u_g" u = 9.8/f*ssh[y=@DDC]*(-1) ! get u_g [m/s] centred diff.
> LET/TITLE="v_g" v = 9.8/f*ssh[x=@DDC] ! get v_g [m/s]
David Oxilia Tel: (541) 737-2368
COAS:Oregon State University Fax: (541) 737-2064
Ocean Admin. Bldg. 104 WWW: http://www.oce.orst.edu/po
Corvallis, OR 97331-5503 Email: email@example.com
[Thread Prev][Thread Next][Index]
Dept of Commerce /