[Thread Prev][Thread Next][Index]

Re: [ferret_users] Puzzling metafile error with Fprint

No, PPL CLSPLT is NOT the same as CAN MODE META.

Once MODE META is set, it remains in force, writing all plot commands to metafiles.

PPL CLSPLT closes a particular metafile. With MODE META remaining set, additional plotting will write to subsequent metafiles (with filenames metafile.plt.~1~, etc).

CAN MODE META turns off the writing to metafiles, but each individual metafile must still be closed with PPL CLSPLT to be complete. Sometimes the metafiles will be valid anyway, but you may notice the final bits of the plot missing from the output of Fprint. Other times, an error such as you report will result.

By the way, on Macs, BOTH commands must be given after a plot, otherwise Ferret crashes. Subsequent plots must be restarted with SET MODE META again.

Billy K

On Feb 25, 2009, at 5:07 PM, Paul Young wrote:

Apologies, forgot to add those lines in my example script (I guess PPL CLSPLT is the same as CAN MODE META) - I had indeed used those.

...So, my original error still stands. Further info -

A suggestion that someone emailed was to use a different symbol (e.g. plot/vs/sym=2). This produces a viable postscript, but then I can't get the effect I want. My script has worked fine with the standard map before (i.e. fill my_var), so I guess it's something going on with the fact that I am using map projections....?

I have also tried using mp_line.jnl:

let lon = x[gx=my_var1[d=1]] + 0*y[gy=my_var1[d=1]]
let lat = 0*x[gx=my_var1[d=1]] + y[gy=my_var1[d=1]]
let maskx = lon*signif
let masky = lat*signif
go mp_line plot/vs/over/sym=dot/nolab xsequence(maskx) ysequence(masky)

but this didn't work either (memory failure, but I think the above must be wrong).


On Feb 25, 2009, at 5:41 PM, William S. Kessler wrote:

You need to start the metafile with SET MODE META before making the plot, and then close the metafile with PPL CLSPLT after finishing your plot. BK

On Feb 25, 2009, at 2:59 PM, Paul Young wrote:

Hi all,

I'm having a problem generating a postscript file using Fprint. I get the following error:

GKSM item 12121226 is undefined
ggetgksm()  163 Metafile item is invalid
greadgksm()  162 No item is left in GKS Metafile input

which I have not had any luck finding on these forums or via google.

Essentially, the problem seems to be related to my "shading" certain areas of a fill/ plot with plot/vs. Here's a sketch of what I am doing:

use my_data1.nc     !Time series of (e.g.) winter averages
use my_data2.nc

let variance1 = my_var1[d=1,t=@var]  !Standard deviation calculation
let sd1 = variance1^0.5

let delta = my_var2[d=2,t=@ave] - my_var1[d=1,t=@ave]
let signif = if abs(delta) gt sd1 then 1 else 0

set region/x=0:360/y=-90:-20              !Define SH region

set grid delta
go mp_stereographic_south 0 -40
fill/noaxes/nolab/lev=(-80)(-40,40,10)(80)/y=-90:-20/set delta, x_page, y_page
ppl title "1981to1986 - 1979to1980: Dec-May Avg"
ppl fill
go mp_land

plot/vs/over/sym=dot/nolab  x_page*signif, y_page*signif

Removing the plot/vs removes the error, so I guess this is where things are going awry.

Btw, I tried using the polymark.jnl script to shade the data, but it just shaded a ring around the south pole - don't think I've got the command quite right:

go polymark poly/pal=black/over xsequence(x_page), xsequence(y_page), xsequence(signif), circle, 0.2

As usual, thanks for any help,


Paul Young

Chemistry and Climate Processes
Chemical Sciences Division
NOAA Earth System Research Laboratory
325 Broadway R/CSD8
Boulder CO 80305-3328

Tel:   +1 303-497-4711
Fax:   +1 303-497-5686
Email: paul.j.young@xxxxxxxx
Web:   http://www.esrl.noaa.gov/csd/

[Thread Prev][Thread Next][Index]

Contact Us
Dept of Commerce / NOAA / OAR / PMEL / TMAP

Privacy Policy | Disclaimer | Accessibility Statement