[Thread Prev][Thread Next][Index]
Re: [ferret_users] FERRET v5.81: return=xaxis needs huge memory
Hi Martin,
Thank you for reporting this, and for taking the time to make an
example. This is a bug. What is happening is that the variable pvapour
has a slightly different grid from the variable tatm.
yes? show grid tatm
GRID GIF1
name axis # pts start end
ETOPO60X LONGITUDE 360mr 20.5E 19.5E(379.5)
ETOPO60Y LATITUDE 180 r 89.5S 89.5N
normal Z
TAX TIME 3000 r 01-JAN-2000 00:00 18-MAR-2008 00:00
yes? show grid pvapour
GRID (G002)
name axis # pts start end
ETOPO60X LONGITUDE 360mr 20.5E 19.5E(379.5)
ETOPO60Y LATITUDE 180 r 89.5S 89.5N
ABSTRACT Z 9999999 r 1 9999999
TAX TIME 3000 r 01-JAN-2000 00:00 18-MAR-2008 00:00
In the code which decodes the string `pvapour,return=xaxis`, Ferret
looks to see if the context is known for the variable pvapour, and if
not, it loads the variable to get its full context. The abstract Z axis
of pvapour is triggering this in your example. Of course, the context
isn't needed just to get the name of the x axis of the variable, so we
should be able to fix it without too much trouble.
Ansley
Martin Schmidt wrote:
Hi all,
I am confronted with the following:
I am computing specific humidity from dew point temperature.
Trying to cancel the modulo flag of the output data, ferret
complains about missing memory.
To demonstrate the problem, I have written some test
procedure from public files:
use etopo60
define axis/t=0:3000:1/t0=1-jan-2000/unit=days tax
define grid/x=rose[d=1]/y=rose[d=1]/t=tax tg
let tatm = rose + 0*t[gt=tg]
sp rm tatm*
repeat/l=1:3000 save/file=tatm.nc/append tatm
q
Now restart ferret
use tatm.nc
let ahumi = 1
let a1 = 6.1078
let a2 = 17.2693882
let a3 = 0.01
let a4 = 237.29
let pvapour = ahumi*a1*exp(a2*(tatm-a3)/(tatm+a4))
can axis/modulo `pvapour,return=xaxis`
**ERROR: insufficient memory: 194400000 words were requested.
I only wanted to change an axis attribute ....
Surprisingly the following helps:
set region/l=1
can axis/modulo `pvapour,return=xaxis`
can region
Also the following works
let pvapour = 1*exp(2*(tatm-3)/(tatm+4))
yes? can axis/modulo `pvapour,return=xaxis`
!-> can axis/modulo ETOPO60X
Something is wrong here, which I consider worth to be reported.
Best,
Martin Schmidt
[Thread Prev][Thread Next][Index]
Dept of Commerce /
NOAA /
OAR /
PMEL /
TMAP
Contact Us | Privacy Policy | Disclaimer | Accessibility Statement