Try placing all large arrays in common blocks and use the "virtual common" facility when linking. I find that this method is very efficient in memory handling, and I do not have any problems with very large arrays.