[cig-commits] commit: Merge with 1.4.x
Mercurial
hg at geodynamics.org
Fri Feb 5 12:09:08 PST 2010
changeset: 249:ac5795055eb1
tag: tip
parent: 241:82a69cd25ec5
parent: 248:f155cc3a20ad
user: Walter Landry <wlandry at caltech.edu>
date: Thu Feb 04 15:05:16 2010 -0800
files: INSTALL
description:
Merge with 1.4.x
diff -r 82a69cd25ec5 -r ac5795055eb1 ChangeLog
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ChangeLog Thu Feb 04 15:05:16 2010 -0800
@@ -0,0 +1,13 @@
+ChangeLog for Underworld-1.4
+
+* New configuration step in installation process, './configure.py -h' for help.
+* Changes to the XML user interface, see the file XMLChanges_1.4 for details.
+* Multigrid solver is now available.
+* Superconvergent Patch Recovery (SPR) Method is now available.
+* Significant checkpointing improvements, hdf5 format is now the standard format, see manual for details.
+* Testing have been enabled. Currently 443 unit tests + 105 system tests.
+Automatic testing is run periodically on multiple platforms with Shinkou
+system, see https://www.mcc.monash.edu.au/trac/test/build.
+* New constructor/destroy/delete phases for all components and plugins.
+* Toolboxes / Context code tangle has been addressed.
+* Bugfixes and memory cleaning changes also.
diff -r 82a69cd25ec5 -r ac5795055eb1 INSTALL
--- a/INSTALL Mon Feb 01 15:59:53 2010 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-========================
- Installation Guide
-========================
-
-------------------------
-1. Dependencies
-------------------------
-
- libXML2
- MPI
- PETSc
- HDF5 (optional)
-
-(more to come)
-
-------------------------
-2. Configuration
-------------------------
-
-To configure:
-
- ./configure.py
-
-Available options can be listed with:
-
- ./configure.py --help
-
-------------------------
-3. Build
-------------------------
-
-To build:
-
- ./scons.py
-
-To rebuild as fast as possible (note that this is
-not garaunteed to produce a consistent build):
-
- ./fast-scons.py
-
-To run tests:
-
- ./scons.py check ... runs unit-tests & low resolution integration tests
- ./scons.py check-convergence ... runs only convergence tests
- ./scons.py check-complete ... runs all tests (recommended for cluster installs)
-
-To install:
-
- ./scons.py install
-
diff -r 82a69cd25ec5 -r ac5795055eb1 README
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README Thu Feb 04 15:05:16 2010 -0800
@@ -0,0 +1,80 @@
+========================
+ README File
+========================
+
+Includes an installation guide, known bugs and contact information
+
+========================
+ Installation Guide
+========================
+
+------------------------
+1. Dependencies
+------------------------
+
+ libXML2
+ MPI
+ PETSc
+ HDF5
+
+ For visualisation (optional):
+ X11 ( for desktop machines ) or OSMesa (for cluster or machines without displays) or SDL
+ libPNG or libJPEG
+ libFAME
+
+for more details see the http://www.underworldproject.org/documentation/Dependencies.html
+
+------------------------
+2. Configuration
+------------------------
+
+To configure:
+
+ ./configure.py
+
+Available options can be listed with:
+
+ ./configure.py --help
+
+------------------------
+3. Build
+------------------------
+
+To build:
+
+ ./scons.py
+
+To rebuild as fast as possible (note that this is
+not garaunteed to produce a consistent build):
+
+ ./fast-scons.py
+
+To run tests:
+
+ ./scons.py check ... runs unit-tests & low resolution integration tests
+ ./scons.py check-convergence ... runs only convergence tests
+ ./scons.py check-complete ... runs all tests (recommended for cluster installs)
+ ./scons.py -h ... for help on the checks available
+
+
+========================
+ KNOWN ISSUES
+========================
+
+* The test, PCDVCSuite, fails under optimised mode on 32-bit machines.
+* Significant warnings are produced in compile.... don't be alarmed, we are working on them.
+
+Please see XMLChanges_1.4, for details of important input file change for this release
+
+========================
+ CONTACT INFORMATION
+========================
+Mains web page:
+ http://www.underworldproject.org/
+
+Email groups:
+ underworld-users at vpac.org ... user group
+ underworld-dev at vpac.org ... developer group
+
+
+Julian Giordani (18 Jan 2010)
diff -r 82a69cd25ec5 -r ac5795055eb1 SConfigure
--- a/SConfigure Mon Feb 01 15:59:53 2010 -0800
+++ b/SConfigure Thu Feb 04 15:05:16 2010 -0800
@@ -6,7 +6,7 @@ from config import Package, packages, cc
#
options = [
- ('--prefix', 'prefix', 'Installation prefix.', None),
+ ('--prefix', 'prefix', 'Installation prefix. (currently disabled)', None),
('--build-dir', 'build_dir', 'Sandbox location.', 'build'),
('--with-debugging', 'with_debugging', 'Build with debugging', 1, 'int'),
('--with-warnings', 'with_warnings', 'Print all warnings at compile time', 1, 'int'),
@@ -133,29 +133,27 @@ if not (GetOption('help') or GetOption('
# Need an extra CPPDEFINE for gLucifer.
env.AppendUnique(CPPDEFINES=['HAVE_GL'])
- # If we're on Darwin go for a native windowing system first.
+ # X11 available?
res = osm; #Use osmesa for windowing if found
+ if not res and env.get('with_x11'):
+ res = env.ConfigurePackage(packages.X11, required=False).result
+
+ # Try for Carbon if on Darwin...
if not res and platform.system() == 'Darwin' and env.get('with_carbon'):
res = env.ConfigurePackage(packages.Carbon, required=False).result
- # Then SDL. SDL is always compatible with others, so allow configure regardless
- #if not res:
- # res = env.ConfigurePackage(packages.SDL, required=False).result
+ # Try for SDL. SDL is always compatible with others, so allow configure regardless
sdl = 0
if env.get('with_sdl'):
sdl = env.ConfigurePackage(packages.SDL, required=False).result
- # Then X11.
- if not res:
- if env.get('with_x11'):
- res = env.ConfigurePackage(packages.X11, required=False).result
- if not (res or sdl):
- print
- print 'Need a windowing system for gLucifer, one of either SDL,'
- print 'X11, Carbon or OSMesa. None of these could be found.'
- print 'Details in \'config/config2/config.log\''
- print
- env.Exit()
+ if not (res or sdl):
+ print
+ print 'Need a windowing system for gLucifer, one of either SDL,'
+ print 'X11, Carbon or OSMesa. None of these could be found.'
+ print 'Details in \'config/config2/config.log\''
+ print
+ env.Exit()
# Add auxilliary gLucifer packages.
if env.get('with_png'):
diff -r 82a69cd25ec5 -r ac5795055eb1 XMLChanges_1.4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/XMLChanges_1.4 Thu Feb 04 15:05:16 2010 -0800
@@ -0,0 +1,84 @@
+XML Input File changes for Underworld 1.4
+==============================================
+
+
+===================================================
+1. User must specify the âcontextâ of the model
+===================================================
+This must be done first before other components are read into the dictionary, otherwise the simulation will halt in it's 'read from input file' phase. To perform this add:
+
+<struct name=âcomponentâ mergeType=âmergeâ>
+ <struct name=âcontextâ>
+ <param name=âTypeâ>UnderworldContext</param>
+ </struct>
+</struct>
+
+We recommend this be included directly after <list name=âimportâ>...</list>
+
+===================================================
+2. Plugins are now defined in XML as components are
+===================================================
+
+To general syntax for adding a plugin is now:
+ <list name="plugins" mergeType="merge">
+ <struct>
+ <param name="Type">PlugingName</param>
+ <param name="Context">context</param>
+ ...
+ </struct>
+ </list>
+where the '...' represents arguments to pass into the plugin.
+
+So what was, as of Underworld 1.2
+ <list name="plugins" mergeType="merge">
+ <!-- Output Plugins -->
+ <param>StgFEM_FrequentOutput</param>
+ <param>Underworld_Vrms</param>
+ <param>StgFEM_CPUTime</param>
+ </list>
+
+Is now:
+ <list name="plugins" mergeType="merge">
+ <struct>
+ <param name="Type">StgFEM_FrequentOutput</param>
+ <param name="Context">context</param>
+ </struct>
+ <struct>
+ <param name="Type">Underworld_Vrms</param>
+ <param name="Context">context</param>
+ <param name="GaussSwarm">gaussSwarm</param>
+ <param name="VelocityField">VelocityField</param>
+ </struct>
+ <struct>
+ <param name="Type">StgFEM_CPUTime</param>
+ <param name="Context">context</param>
+ </struct>
+ </list>
+
+This adds verbosity to the plugins and requires the user to know what parameters to pass to a plugin. As with the âComponentsâ, parameters passed in are error checked and the code will halt and report a problem if invalid parameters are found. This change is necessary for the code restructure of late 2009.
+
+==============================================
+3. Verticies ---- > Vertices
+==============================================
+The code now uses the correct spelling 'vertices' to define a list containing multiple vertex points. The previous, incorrect spelling was 'verticies'. Please check that your Shape definitions are consistent with this.
+
+==============================================
+4. Declaring gLucifer
+==============================================
+If creating gLucifer visualisation and NOT including the template <include>glucifer/window.xml</include>, one must define
+
+<param name=âlucPluginContextâ>context</param>
+<list name=âpluginsâ mergeType=âmergeâ>
+ <struct>
+ <param name=âTypeâ>lucPlugin</param>
+ <param name=âContextâ>lucPluginContext</param>
+ </struct>
+</list>
+
+(see the file gLucifer/ModelComponents/window.xml as an example)
+
+
+See any .xml in the Underworld/InputFiles/ for examples of these changes.
+
+
+
diff -r 82a69cd25ec5 -r ac5795055eb1 script/systest.pl
--- a/script/systest.pl Mon Feb 01 15:59:53 2010 -0800
+++ b/script/systest.pl Thu Feb 04 15:05:16 2010 -0800
@@ -206,19 +206,22 @@ sub runTests {
print "$command";
&executeCommandline( $command );
- # check error stream for error result
- open( ERROR, "<$stderr" );
- my $line;
- foreach $line (<ERROR>) {
- if( $line =~ m/[E|e]rror/ ) {
- close(ERROR);
- die ("\n\n### ERROR ###\nError in runtime: see $stderr or $stdout - stopped" );
- }
- }
+ # check error stream for error result and produce warning
+ my $rm_stderr = 1;
+ open( ERROR, "<$stderr" );
+ my $line;
+ foreach $line (<ERROR>) {
+ if( $line =~ m/[E|e]rror/ ) {
+ close(ERROR);
+ warn ("\n\n### Warning ###\nError reported in runtime: see $stderr - stopped" );
+ $rm_stderr=0;
+ last; # break out of the foreach loop
+ }
+ }
- # if no error close file and delete it
- close(ERROR);
- $command = "rm $stderr"; &executeCommandline($command);
+ # if no error close file and delete it
+ close(ERROR);
+ if( $rm_stderr ) { $command = "rm $stderr"; &executeCommandline($command); }
# removing help.xml
$command = "rm help.xml";
More information about the CIG-COMMITS
mailing list