Release notes for tiegcm1.94.2 January 5, 2012 Summary of changes from v1.94.1 (r674, 7/28/2011) to v1.94.2 (r739, 1/5/2012): - Introducing Intel 2011 Cluster Studio ifort compiler and mpi library. See scripts/Make.intel_hao64 to use the hao installation. The file scripts/Make.intel11.1_hao64 is retained in case anyone needs to use the old compiler. On 64-bit Linux systems at hao, the Intel compilers represent a significant performance improvement over PGI. - Fixed memory accumulation bug with ifort compiler by changing use of f90 intrinsic "trim" function in strloc (util.F), addfld.F, and elsewhere. The Intel ifort compiler was doing mallocs when the trim function was being used to compare strings (e.g., if (trim(string1)==trim(string2)) Used memory checker in valgrind to find this problem. - Changes to dynamic memory allocation in mpi routines (mpi.F), to allocate send and receive buffers once per run per subroutine, instead of alloc/dealloc at every call. These modifications are for performance purposes only, and do not affect model results. - Provide no-dynamo option. To run the model without electro-dynamo set namelist read parameter DYNAMO = 0. In this case, advance calls sub nodynamo instead of sub dynamo. Sub nodynamo zeros out the 3 components of the electric field (magnetic grid), and the 3d electric potential in both geographic and magnetic. POTEN, UI,VI,WI will be all zero on the histories. - Allow seamless switching between model resolutions, using $modelres in the job script. This is accomplished by comparing defs.h in the execdir with defs2.5 and defs5.0 in the srcdir, and copying the appropriate one from srcdir to execdir when necessary. Note change of names from defs.2.5 and defs.5.0 to defs2.5 and defs5.0. - Add sub rdfilename (nchist.F) to read data file names from source history. This allows changes in parameter mxlen_filename between releases, and fixes a bug that was occaisionally expressed when making continuation runs from an "old" history. - Corrected sign error in zigmc and zigm2 in southern hemisphere when difference coefficients are set up. This error was occurring only when the current calculation was turned on (icalkqlam==1). This fix affects Kqphi by approximately 1%. - Rename sub getpid to getprocessid (util.F) to avoid conflict with PVM lib when the model is coupled into CMIT. - Fixed problem with i/o timing calls in advance.F, and added copying of source history for initial runs to primary history timing. - Added SECSTART and SECSTOP to the Userguide namelist parameter descriptions (doc/userguide/namelist.rst). - Move parameter joulefac ("joule heating factor") from dt.F to sub qjoule_tn in qjoule.F, where it is applied to qji_tn during the joule heating calculation. This is before it is optionally saved as a secondary history diagnostic (QJOULE and/or QJOULE_INTEG). Sub qjoule_tn is called before dt, so joulefac is no longer applied in dt. Also added joulefac to history files as a scalar per history. Changed qjoule.F to a module, w/ joulefac in module data, so it can be use-associated by output.F (the routines are use-associated by dynamics.F for the calls). This will NOT affect model results, EXCEPT for the joule heating diagnostics, which will be 1.5x larger than in previous revisions (joulefac==1.5). - Move sub calccloc from wei01cm.F to util.F, modified to use default values for convection radius and center location of the convection pattern. The defaults are normally used for Bz northward conditions. Sub calccloc has been tested with Weimer01, but is NOT called at all in this revision. A new subroutine wei01loc (based on wei05loc) is called for Weimer01. Both wei01loc and wei05loc were modified to use byloc, a subset of byimf, which is used for the cusp location with phid. Sub calccloc will be used later for imposed potential patters for CMIT/LFM or AMIE. For more details see svn commit log r738 by Emery (1/5/2012).