[Thread Prev][Thread Next][Index]

[ferret_users] Re: **ERROR: request exceeds memory setting: A negative number of words were requested. *** NOTE: The current grid is most likely too large



Hi Antonio,
If the number of words of memory becomes larger than what can be represented as an integer, the value overflows and shows up  as an internal value that's negative. That's what's happening here.

When you've reset the memory size, what does this show?
yes? show memory
For the variable you're trying to write out, what is the output of
yes? show grid my_var
When Ferret goes to start working on the calculations, it checks the size of the grid of the variable or the expressions that need to be loaded in order to compute it. Here, your variable is going to require such a large amount of memory that the number can't be expressed as an integer.  The next step would be to see if the calculation will fit within the limit that you had asked for.  (Recall that Ferret doesn't load data or do calculations until you issue an action command such as a plotting command or something that's going to list data in some way.  So you hadn't actually done the calculations for that variable at the point when you saw the error.)

In memory requests, we try to find cases where you ask for too much and write a good error message, but I'm finding that particular cases can fool our logic. What should happen on a too-large request is something like this, depending on what's actually available on the particular machine.
yes?  set memory/size=5.e4
 Cached data cleared from memory
Unable to allocate 50000.0 Mwords of memory.
Restoring previous memory of 25.6 Mwords.

 But for instance I just tried this:
yes? set memory/size=5.e12
which is way more memory than I have available. Ferret should have issued a warning. In fact additional memory was not allocated:
yes? show memory
 Current size of FERRET memory cache: 25.6 MegaWords  (1 word = 4 bytes)
For your particular case, you may need to compute and write out your data out in chunks. If there is a time axis, assuming the calculation can be broken up in time, you can write out single timesteps or groups of timesteps, and use /APPEND to add more timesteps to the file.  Other ways to break things up are possible; write back if you need help.

Ansley

On 1/3/2013 3:54 PM, antonio avio wrote:
Hi Ferreters,

I got this error message when simply saved my calculation output [high resolution]:
**ERROR: request exceeds memory setting: A negative number of words were requested.
 *** NOTE: The current grid is most likely too large
I have increased the memory allocation but, still got the same error.

Anybody has an idea how to figure out this problems?

Thanks a lot.
Antonio


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

Privacy Policy | Disclaimer | Accessibility Statement