[Thread Prev][Thread Next][Index]

Re: geostrophic current



Dear Billy

Thank you very much for your suggestion.

I corrected it as you tought and GO it. The script below
is corrected one. The result looks OK. I am  going to
check the result with dynamic_height.jnl.


! Set your data file (I assume you have a netCDF file of
model output)
use woa01_salt.nc
use woa01_temp.nc
let ss=salt[d=woa01_salt.nc,l=2]
let tt=temp[d=woa01_temp.nc,l=2]
let yy=y[gy=ss];let zz=z[gz=ss]
! Set parameters
let g = 9.81
let pi = 3.14159
let omega = 7.292e-5
let f = 2*omega*sin(yy*pi/180)
set reg/i=660:720/j=120:200/k=1:24
!!!set reg/i=1:ni/j=1:nj/k=1: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(ss,tt,zz)

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



--- Billy Kessler <William.S.Kessler@noaa.gov> からのメ
ッセージ:
> An obvious problem is that you cannot use file
> variables (y and z, 
> in this case) as ordinary variables. The 2
> statements below are
> incorrect:
> 
> let f = 2*omega*sin(y*pi/180)
> let rho = rho_un(ss[G=ggrid],tt[G=ggrid],z)
> 
> Try instead:
> 
> let yy=y[gy=ss]; let zz=z[gz=ss]
> 
> and then use yy and zz in the above two statements.
> 
> Billy K
> 
> > I have tried to calculate the geostrophic current
> with the
> > script below by Dr. David Oxilia
> > submitted to the mailing list on 15th Jan 1999.
> > In addition, I have the World Ocean Atlas 1/4 (24
> standard
> > levels) supported by Dr. Jaison Kurian.
> > However, I could not succeed in this calculation
> as some
> > axis errors come. Especially I do not have
> confidence of
> > two lines
> > set reg/i=660:720/j=120:200/k=1:24
> > and 
> > let rho = rho_un(ss[G=ggrid],tt[G=ggrid],z)
> > Could you give me some suggestions?
> > 
> > ============= geostrophic current script
> ==========
> > ! Set your data file (I assume you have a netCDF
> file of
> > model output)
> > !!!use SaltTemp
> > use woa01_salt.nc
> > use woa01_temp.nc
> > let ss=salt[d=woa01_salt.nc,l=1]  !!!WOA 1/4
> salinity
> > let tt=temp[d=woa01_temp.nc,l=1]  !!!WOA 1/4
> temperature
> > ! Set parameters
> > let g = 9.81
> > let pi = 3.14159
> > let omega = 7.292e-5
> > let f = 2*omega*sin(y*pi/180)
> > define axis/x=160e:180e:0.25/unit=degree xxaxis
> > define axis/y=60s:40s:0.25/unit=degree yyaxis
> > define axis/z zaxis = {0, 10, 20, 30, 50, 75, 100,
> 125,
> > 150,\
> > 200, 250, 300, 400, 500, 600, 700, 800, 900, \
> > 1000, 1100, 1200, 1300, 1400, 1500}
> > define grid/x=xxaxis/y=yyaxis/z=zaxis ggrid
> > ! Set region to all space (use actual values for
> ni, nj
> > and nk)
> > !set reg/i=1:ni/j=1:nj/k=1:nk
> > set reg/i=660:720/j=120:200/k=1:24
> > !!!set reg/x=165e:180e/y=60s:40s/z=0:1500
> > 
> > 
> > ! 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(ss[G=ggrid],tt[G=ggrid],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]
> > 
> > Takaya Namba
> > 
> > 
> > 
> > 
> > __________________________________
> > STOP HIV/AIDS.
> > Yahoo! JAPAN Redribbon Campaign
> > http://pr.mail.yahoo.co.jp/redribbon/
> > 
> 

__________________________________
STOP HIV/AIDS.
Yahoo! JAPAN Redribbon Campaign
http://pr.mail.yahoo.co.jp/redribbon/

[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement