Regarding Ravi's 6 point list. 1) USEing procedures from modules introduces compilation cascade, which has been discussed many times here, and never comes to a satisfactory cross-platform conclusion, as it involves checking compiler output files whose conventions are not covered by the standard. 3) I've never tried writing explicit interfaces for F77 code. Has anyone else tried this, and how do they handle f77 style variable declarations like INTEGER a(*)? 4) Placing interfaces in one large module leads to complation cascade again, though in a more limited form, as changing the interface to a routine forces a module update and so a complete code rebuild. 6) If you use automatic interface file generation to keep things in sync, you always have identical names, which seems preferable. BTW how large a program do people write with F90 and interface blocks? I have several 150k line programs with typically 700-800 subroutines in each, and wondered if anyone had anything much bigger. John -- John Bray, High Performance Computing Analyst Met Office London Road Bracknell Berkshire RG12 2SZ United Kingdom Tel: +44 (0)1344 854035 Fax: +44 (0)1344 854026 E-mail: [log in to unmask] http://www.metoffice.com