Dear All,I am trying to plot the meridionally intergrated overturning streamfunction of the ocean of HadCM3 on isopycnals. I have attached the ferret script I use, and the outcome. There are two problems. First, the streamlines in the high density classes do not close. And second, the whole field is far too noisy.
I think the problem lies in the multiplication with the thickness, because the proper units get lost in the axis transformation ZAXREPLACE. Therefore the "heavy" density classes do enter with their appropriate weight. I have tried now for quite a while to solve this, but wihtou success.
Anybody out there who computed the meridionally intergrated overturning streamfunction on isopycnals of a z-level model?
Thanks for your help! Cheers Till -- Dr Till Kuhlbrodt, Walker Institute Visiting Research Fellow, NCAS-Climate Email: t.kuhlbrodt@xxxxxxxxxxxxx Tel.: +44 (0)118 378 6014 Walker Institute, Dept. Meteorology, University of Reading, Earley Gate, PO Box 243, Reading, RG6 6BB, UK
Attachment:
ovt-strf-9.ps.gz
Description: GNU Zip compressed data
! ! strf-meridional-rho ! ! by T. Kuhlbrodt, 13/12/07 ! t.kuhlbrodt@xxxxxxxxxxxxx \CAN MOD VERIFY SET DATA/SAVE cancel data/all cancel var/all ppl shaset reset use "/home/till/DATA/HadCM3/HC3_oceanmasks.nc" use "/home/till/DATA/HadCM3/HadCM3_climatology_ocean.nc" file/VAR=logdens "/home/till/matlab/densityaxis.dat" define axis/z rho_ax=logdens ! logdens is my density axis (sigma_2000) define axis/t=1:1:1 onetaxis ! original one-point t axis causes problems, so I get rid of it define grid/like=field704[d=2]/t=onetaxis gonetaxis ! field704 is the meridional velocity let vvelo = field704[d=2,g=gonetaxis@asn] let/title="pot. density_2" dens_0 = rho_un((salinity[d=2,g=gonetaxis@asn] * 1000 + 35), temp[d=2,g=gonetaxis@asn],2000) - 1000 ! Regrid to density; conversions: cm/s, Sverdrup let v_on_dens= ZAXREPLACE(vvelo, dens_0, z[gz=rho_ax]) /100 /1e6 ! now compute the thickness: h=1/(drho/dz) let dens_z_1 = dens_0[z=@ddf] let dens_z_2 = if (dens_z_1 lt 0) then 0 else dens_z_1 let thick_1 = 1/dens_z_2 let thick_on_dens = ZAXREPLACE(thick_1, dens_0, z[gz=rho_ax]) let v_on_dens_1 = missing(v_on_dens,0) let thick_on_dens_1 = missing(thick_on_dens,0) let v_on_dens_0 = v_on_dens_1 * thick_on_dens_1 ! multiply with thickness let ovt = v_on_dens_0[x=@din,z=@iin] ! ----------------------------------------------------------------- ! set win 1 fill/set/lev=(-100,100,10)/pal=no_green_centered ovt ppl yaxis 40,18,-1 ppl title Overturning on sigma-2 levels ppl fill contour/overlay/lev=(-100,100,10) ovt SET DATA/RESTORE SET MODE/LAST VERIFY