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 memoryFor the variable you're trying to write out, what is the output of yes? show grid my_varWhen 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.e4But for instance I just tried this: yes? set memory/size=5.e12which is way more memory than I have available. Ferret should have issued a warning. In fact additional memory was not allocated: yes? show memoryFor 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, |