[Thread Prev][Thread Next][Index]

Re: [ferret_users] Memory error



Hi Asiya,

First I'd like to say that in the most recent versions of Ferret, SET MEMORY does not allocate memory from the system but only sets an upper limit on the amount it will use as needed.  This discussion is for versions previous to v7.2.  The current documentation for SET MEMORY is here, with the discussion at the bottom of the page for earlier versions.

https://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/computing-environment/MEMORY-USE


In Ferret v7, the SET MEMORY/SIZE= causes Ferret to ask the system to allocate that numer of mega-words (storage locations) of memory, so SET MEM/SIZE=1400 asks for over 11 Gb of memory.  When you tried tried "SET MEMORY/SIZE=1400"  did you see an error message?  In v7, it might report

 Cached data cleared from memory
Unable to allocate 1400.0 Mwords of memory.
Restoring previous memory of 25.6 Mwords.


To get an idea of the  amount of memory you might need, look at the subset of the grid that your definitions use. The _expression_ sst_0001[x=120:180@ave,y=-16:6@ave] needs to read data  60*22*165.  It's in megawords, so,

yes? list 60*22*165/1000
             VARIABLE : 60*22*165/1000
          217.8

So just for that _expression_ you'd need to have the SET MEMORY/SIZE setting larger than 218.  Ferret will store intermediate results and re-use some of the memory, but there are a number of calculations done to evaluate variable  "correl", so probably more memory is needed.  Try SET MEMORY/SIZE=300, or maybe 500


On 1/22/2020 11:52 PM, abs15ms027 wrote:

Hello,

I am repeatedly getting an error while using some of the data sets in Ferret. Error is as follows:

Command file, command group, or REPEAT execution aborted
           *** NOTE: You can use SET MEMORY/SIZE=xxx to increase memory.
           *** NOTE: The "Memory use" section of the FERRET Users Guide has further tips.

I tried SET MEMORY/SIZE=1400 and SET MEMORY/SIZE=5e12, but still, I am getting the same error.

My script looks as follows.

use abs_era_data.nc
set mode metafile
let ab=(sst_0001[x=120:180@ave,y=-16:6@ave]+sst_0001[x=-150:-180@ave,y=-16:6@ave])/2
let p=ab
let q=sp_0001[g=sst_0001]

go variance
let ad=(correl)*(39/(1-(correl)^2))^0.5
let sign=if abs(ad) ge 2.02269092 then correl


fill/x=-70:100/y=0:55/pal=blue_orange/nolab correl #getting error at this lin
contour/x=-40:90/y=12:60/ov/nolab sign
go box 8,-13,41,52
go box 69.5,75,29,35.5
go land thick

LABEL ,,-1,0,.16 "Longtitude"
LABEL ,,-1,90,.16 "Latitude"


label/nouser 4.5,6.5,0,0,0.1 "@TRcorrelation of SST over equitorial Pacific with Surface pressure"
cancel mode metafile
sp Fprint -o slp_sst_ipwp_correl_qq.ps metafile.plt


Ferret version I am using is FERRET v7 (opt)

The data set used is ERA 5 single-level data and includes these variables:-

 name     title                             I         J K        L        M         N
 SST_0001 Sea surface temperature          1:1440    1:721 ...      1:164     ...       ...
 SP_0001  Surface pressure                 1:1440    1:721 ...      1:164     ...       ...
 TP_0001  Total precipitation              1:1440    1:721 ...      1:164     ...       ...
 SST_0005 Sea surface temperature          1:1440    1:721 ...      1:164     ...       ...
 SP_0005  Surface pressure                 1:1440    1:721 ...      1:164     ...       ...
 TP_0005  Total precipitation              1:1440    1:721 ...      1:164

It would be of great help if you could provide me with a solution to this problem.

Thanking you in anticipation
Asiya




[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement