# Strange zonal mean difference plotting

Dear All,

I wanted to produce a difference plot of a zonal mean field from two different model runs (which should be identical). Unfortunately I've been getting some odd results from ferret, which I have in part traced to a small problem with one of the netcdf files but I still don't fully understand what's going on.

What also bothers me in particular was how easy it was to produce the wrong plot with little warning from Ferret. When one thinks about how little students think about what they are doing... !

In detail. I have two netcdf files. It turns out one has a slight error in that there is a loss of precision in the longitude axes. So I get for the last longitudes:
11.3W / 63: 348.7497
5.6W / 64: 354.3747

11.2W / 63: 348.7500
5.6W / 64: 354.3750

The crucial difference is that ferret sees the first longitudes as non-cyclic. This seems to be causing problems. For a variable 'o3', if I do a zonal mean difference by:

fill (o3[d=1,x=@ave] - o3[d=2,x=@ave])*1.e6

I get the plot shown top left in the attached gif image. What I find odd is that if I take the difference the other way:

fill (o3[d=2,x=@ave] - o3[d=1,x=@ave])*1.e6

I get the plot shown top right. Note that this plot is NOT simply the -ve of the first. Ferret has obviously regridded the data differently somehow and got a completely different (and wrong) answer (again).

In both cases I get a "NOTE" from Ferret about ambiguous grids. However, where I have an issue with this is that it should at least be a warning or error. If ferret doesn't know how to handle the different grids or has to make an assumption I would like to see more feedback from the program. In this particular case I knew what to expect. That may not always be the case.

To get around the different grids I then did:
let o3b = o3[d=2,g=o3[d=1]@asn]
using the ASN transform to put it index-by-index on the same grid. If I now take the zonal mean difference:

fill (o3[d=1,x=@ave] - o3b[x=@ave])*1.e6

I now get the plot shown bottom left - which is what I would expect and agrees with plots I've done of each particular model level.

Interestingly GrADS is also producing an incorrect plot (and different again!). We're still trying to understand that one.

Whilst I think I understand what Ferret is doing, my issue really is that there is not enough feedback from the program to warn that what it's about to do may produce an incorrect plot. Granted I get a note about the ambiguous longitude coordinates but that's all it is, just a note, not a warning or an extended note to say how the ambiguous grid will be handled.

Would be interested to hear other opinions!

Glenn

Attachment: ferret.gif
Description: GIF image