Hi Michael,
Have you looked at plots of the regridded data, and compared with a
plot of the data on a curvilinear grid? Does the regridded data look
wrong? What do you mean that the results are "very different"? Are
they way off in character, or in magnitude or what?
Another tack you might take is to do the calculation in Ferret on the
native curvilinear grid - I the tripolar grid has grid cell edges that
one could create (sum of data* box sizes)/ (sum of box sizes) being
careful to do the calculation with the box sizes in radians and
applying a cosine(latitude) correction.
Has anyone done that kind of thing in Ferret? Any advice for Michael?
Ansley
Kliphuis, M. (Michael) wrote:
Dear ferreter's
I am having big problems in calculating the meridional overturning
for the POP ocean model of CCSM3. POP is defined on a curvilinear
grid so I figured that the way to do this is to first convert this grid
to a rectangular grid with Ferret's CURV_TO_RECT function.
I created a file map_deg_control.nc containing the weights for the
mapping with help of the user's guide.
After that I calculated the MOC with the .jnl script below. It is
possible to let POP
output the MOC field so I was able to check if my own calculated MOC
was good but the fields are very different.
I think that something goes wrong with the conversion from curvilinear
to
a rectangular grid so I looked for other ways to do this e.g. with NCO
or CDO
but I could not find anything.
Are there people who have experience with the calculation of the MOC
for POP output from CCSM3 ?
Kind regards,
Michael
!------------------------------------
! my moc.jnl script
!------------------------------------
! read file containing meridional velocity VVEL
use reversed_rotation_pd.pop.h.0300-01_vvel_world.nc
! Determine velocity on rectangular LON-LAT grid
! Apply mapping to variables
USE "umap_deg_control.nc"
LET vnew = curv_to_rect(VVEL[D=1], map[D=2])
! Save variable + grid to a file
save/clobber/file=basinshelp.nc vnew
! Now determine moc
cancel data/all
cancel var/all
use basinshelp.nc
! divide by 1.e8 for conversion from cm^3/sec to Sv
let vdash = vnew/1.e8
! do the integration
let moc = vdash[x=@din,z=@iin] - vdash[x=@din,z=@din]
shade/nolab moc
contour/ov/nolab moc
label/nou 4 6.5 0 0 .25 MOC (Sv)
|