[Thread Prev][Thread Next][Index]
Re: [ferret_users] potential vorticity from OGCM
Hi William and Ryo,
I forgot to keep MKS units. My program works fine now.
Thank you very much your comments.
Prescilla
On Wed, 2009-07-29 at 06:57 -0700, William S. Kessler wrote:
> What Ryo said, exactly.
>
> But if you still think you're not getting the right answer, look at
> the pieces before assembling them:
> Is the relative vorticity reasonable? (shade it and overlay velocity
> vectors to check)
>
> One thing that worries me a little is the use of SET REGION,
> including for K. Is that causing a problem when you are taking a
> vertical derivative? Are the vertical grids the same for all quantities?
> If the other pieces look right, then try removing SET REGION/K=10,
> defining the vertical derivative manually ((density[k=9]-density
> [k=11])/2*<your interval>), and specifying zeta[k=10].
>
> And you omitted the most important thing when using SET REGION in a
> script:
>
> The final line: CAN REG/ALL
>
> It is far too easy to get an incorrect result when leftover REGIONS
> are defined and you have forgotten that they remain. For example, if
> K=10 remained specfied and you later did a vertical integral of
> something else, you would get the wrong answer and not know it. I
> never use SET REGION! It is straightforward to make the specification
> within the calculation, or within the definition of variables. A
> further reason to do this is that the JNL files are easier to
> understand later if the region specifications are done in the
> calculation, rather than somewhere far above it the listing.
>
> One man's opinion.
>
> Billy K
>
>
> On 29 Jul 09, at 1:04 AM, Ryo Furue wrote:
>
> > Hi Prescilla,
> >
> > | The code I prepared is as below
> > |
> > | use 2014_hori_U_AM500_AH250.nc
> > | use 2014_hori_V_AM500_AH250.nc
> > | set region/X=78E:94E/Y=6N:23N/L=8/K=10
> > | use density.nc
> > | LET zeta=(VVEL[d=2,x=@ddc])-(UVEL[d=1,y=@ddc]) ! relative vorticity
> > | let deg2rad=(2*3.14)/360
> > | let omega = 7.292e-5
> > | let f=2*omega*sin(deg2rad*Y[g=UVEL[d=1]]) !planetary V
> > | let rho_zero=1026 ! referece density
> > | let grad=DENSITY[z=@ddc] ! density gradient
> > | fill (grad*(zeta+f))/rho_zero
> >
> > Looks good to me, if DENSITY, VVEL, and UVEL are in MKS units.
> > A potential (minor) problem is that if DENSITY, VVEL, and UVEL
> > are defined on different grids, then it's better to map them on
> > to a common grid before the final multiplication; for example
> >
> > let pv = grad[g=zeta] * (zeta + f) / rho_zero
> >
> > Density should be a potential density but I don't think
> > that matters much for the upper ocean.
> >
> > By the way, I have a very minor piece of advice, which isn't
> > related to the cause of your problem. I think it's better
> > not to throw away precision gratuitously: I would write
> > something along the lines of
> >
> > let pi = 4*atan(1.0) !! or acos(-1.0)
> > let deg2rad = pi/180
> > let omega = 2*pi/(24*60*60)
> >
> > Regards,
> > Ryo
>
[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Privacy Policy | Disclaimer | Accessibility Statement