Michael's ideas match what we have done in our data assimilation code, which does many CFD operations, and sucessfully runs MPP on 72 processors. We found it useful to have a field status associated with each allocate, so you can indicate the scope of any variable and how long it should be preserved (global, local to a particular level of soubroutine call etc), so simple calls to 'deallocate_model' at the end of subroutines can tidy up temporary space. Well worth writing trace routines to be called top and bottom of each subroutine, so memory bleed can be spotted early. John John -- John Bray, Room 337, Numerical Weather Prediction, UK Met Office Work: [log in to unmask], http://fr0400/~frjb (internal only) + 44 (0) 1344 854035 (voice), + 44 (0) 1344 854026 (fax) Home: http://www.cix.co.uk/~vicarage/ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%