[Avida-cvs] [avida-svn] r902 - in development: Avida.xcodeproj documentation documentation/notes source/actions

brysonda at myxo.css.msu.edu brysonda at myxo.css.msu.edu
Mon Aug 28 07:59:46 PDT 2006


Author: brysonda
Date: 2006-08-28 10:52:19 -0400 (Mon, 28 Aug 2006)
New Revision: 902

Added:
   development/documentation/actions.html
   development/documentation/analyze.html
Removed:
   development/documentation/analyze_mode.html
   development/documentation/code_events.html
   development/documentation/code_genesis.html
Modified:
   development/Avida.xcodeproj/project.pbxproj
   development/documentation/config.html
   development/documentation/cpu_tour.html
   development/documentation/events.html
   development/documentation/index.html
   development/documentation/notes/release-milestones.txt
   development/documentation/structure.html
   development/documentation/svn.html
   development/source/actions/LandscapeActions.cc
   development/source/actions/PopulationActions.cc
   development/source/actions/PrintActions.cc
Log:
Update Events File documentation.

Add List of Actions documentation listing all 98 supported actions.   The listing of arguments is complete for all actions, however a number of actions currently do not have a description (the original listing was incomplete).

Add revision date/initials to all updated documentation.

Modified: development/Avida.xcodeproj/project.pbxproj
===================================================================
--- development/Avida.xcodeproj/project.pbxproj	2006-08-27 02:57:12 UTC (rev 901)
+++ development/Avida.xcodeproj/project.pbxproj	2006-08-28 14:52:19 UTC (rev 902)
@@ -587,16 +587,15 @@
 		707AF2F509EE8501001AEA89 /* organism.noheads */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = organism.noheads; sourceTree = "<group>"; };
 		707AF2FF09EE8501001AEA89 /* SConscript */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = SConscript; sourceTree = "<group>"; };
 		707CE51D0A9E49A50022D19C /* config.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = config.html; sourceTree = "<group>"; };
+		707CE7490AA333060022D19C /* actions.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = actions.html; sourceTree = "<group>"; };
+		707CE7500AA334120022D19C /* analyze.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze.html; sourceTree = "<group>"; };
 		708051A70A1F65FE00CBB8B6 /* SaveLoadActions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaveLoadActions.h; sourceTree = "<group>"; };
 		708051A80A1F65FE00CBB8B6 /* SaveLoadActions.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SaveLoadActions.cc; sourceTree = "<group>"; };
 		708051BA0A1F66B400CBB8B6 /* cActionLibrary.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = cActionLibrary.cc; sourceTree = "<group>"; };
-		70920C1B0A9CCE2C00757CDB /* analyze_mode.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze_mode.html; sourceTree = "<group>"; };
 		70920C1C0A9CCE2C00757CDB /* analyze_samples.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = analyze_samples.html; sourceTree = "<group>"; };
 		70920C1D0A9CCE2C00757CDB /* code_c++_intro.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "code_c++_intro.html"; sourceTree = "<group>"; };
 		70920C1E0A9CCE2C00757CDB /* code_death_birth.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_death_birth.html; sourceTree = "<group>"; };
 		70920C1F0A9CCE2C00757CDB /* code_environment.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_environment.html; sourceTree = "<group>"; };
-		70920C200A9CCE2C00757CDB /* code_events.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_events.html; sourceTree = "<group>"; };
-		70920C210A9CCE2C00757CDB /* code_genesis.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_genesis.html; sourceTree = "<group>"; };
 		70920C220A9CCE2C00757CDB /* code_genome.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_genome.html; sourceTree = "<group>"; };
 		70920C230A9CCE2C00757CDB /* code_init_file.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_init_file.html; sourceTree = "<group>"; };
 		70920C240A9CCE2C00757CDB /* code_instruction.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = code_instruction.html; sourceTree = "<group>"; };
@@ -605,53 +604,6 @@
 		70920C280A9CCE2C00757CDB /* cpu_tour.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = cpu_tour.html; sourceTree = "<group>"; };
 		70920C290A9CCE2C00757CDB /* environment.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = environment.html; sourceTree = "<group>"; };
 		70920C2A0A9CCE2C00757CDB /* events.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = events.html; sourceTree = "<group>"; };
-		70920C2D0A9CCE2C00757CDB /* components.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = components.help; sourceTree = "<group>"; };
-		70920C2E0A9CCE2C00757CDB /* help.add.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.add.html; sourceTree = "<group>"; };
-		70920C2F0A9CCE2C00757CDB /* help.Bitwise.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Bitwise.html; sourceTree = "<group>"; };
-		70920C300A9CCE2C00757CDB /* help.Complement-Template.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Complement-Template.html"; sourceTree = "<group>"; };
-		70920C310A9CCE2C00757CDB /* help.CPU-cycle.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.CPU-cycle.html"; sourceTree = "<group>"; };
-		70920C320A9CCE2C00757CDB /* help.CPU.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.CPU.html; sourceTree = "<group>"; };
-		70920C330A9CCE2C00757CDB /* help.dec.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.dec.html; sourceTree = "<group>"; };
-		70920C340A9CCE2C00757CDB /* help.Genome.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Genome.html; sourceTree = "<group>"; };
-		70920C350A9CCE2C00757CDB /* help.Genotype.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Genotype.html; sourceTree = "<group>"; };
-		70920C360A9CCE2C00757CDB /* help.h-alloc.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-alloc.html"; sourceTree = "<group>"; };
-		70920C370A9CCE2C00757CDB /* help.h-copy.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-copy.html"; sourceTree = "<group>"; };
-		70920C380A9CCE2C00757CDB /* help.h-divide.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-divide.html"; sourceTree = "<group>"; };
-		70920C390A9CCE2C00757CDB /* help.h-search.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.h-search.html"; sourceTree = "<group>"; };
-		70920C3A0A9CCE2C00757CDB /* help.Heads.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Heads.html; sourceTree = "<group>"; };
-		70920C3B0A9CCE2C00757CDB /* help.if-label.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-label.html"; sourceTree = "<group>"; };
-		70920C3C0A9CCE2C00757CDB /* help.if-less.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-less.html"; sourceTree = "<group>"; };
-		70920C3D0A9CCE2C00757CDB /* help.if-n-equ.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.if-n-equ.html"; sourceTree = "<group>"; };
-		70920C3E0A9CCE2C00757CDB /* help.inc.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.inc.html; sourceTree = "<group>"; };
-		70920C3F0A9CCE2C00757CDB /* help.Input-Output.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Input-Output.html"; sourceTree = "<group>"; };
-		70920C400A9CCE2C00757CDB /* help.Instruction.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Instruction.html; sourceTree = "<group>"; };
-		70920C410A9CCE2C00757CDB /* help.IO.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.IO.html; sourceTree = "<group>"; };
-		70920C420A9CCE2C00757CDB /* help.jmp-head.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.jmp-head.html"; sourceTree = "<group>"; };
-		70920C430A9CCE2C00757CDB /* help.Logic.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Logic.html; sourceTree = "<group>"; };
-		70920C440A9CCE2C00757CDB /* help.Memory.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Memory.html; sourceTree = "<group>"; };
-		70920C450A9CCE2C00757CDB /* help.mov-head.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.mov-head.html"; sourceTree = "<group>"; };
-		70920C460A9CCE2C00757CDB /* help.Mutation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Mutation.html; sourceTree = "<group>"; };
-		70920C470A9CCE2C00757CDB /* help.nand.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.nand.html; sourceTree = "<group>"; };
-		70920C480A9CCE2C00757CDB /* help.Nop-Head-Notation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Nop-Head-Notation.html"; sourceTree = "<group>"; };
-		70920C490A9CCE2C00757CDB /* help.nop-instructions.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.nop-instructions.html"; sourceTree = "<group>"; };
-		70920C4A0A9CCE2C00757CDB /* help.Nop-Register-Notation.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.Nop-Register-Notation.html"; sourceTree = "<group>"; };
-		70920C4B0A9CCE2C00757CDB /* help.Organism.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Organism.html; sourceTree = "<group>"; };
-		70920C4C0A9CCE2C00757CDB /* help.pop.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.pop.html; sourceTree = "<group>"; };
-		70920C4D0A9CCE2C00757CDB /* help.Population.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Population.html; sourceTree = "<group>"; };
-		70920C4E0A9CCE2C00757CDB /* help.push.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.push.html; sourceTree = "<group>"; };
-		70920C4F0A9CCE2C00757CDB /* help.Registers.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Registers.html; sourceTree = "<group>"; };
-		70920C500A9CCE2C00757CDB /* help.set-flow.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.set-flow.html"; sourceTree = "<group>"; };
-		70920C510A9CCE2C00757CDB /* help.shift-l.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.shift-l.html"; sourceTree = "<group>"; };
-		70920C520A9CCE2C00757CDB /* help.shift-r.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.shift-r.html"; sourceTree = "<group>"; };
-		70920C530A9CCE2C00757CDB /* help.Stack.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Stack.html; sourceTree = "<group>"; };
-		70920C540A9CCE2C00757CDB /* help.sub.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.sub.html; sourceTree = "<group>"; };
-		70920C550A9CCE2C00757CDB /* help.swap-stk.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = "help.swap-stk.html"; sourceTree = "<group>"; };
-		70920C560A9CCE2C00757CDB /* help.swap.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.swap.html; sourceTree = "<group>"; };
-		70920C570A9CCE2C00757CDB /* help.Tasks.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Tasks.html; sourceTree = "<group>"; };
-		70920C580A9CCE2C00757CDB /* help.Template.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = help.Template.html; sourceTree = "<group>"; };
-		70920C590A9CCE2C00757CDB /* inst.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = inst.help; sourceTree = "<group>"; };
-		70920C5A0A9CCE2C00757CDB /* notations.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = notations.help; sourceTree = "<group>"; };
-		70920C5B0A9CCE2C00757CDB /* todo.help */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text; path = todo.help; sourceTree = "<group>"; };
 		70920C5D0A9CCE2C00757CDB /* AvidaLogo.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = AvidaLogo.gif; sourceTree = "<group>"; };
 		70920C5E0A9CCE2C00757CDB /* cpu2.gif */ = {isa = PBXFileReference; lastKnownFileType = image.gif; path = cpu2.gif; sourceTree = "<group>"; };
 		70920C5F0A9CCE2C00757CDB /* index.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; path = index.html; sourceTree = "<group>"; };
@@ -1161,14 +1113,13 @@
 		70920C1A0A9CCE2C00757CDB /* Documentation */ = {
 			isa = PBXGroup;
 			children = (
+				707CE7500AA334120022D19C /* analyze.html */,
+				707CE7490AA333060022D19C /* actions.html */,
 				707CE51D0A9E49A50022D19C /* config.html */,
-				70920C1B0A9CCE2C00757CDB /* analyze_mode.html */,
 				70920C1C0A9CCE2C00757CDB /* analyze_samples.html */,
 				70920C1D0A9CCE2C00757CDB /* code_c++_intro.html */,
 				70920C1E0A9CCE2C00757CDB /* code_death_birth.html */,
 				70920C1F0A9CCE2C00757CDB /* code_environment.html */,
-				70920C200A9CCE2C00757CDB /* code_events.html */,
-				70920C210A9CCE2C00757CDB /* code_genesis.html */,
 				70920C220A9CCE2C00757CDB /* code_genome.html */,
 				70920C230A9CCE2C00757CDB /* code_init_file.html */,
 				70920C240A9CCE2C00757CDB /* code_instruction.html */,
@@ -1177,7 +1128,6 @@
 				70920C280A9CCE2C00757CDB /* cpu_tour.html */,
 				70920C290A9CCE2C00757CDB /* environment.html */,
 				70920C2A0A9CCE2C00757CDB /* events.html */,
-				70920C2C0A9CCE2C00757CDB /* glossary */,
 				70920C5C0A9CCE2C00757CDB /* images */,
 				70920C5F0A9CCE2C00757CDB /* index.html */,
 				70920C600A9CCE2C00757CDB /* inst_set.html */,
@@ -1190,60 +1140,6 @@
 			path = documentation;
 			sourceTree = "<group>";
 		};
-		70920C2C0A9CCE2C00757CDB /* glossary */ = {
-			isa = PBXGroup;
-			children = (
-				70920C2D0A9CCE2C00757CDB /* components.help */,
-				70920C2E0A9CCE2C00757CDB /* help.add.html */,
-				70920C2F0A9CCE2C00757CDB /* help.Bitwise.html */,
-				70920C300A9CCE2C00757CDB /* help.Complement-Template.html */,
-				70920C310A9CCE2C00757CDB /* help.CPU-cycle.html */,
-				70920C320A9CCE2C00757CDB /* help.CPU.html */,
-				70920C330A9CCE2C00757CDB /* help.dec.html */,
-				70920C340A9CCE2C00757CDB /* help.Genome.html */,
-				70920C350A9CCE2C00757CDB /* help.Genotype.html */,
-				70920C360A9CCE2C00757CDB /* help.h-alloc.html */,
-				70920C370A9CCE2C00757CDB /* help.h-copy.html */,
-				70920C380A9CCE2C00757CDB /* help.h-divide.html */,
-				70920C390A9CCE2C00757CDB /* help.h-search.html */,
-				70920C3A0A9CCE2C00757CDB /* help.Heads.html */,
-				70920C3B0A9CCE2C00757CDB /* help.if-label.html */,
-				70920C3C0A9CCE2C00757CDB /* help.if-less.html */,
-				70920C3D0A9CCE2C00757CDB /* help.if-n-equ.html */,
-				70920C3E0A9CCE2C00757CDB /* help.inc.html */,
-				70920C3F0A9CCE2C00757CDB /* help.Input-Output.html */,
-				70920C400A9CCE2C00757CDB /* help.Instruction.html */,
-				70920C410A9CCE2C00757CDB /* help.IO.html */,
-				70920C420A9CCE2C00757CDB /* help.jmp-head.html */,
-				70920C430A9CCE2C00757CDB /* help.Logic.html */,
-				70920C440A9CCE2C00757CDB /* help.Memory.html */,
-				70920C450A9CCE2C00757CDB /* help.mov-head.html */,
-				70920C460A9CCE2C00757CDB /* help.Mutation.html */,
-				70920C470A9CCE2C00757CDB /* help.nand.html */,
-				70920C480A9CCE2C00757CDB /* help.Nop-Head-Notation.html */,
-				70920C490A9CCE2C00757CDB /* help.nop-instructions.html */,
-				70920C4A0A9CCE2C00757CDB /* help.Nop-Register-Notation.html */,
-				70920C4B0A9CCE2C00757CDB /* help.Organism.html */,
-				70920C4C0A9CCE2C00757CDB /* help.pop.html */,
-				70920C4D0A9CCE2C00757CDB /* help.Population.html */,
-				70920C4E0A9CCE2C00757CDB /* help.push.html */,
-				70920C4F0A9CCE2C00757CDB /* help.Registers.html */,
-				70920C500A9CCE2C00757CDB /* help.set-flow.html */,
-				70920C510A9CCE2C00757CDB /* help.shift-l.html */,
-				70920C520A9CCE2C00757CDB /* help.shift-r.html */,
-				70920C530A9CCE2C00757CDB /* help.Stack.html */,
-				70920C540A9CCE2C00757CDB /* help.sub.html */,
-				70920C550A9CCE2C00757CDB /* help.swap-stk.html */,
-				70920C560A9CCE2C00757CDB /* help.swap.html */,
-				70920C570A9CCE2C00757CDB /* help.Tasks.html */,
-				70920C580A9CCE2C00757CDB /* help.Template.html */,
-				70920C590A9CCE2C00757CDB /* inst.help */,
-				70920C5A0A9CCE2C00757CDB /* notations.help */,
-				70920C5B0A9CCE2C00757CDB /* todo.help */,
-			);
-			path = glossary;
-			sourceTree = "<group>";
-		};
 		70920C5C0A9CCE2C00757CDB /* images */ = {
 			isa = PBXGroup;
 			children = (

Added: development/documentation/actions.html
===================================================================
--- development/documentation/actions.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/actions.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -0,0 +1,1178 @@
+<html>
+<head>
+  <title>Avida : List of Actions</title>
+</head>
+<body>
+
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
+<p>
+<a href="index.html">Return to the Index</a> &nbsp;|&nbsp;
+<a href="events.html">The Events File</a> &nbsp;|&nbsp;
+<a href="analyze.html">The Analyze File</a>
+</p>
+<hr />
+
+<div align="center">
+<h1>List of Actions</h1>
+</div>
+
+<p>
+There is a large library of actions available for scheduling as events.
+Additionally, all of these actions can be used within analyze scripts.
+Below you will find a listing of the high level groupings of these
+actions, along with detailed sections for each them.
+</p>
+
+<dl>
+<dt><a href="#PrintActions">Print</a></dt>
+<dd>Print actions are the primary way of saving data from an Avida experiments.</dd>
+<dt><a href="#PopulationActions">Population</a></dt>
+<dd>Population actions modify the state of the population, and will actually change the course of the run.</dd>
+<dt><a href="#EnvironmentActions">Environment</a></dt>
+<dd>Actions that allow user to change properties of the environment, including resources.</dd>
+<dt><a href="#SaveLoadActions">Save and Load</a></dt>
+<dd>Actions that allow for saving and loading large data sets, such as full populations.</dd>
+<dt><a href="#LandscapeActions">Landscape Analysis</a></dt>
+<dd>Actions that use data from the current state of Avida, process it and then output the results.</dd>
+<dt><a href="#DriverActions">Driver</a></dt>
+<dd>Actions that allow user to control program execution, including experiment termination.</dd>
+</dl>
+
+
+<p>&nbsp;</p>
+<h2>Alphabetical Listing of Available Actions</h2>
+
+<p>
+<table>
+  <tr>
+    <td>
+      <br /><a href="#AnalyzeLandscape">AnalyzeLandscape</a>
+      <br /><a href="#CompeteDemes">CompeteDemes</a>
+      <br /><a href="#ConnectCells">ConnectCells</a>
+      <br /><a href="#CopyDeme">CopyDeme</a>
+      <br /><a href="#DeletionLandscape">DeletionLandscape</a>
+      <br /><a href="#DisconnectCells">DisconnectCells</a>
+      <br /><a href="#DumpDonorGrid">DumpDonorGrid</a>
+      <br /><a href="#DumpFitnessGrid">DumpFitnessGrid</a>
+      <br /><a href="#DumpGenotypeIDGrid">DumpGenotypeIDGrid</a>
+      <br /><a href="#DumpMemory">DumpMemory</a>
+      <br /><a href="#DumpPopulation">DumpPopulation</a>
+      <br /><a href="#DumpReceiverGrid">DumpReceiverGrid</a>
+      <br /><a href="#DumpTaskGrid">DumpTaskGrid</a>
+      <br /><a href="#Echo">Echo</a>
+      <br /><a href="#Exit">Exit</a>
+      <br /><a href="#ExitAveLineageLabelGreater">ExitAveLineageLabelGreater</a>
+      <br /><a href="#ExitAveLineageLabelLess">ExitAveLineageLabelLess</a>
+      <br /><a href="#FullLandscape">FullLandscape</a>
+      <br /><a href="#HillClimb">HillClimb</a>
+      <br /><a href="#HillClimbNeut">HillClimbNeut</a>
+      <br /><a href="#HillClimbRand">HillClimbRand</a>
+      <br /><a href="#Inject">Inject</a>
+      <br /><a href="#InjectAll">InjectAll</a>
+      <br /><a href="#InjectParasite">InjectParasite</a>
+      <br /><a href="#InjectRandom">InjectRandom</a>
+      <br /><a href="#InjectRange">InjectRange</a>
+      <br /><a href="#InjectResource">InjectResource</a>
+      <br /><a href="#InjectScaledResource">InjectScaledResource</a>
+      <br /><a href="#InjectSequence">InjectSequence</a>
+      <br /><a href="#InsertionLandscape">InsertionLandscape</a>
+      <br /><a href="#JoinGridCol">JoinGridCol</a>
+      <br /><a href="#JoinGridRow">JoinGridRow</a>
+      <br /><a href="#KillProb">KillProb</a>
+    </td>
+    <td>
+      <br /><a href="#KillRate">KillRate</a>
+      <br /><a href="#KillRectangle">KillRectangle</a>
+      <br /><a href="#LoadClone">LoadClone</a>
+      <br /><a href="#LoadPopulation">LoadPopulation</a>
+      <br /><a href="#ModMutProb">ModMutProb</a>
+      <br /><a href="#OutflowScaledResource">OutflowScaledResource</a>
+      <br /><a href="#PairTestLandscape">PairTestLandscape</a>
+      <br /><a href="#PrecalcLandscape">PrecalcLandscape</a>
+      <br /><a href="#PredictNuLandscape">PredictNuLandscape</a>
+      <br /><a href="#PredictWLandscape">PredictWLandscape</a>
+      <br /><a href="#PrintAverageData">PrintAverageData</a>
+      <br /><a href="#PrintCountData">PrintCountData</a>
+      <br /><a href="#PrintData">PrintData</a>
+      <br /><a href="#PrintDebug">PrintDebug</a>
+      <br /><a href="#PrintDemeStats">PrintDemeStats</a>
+      <br /><a href="#PrintDepthHistogram">PrintDepthHistogram</a>
+      <br /><a href="#PrintDetailedFitnessData">PrintDetailedFitnessData</a>
+      <br /><a href="#PrintDivideMutData">PrintDivideMutData</a>
+      <br /><a href="#PrintDominantData">PrintDominantData</a>
+      <br /><a href="#PrintDominantGenotype">PrintDominantGenotype</a>
+      <br /><a href="#PrintDominantParaData">PrintDominantParaData</a>
+      <br /><a href="#PrintDominantParasiteGenotype">PrintDominantParasiteGenotype</a>
+      <br /><a href="#PrintErrorData">PrintErrorData</a>
+      <br /><a href="#PrintGeneticDistanceData">PrintGeneticDistanceData</a>
+      <br /><a href="#PrintGenotypeAbundanceHistogram">PrintGenotypeAbundanceHistogram</a>
+      <br /><a href="#PrintGenotypeMap">PrintGenotypeMap</a>
+      <br /><a href="#PrintGenotypes">PrintGenotypes</a>
+      <br /><a href="#PrintInstructionAbundanceHistogram">PrintInstructionAbundanceHistogram</a>
+      <br /><a href="#PrintInstructionData">PrintInstructionData</a>
+      <br /><a href="#PrintLineageCounts">PrintLineageCounts</a>
+      <br /><a href="#PrintLineageTotals">PrintLineageTotals</a>
+      <br /><a href="#PrintMutationRateData">PrintMutationRateData</a>
+      <br /><a href="#PrintPhenotypeData">PrintPhenotypeData</a>
+    </td>
+    <td>
+      <br /><a href="#PrintPhenotypeStatus">PrintPhenotypeStatus</a>
+      <br /><a href="#PrintPopulationDistanceData">PrintPopulationDistanceData</a>
+      <br /><a href="#PrintResourceData">PrintResourceData</a>
+      <br /><a href="#PrintSpeciesAbundanceData">PrintSpeciesAbundanceData</a>
+      <br /><a href="#PrintStatsData">PrintStatsData</a>
+      <br /><a href="#PrintTasksSnapshot">PrintTasksSnapshot</a>
+      <br /><a href="#PrintTasksExeData">PrintTasksExeData</a>
+      <br /><a href="#PrintTasksQualData">PrintTasksQualData</a>
+      <br /><a href="#PrintTimeData">PrintTimeData</a>
+      <br /><a href="#PrintTotalsData">PrintTotalsData</a>
+      <br /><a href="#PrintTreeDepths">PrintTreeDepths</a>
+      <br /><a href="#PrintVarianceData">PrintVarianceData</a>
+      <br /><a href="#PrintViableTasksData">PrintViableTasksData</a>
+      <br /><a href="#RandomLandscape">RandomLandscape</a>
+      <br /><a href="#ResetDemes">ResetDemes</a>
+      <br /><a href="#SampleLandscape">SampleLandscape</a>
+      <br /><a href="#SaveClone">SaveClone</a>
+      <br /><a href="#SaveHistoricPopulation">SaveHistoricPopulation</a>
+      <br /><a href="#SaveHistoricSexPopulation">SaveHistoricSexPopulation</a>
+      <br /><a href="#SaveParasitePopulation">SaveParasitePopulation</a>
+      <br /><a href="#SavePopulation">SavePopulation</a>
+      <br /><a href="#SaveSexPopulation">SaveSexPopulation</a>
+      <br /><a href="#SerialTransfer">SerialTransfer</a>
+      <br /><a href="#SetMutProb">SetMutProb</a>
+      <br /><a href="#SetReactionInst">SetReactionInst</a>
+      <br /><a href="#SetReactionValue">SetReactionValue</a>
+      <br /><a href="#SetReactionValueMult">SetReactionValueMult</a>
+      <br /><a href="#SetResource">SetResource</a>
+      <br /><a href="#SeverGridCol">SeverGridCol</a>
+      <br /><a href="#SeverGridRow">SeverGridRow</a>
+      <br /><a href="#TestDominant">TestDominant</a>
+      <br /><a href="#ZeroMuts">ZeroMuts</a>
+    </td>
+  </tr>
+</table>
+
+
+<p>&nbsp;</p>
+<h2><a name="PrintActions">Print Actions</a></h2>
+
+<p>
+Output events are the primary way of saving data from an avida experiments.
+The main two types are <em>continuous output</em>, which append to a single file 
+every time the event is trigged, and <em>singular output</em>, which produce
+a single, complete file for each trigger.
+</p>
+
+<ul>
+<!-------- Stats Out Files -------->
+<li>
+  <strong><a name="PrintAverageData">PrintAverageData</a></strong>
+  [<span style="color: #008800">string filename='average.dat'</span>]
+  
+  <p>
+  Print all of the population averages the specified file.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintErrorData">PrintErrorData</a></strong>
+  [<span style="color: #008800">string filename='error.dat'</span>]
+  
+  <p>
+  Print all of the standard errors of the average population statistics.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintVarianceData">PrintVarianceData</a></strong>
+  [<span style="color: #008800">string filename='variance.dat'</span>]
+  
+  <p>
+  Print all of the variances of the average population statistics.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDominantData">PrintDominantData</a></strong>
+  [<span style="color: #008800">string filename='dominant.dat'</span>]
+  
+  <p>
+  Print all of the statistics relating to the dominant genotype.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintStatsData">PrintStatsData</a></strong>
+  [<span style="color: #008800">string filename='stats.dat'</span>]
+  
+  <p>
+  Print all of the miscellanous population statistics.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintCountData">PrintCountData</a></strong>
+  [<span style="color: #008800">string filename='count.dat'</span>]
+  
+  <p>
+  Print all of the statistics the keep track of counts (such as the number of organisms
+  in the population or the number of instructions executed).
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTotalsData">PrintTotalsData</a></strong>
+  [<span style="color: #008800">string filename='totals.dat'</span>]
+  
+  <p>
+  Print various totals for the entire length of the run (for example, the total number of
+  organisms ever).
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTasksData">PrintTasksData</a></strong>
+  [<span style="color: #008800">string filename='tasks.dat'</span>]
+  
+  <p>
+  Print the number of organisms that are able to perform each task.  This uses the
+  environment configuration to determine what tasks are in use.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTasksExeData">PrintTasksExeData</a></strong>
+  [<span style="color: #008800">string filename='tasks_exe.dat'</span>]
+  
+  <p>
+  Print number of times the particular task has been executed this update.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTasksQualData">PrintTasksQualData</a></strong>
+  [<span style="color: #008800">string filename='tasks_quality.dat'</span>]
+  
+  <p>
+  Print the total quality of each task.  By default a successful task is valued
+  as 1.0.  Some tasks, however, can grant partial values and/or special bonuses
+  via the quality value.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintResourceData">PrintResourceData</a></strong>
+  [<span style="color: #008800">string filename='resource.dat'</span>]
+  
+  <p>
+  Print the current counts of each resource available to the population.  This uses
+  the environment configuration to determine what resources are in use.  Also creates
+  seperate files <kbd>resource_<em>resource_name</em>.m</kbd> (in a format that is
+  designed to be read into Matlab) for each spatial resource.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTimeData">PrintTimeData</a></strong>
+  [<span style="color: #008800">string filename='time.dat'</span>]
+  
+  <p>
+  Print all of the timing related statistics.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintMutationRateData">PrintMutationRateData</a></strong>
+  [<span style="color: #008800">string filename='mutation_rates.dat'</span>]
+  
+  <p>
+  Output (regular and log) statistics about individual copy mutation rates
+  (aver, stdev, skew, cur). Useful only when mutation rate is set per organism.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDivideMutData">PrintDivideMutData</a></strong>
+  [<span style="color: #008800">string filename='divide_mut.dat'</span>]
+  
+  <p>
+  Output (regular and log) statistics about individual, per site, rates divide mutation
+  rates (aver, stdev, skew, cur) to divide_mut.dat. Use with multiple divide instuction set.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDominantParaData">PrintDominantParaData</a></strong>
+  [<span style="color: #008800">string filename='parasite.dat'</span>]
+  
+  <p>
+  Print various quantites related to the dominant parasite.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintInstructionData">PrintInstructionData</a></strong>
+  [<span style="color: #008800">string filename='instruction.dat'</span>]
+  
+  <p>
+  Print the by-organisms counts of what instructions they _successfully_ executed
+  beteween birth and divide. Prior to their first divide, organisms values for their parents.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintGenotypeMap">PrintGenotypeMap</a></strong>
+  [<span style="color: #008800">string filename='genotype_map.m'</span>]
+  
+  <p>
+  This event is used to output a map of the genotype IDs for the
+  population grid to a file that is suitable to be read into Matlab.
+  </p>
+</li>
+
+<!-------- Population Out Files -------->
+<li>
+  <strong><a name="PrintPhenotypeData">PrintPhenotypeData</a></strong>
+  [<span style="color: #008800">string filename='phenotype_count.dat'</span>]
+  
+  <p>
+  Print the number of phenotypes based on tasks executed this update.  Executing
+  a task any number of times is considered the same as executing it once. 
+  </p>
+</li>
+<li>
+  <strong><a name="PrintPhenotypeStatus">PrintPhenotypeStatus</a></strong>
+  [<span style="color: #008800">string filename='phenotype_status.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDemeStats">PrintDemeStats</a></strong>
+  
+  <p>
+  </p>
+</li>
+
+<!-------- Processed Data -------->
+<li>
+  <strong><a name="PrintData">PrintData</a></strong>
+  &lt;<span style="color: #008800">string fname</span>&gt; &lt;<span style="color: #008800">string format</span>&gt;
+  
+  <p>
+  Append to the file specified (continuous output), the data given in the
+  column list.  The column list needs to be a comma-seperated list of
+  keywords representing the data types.  Many possible data types can be
+  output; see the <a href="print_data.html">complete listing</a> for details.
+  Note that this event will even create a detailed column legend at the top
+  of your file so you don't need to seperately keep track of what the
+  columns mean.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintInstructionAbundanceHistogram">PrintInstructionAbundanceHistogram</a></strong>
+  [<span style="color: #008800">string filename='instruction_histogram.dat'</span>]
+  
+  <p>
+  Appends a line containing the bulk count (abundance) of each instruction
+  in the population onto a file.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDepthHistogram">PrintDepthHistogram</a></strong>
+  [<span style="color: #008800">string filename='depth_histogram.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="Echo">Echo</a></strong>
+  &lt;<span style="color: #008800">string message</span>&gt;
+  
+  <p>
+  Print the supplied message to standard output.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintGenotypeAbundanceHistogram">PrintGenotypeAbundanceHistogram</a></strong>
+  [<span style="color: #008800">string fname='genotype_abundance_histogram.dat'</span>]
+  
+  <p>
+  Writes out a genotype abundance histogram.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintSpeciesAbundanceHistogram">PrintSpeciesAbundanceHistogram</a></strong>
+  [<span style="color: #008800">string fname='species_abundance_histogram.dat'</span>]
+  
+  <p>
+  Writes out a species abundance histogram.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintLineageTotals">PrintLineageTotals</a></strong>
+  [<span style="color: #008800">string fname='lineage_totals.dat'</span>] [<span style="color: #008800">int verbose=1</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintLineageCounts">PrintLineageCounts</a></strong>
+  [<span style="color: #008800">string fname='lineage_counts.dat'</span>] [<span style="color: #008800">int verbose=1</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDominantGenotype">PrintDominantGenotype</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Print the dominant organism's genome (and lots of information about it)
+  into the file specified.  If no filename is given, the genotype's assigned name
+  is used and the file is placed into the archive subdirectory.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDominantParasiteGenotype">PrintDominantParasiteGenotype</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Print the dominant parasite's genome (and lots of information about it)
+  into the file specified.  If no filename is given, the parasite's assigned name
+  is used and the file is placed into the archive subdirectory.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDetailedFitnessData">PrintDetailedFitnessData</a></strong>
+  [<span style="color: #008800">int save_max_f_genotype=0</span>] [<span style="color: #008800">int print_fitness_histo=0</span>]
+  [<span style="color: #008800">double hist_fmax=1</span>] [<span style="color: #008800">double hist_fstep=0.1</span>]
+  [<span style="color: #008800">string datafn='fitness.dat'</span>]
+  [<span style="color: #008800">string histofn='fitness_histos.dat'</span>]
+  [<span style="color: #008800">string histotestfn='fitness_histos_testCPU.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintGeneticDistanceData">PrintGeneticDistanceData</a></strong>
+  [<span style="color: #008800">string ref_creature_file='START_CREATURE'</span>]
+  [<span style="color: #008800">string filename='genetic_distance.dat'</span>]
+   
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintPopulationDistanceData">PrintPopulationDistanceData</a></strong>
+  [<span style="color: #008800">string creature='START_CREATURE'</span>] [<span style="color: #008800">string fname=''</span>]
+  [<span style="color: #008800">int save_genotypes=0</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintDebug">PrintDebug</a></strong>
+  
+  <p>
+  </p>
+</li>
+
+<li>
+  <strong><a name="PrintGenotypes">PrintGenotypes</a></strong>
+  [<span style="color: #008800">string data_fields='all'</span>]
+  [<span style="color: #008800">int print_historic=0</span>]
+  [<span style="color: #008800">string filename='genotypes-&lt;update&gt;.dat'</span>]
+  
+  <p>
+  This command is used to print out information about all of the genotypes
+  in the population.  The file output from here can be read
+  back into the analyze mode of Avida with the <code>LOAD</code> command.
+  </p>
+  <p>
+  The <span style="color: #008800">data_fields</span> parameter indicates what
+  columns should be included in the file, which must be comma seperated.
+  Options are:
+  <em>all, id, parent_id, parent2_id (for sex), parent_dist, num_cpus,
+  total_cpus, length, merit, gest_time, fitness, update_born, update_dead,
+  depth, lineage, sequence.</em>
+  Use <em>all</em> (the default) if you want all of the fields included.
+  </p>
+  <p>
+  The <span style="color: #008800">print_historic</span> parameter indicates how
+  many updates back in time should be included in this output.  For example,
+  '200' would indicate that any ancestor of the current population that died
+  out in the last 200 updates should also be printed. A '-1' in this field
+  indicates that all ancestors should be printed.
+  </p>
+  <p>
+  The <span style="color: #008800">filename</span> parameter simply indicates what
+  you want to call the file.
+  </p>
+  <p>
+  <em>Example</em>:
+  <br />&nbsp;&nbsp;<kbd>u 1000:1000 print_genotypes id,parent_id,fitness 1000</kbd>
+  <br />This will print out the full population every 1000 updates, including all
+  genotypes that have died out since the last time it was printed.
+  </p>
+</li>
+
+<li>
+  <strong><a name="TestDominant">TestDominant</a></strong>
+  [<span style="color: #008800">string fname='dom-test.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTaskSnapshot">PrintTaskSnapshot</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Run all organisms in the population through test cpus and print out the
+  number of tasks each can perform.
+  </p>
+</li>
+<li>
+  <strong><a name="PrintViableTasksData">PrintViableTasksData</a></strong>
+  [<span style="color: #008800">string fname='viable_tasks.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrintTreeDepths">PrintTreeDepths</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Reconstruction of phylogenetic trees.
+  </p>
+</li>
+
+
+<!-------- Grid Information Dumps -------->
+<li>
+  <strong><a name="DumpMemory">DumpMemory</a></strong>
+  [<span style="color: #008800">string filename='memory_dump-&lt;update&gt;.dat'</span>]
+  
+  <p>
+  Dump memory summary information.
+  </p>
+</li>
+<li>
+  <strong><a name="DumpFitnessGrid">DumpFitnessGrid</a></strong>
+  [<span style="color: #008800">string filename='grid_fitness.&lt;update&gt;.dat'</span>]
+  
+  <p>
+  Print out the grid of organism fitness values.
+  </p>
+</li>
+<li>
+  <strong><a name="DumpGenotypeIDGrid">DumpGenotypeIDGrid</a></strong>
+  [<span style="color: #008800">string filename='grid_genotype_id.&lt;update&gt;.dat'</span>]
+  
+  <p>
+  Print out the grid of genotype IDs.
+  </p>
+</li>
+<li>
+  <strong><a name="DumpTaskGrid">DumpTaskGrid</a></strong>
+  [<span style="color: #008800">string filename='grid_task.&lt;update&gt;.dat'</span>]
+
+  <p>
+  Print out the grid of takss that organisms do. For each organism, tasks are first 
+  encoded as a binary string (e.g. 100000001 means that organism is doing NOT and EQU
+  and then reported as a base-10 number (257 in the example above).
+  </p>
+</li>
+<li>
+  <strong><a name="DumpDonorGrid">DumpDonorGrid</a></strong>
+  [string filename='grid_donor.&lt;update&gt;.dat'</span>]
+  
+  <p>
+  Print out the grid of organisms who donated their merit.
+  </p>
+</li>
+<li>
+  <strong><a name="DumpReceiverGrid">DumpRecieverGrid</a></strong>
+  [<span style="color: #008800">string filename='grid_receiver.&lt;update&gt;.dat'</span>]
+  
+  <p>
+  Print out the grid of organisms who received merit.
+  </p>
+</li>
+</ul>
+
+
+<p>&nbsp;</p>
+<h2><a name="PopulationActions">Population Actions</a></h2>
+
+<p>
+Population events modify the state of the population, and will actually
+change the course of the run.  There are a wide variety of these.
+</p>
+<ul>
+<li>
+  <strong><a name="Inject">Inject</a></strong>
+  [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">int cell_id=0</span>]
+  [<span style="color: #008800">double merit=-1</span>] [<span style="color: #008800">int lineage_label=0</span>]
+  [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Inject a single organisms into the population.  Arguments must be
+  included from left to right; if all arguments are left out, the default
+  creature is the ancestral organism, and it will be injected into cell 0,
+  have an uninitialized merit, and be marked as liniage id 0.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectRandom">InjectRandom</a></strong>
+  &lt;<span style="color: #008800">int length</span>&gt; [<span style="color: #008800">int cell_id=0</span>]
+  [<span style="color: #008800">double merit=-1</span>] [<span style="color: #008800">int lineage_label=0</span>]
+  [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Injects a randomly generated genome of the supplied length into the population.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectAll">InjectAll</a></strong>
+  [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">double merit=-1</span>]
+  [<span style="color: #008800">int lineage_label=0] [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Same as Inject, but no cell_id is specified and the organism is placed
+  into <em>all</em> cells in the population.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectRange">InjectRange</a></strong>
+  [<span style="color: #008800">string fname='START_CREATURE'</span>] [<span style="color: #008800">int cell_start=0</span>]
+  [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+  [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Injects identical organisms into a range of cells of the population.
+  </p>
+  <p>
+  <em>Example</em>:
+  <br /><code>InjectRange 000-aaaaa.org 0 10</code>
+  <br />Will inject 10 organisms into cells 0 through 9.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectSequence">InjectSequence</a></strong>
+  &lt;<span style="color: #008800">string sequence</span>&gt; [<span style="color: #008800">int cell_start=0</span>]
+  [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+  [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Injects identical organisms based on the supplied genome sequence into
+  a range of cells of the population.
+  </p>
+  <p>
+  <em>Example</em>:
+  <br /><code>InjectSequence ckdfhgklsahnfsaggdsgajfg 0 10 100</code>
+  <br />Will inject 10 organisms into cells 0 through 9 with a merit of 100.
+  </p>
+</li>
+
+<li>
+  <strong><a name="InjectParasite">InjectParasite</a></strong>
+  &lt;<span style="color: #008800">string filename</span>&gt; &lt;<span style="color: #008800">string label</span>&gt;
+  [<span style="color: #008800">int cell_start=0</span>] [<span style="color: #008800">int cell_end=-1</span>]
+  
+  <p>
+  Attempt to inject a parasite genome into the supplied population cell
+  range with the specified label.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectParasitePair">InjectParasitePair</a></strong>
+  &lt;<span style="color: #008800">string filename_genome</span>&gt; &lt;<span style="color: #008800">string filename_parasite</span>&gt;
+  &lt;<span style="color: #008800">string label</span>&gt; [<span style="color: #008800">int cell_start=0</span>]
+  [<span style="color: #008800">int cell_end=-1</span>] [<span style="color: #008800">double merit=-1</span>]
+  [<span style="color: #008800">int lineage_label=0</span>] [<span style="color: #008800">double neutral_metric=0</span>]
+  
+  <p>
+  Inject host parasite pairs into the population cell range specified. 
+  </p>
+</li>
+
+<li>
+  <strong><a name="KillProb">KillProb</a></strong>
+  [<span style="color: #008800">double probability=0.9</span>]
+  
+  <p>
+  Using the specified probability, test each organism to see if it is killed off.
+  </p>
+</li>
+<li>
+  <strong><a name="KillRate">KillRate</a></strong>
+  [<span style="color: #008800">double probability=0.9</span>]
+  
+  <p>
+  Randomly removes a certain proportion of the population.
+  In principle, this action does the same thing as the KillProb event.
+  However, instead of a probability, here one has to specify a rate. The
+  rate has the same unit as fitness. So if the average fitness is 20000,
+  than you remove 50% of the population on every update with a removal rate
+  of 10000.
+  </p>
+</li>
+<li>
+  <strong><a name="KillRectangle">KillRectangle</a></strong>
+  [<span style="color: #008800">int x1=0</span>] [<span style="color: #008800">int y1=0</span>]
+  [<span style="color: #008800">int x2=0</span>] [<span style="color: #008800">int y2=0</span>]
+  
+  <p>
+  Kill off all organisms in a rectangle defined by the points (x1, y1) and (x2, y2).
+  </p>
+</li>
+<li>
+  <strong><a name="SerialTransfer">SerialTransfer</a></strong>
+  [<span style="color: #008800">int transfer_size=1</span>] [<span style="color: #008800">int ignore_deads=1</span>]
+  
+  <p>
+  Similar to KillProb, but we specify the exact number of organisms to
+  keep alive after the event.  The <span style="color: #008800">ignore_deads</span>
+  argument determines whether only living organisms are retainted.
+  </p>
+</li>
+
+<li>
+  <strong><a name="SetMutProb">SetMutProb</a></strong>
+  [<span style="color: #008800">string mut_type='copy'</span>] [<span style="color: #008800">double prob=0.0</span>]
+  [<span style="color: #008800">int start_cell=-1</span>] [<span style="color: #008800">int end_cell=-1</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="ModMutProb">ModMutProb</a></strong>
+  [<span style="color: #008800">string mut_type='copy'] [<span style="color: #008800">double prob=0.0</span>]
+  [<span style="color: #008800">int start_cell=-1</span>] [<span style="color: #008800">int end_cell=-1</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="ZeroMuts">ZeroMuts</a></strong>
+  
+  <p>
+  This event will set all mutation rates to zero.
+  </p>
+</li>
+
+<li>
+  <strong><a name="CompeteDemes">CompeteDemes</a></strong>
+  [<span style="color: #008800">int type=1</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="ResetDemes">ResetDemes</a></strong>
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="CopyDeme">CopyDeme</a></strong>
+  &lt;<span style="color: #008800">int src_id</span>&gt; &lt;<span style="color: #008800">int dest_id</span>&gt;
+  
+  <p>
+  </p>
+</li>
+
+<li>
+  <strong><a name="SeverGridCol">SeverGridCol</a></strong>
+  [<span style="color: #008800">int col_id=-1</span>] [<span style="color: #008800">int min_row=0</span>]
+  [<span style="color: #008800">int max_row=-1</span>]
+  
+  <p>
+  Remove the connections between cells along a column in an Avida grid.
+  </p>
+</li>
+<li>
+  <strong><a name="SeverGridRow">SeverGridRow</a></strong>
+  [<span style="color: #008800">int row_id=-1</span>] [<span style="color: #008800">int min_col=0</span>]
+  [<span style="color: #008800">int max_col=-1</span>]
+  
+  <p>
+  Remove the connections between cells along a row in an Avida grid.
+  </p>
+</li>
+<li>
+  <strong><a name="JoinGridCol">JoinGridCol</a></strong>
+  [<span style="color: #008800">int col_id=-1</span>] [<span style="color: #008800">int min_row=0</span>]
+  [<span style="color: #008800">int max_row=-1</span>]
+ 
+  <p>
+  Add connections between cells along a column in an Avida grid.
+  </p>
+</li>
+<li>
+  <strong><a name="JoinGridRow">JoinGridRow</a></strong>
+  [<span style="color: #008800">int row_id=-1</span>] [<span style="color: #008800">int min_col=0</span>]
+  [<span style="color: #008800">int max_col=-1</span>]
+  
+  <p>
+  Add connections between cells along a row in an Avida grid.
+  </p>
+</li>
+
+<li>
+  <strong><a name="ConnectCells">ConnectCells</a></strong>
+  &lt;<span style="color: #008800">int cellA_x</span>&gt; &lt;<span style="color: #008800">int cellA_y</span>&gt;
+  &lt;<span style="color: #008800">int cellB_x</span>&gt; &lt;<span style="color: #008800">int cellB_y</span>&gt;
+  
+  <p>
+  Connects a pair of specified cells.
+  </p>
+</li>
+<li>
+  <strong><a name="DisconnectCells">DisconnectCells</a></strong>
+  &lt;<span style="color: #008800">int cellA_x</span>&gt; &lt;<span style="color: #008800">int cellA_y</span>&gt;
+  &lt;<span style="color: #008800">int cellB_x</span>&gt; &lt;<span style="color: #008800">int cellB_y</span>&gt;
+  
+  <p>
+  Disconnects a pair of specified cells.
+  </p>
+</li>
+</ul>
+
+
+
+<p>&nbsp;</p>
+<h2><a name="EnvironmentActions">Environment Actions</a></h2>
+
+<p>
+Events that allow user to change environment properties, such as resources
+and reaction parameters.
+</p>
+<ul>
+<li>
+  <strong><a name="InjectResource">InjectResource</a></strong>
+  &lt;<span style="color: #008800">string res_name</span>&gt; &lt;<span style="color: #008800">double res_count</span>&gt;
+  
+  <p>
+  Inject (add) a specified amount of a specified resource. 
+  <span style="color: #008800">res_name</span> must already exist as
+  a resource in environment file.
+  </p>
+</li>
+<li>
+  <strong><a name="InjectScaledResource">InjectScaledResource</a></strong>
+  &lt;<span style="color: #008800">string res_name</span>&gt; &lt;<span style="color: #008800">double res_count</span>&gt;
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="OutflowScaledResource">OutflowScaledResource</a></strong>
+  &lt;<span style="color: #008800">string res_name</span>&gt; &lt;<span style="color: #008800">double res_percent</span>&gt;
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="SetResource">SetResource</a></strong>
+  &lt;<span style="color: #008800">string res_name</span>&gt; &lt;<span style="color: #008800">double res_count</span>&gt;
+  
+  <p>
+  Set the resource amount to a specific level.
+  <span style="color: #008800">res_name</span> must already exist as
+  a resource in environment file.
+  </p>
+</li>
+
+<li>
+  <strong><a name="SetReactionValue">SetReactionValue</a></strong>
+  &lt;<span style="color: #008800">string reaction_name</span>&gt; &lt;<span style="color: #008800">double value</span>&gt;
+  
+  <p>
+  Set the reaction value to a specific level.
+  <span style="color: #008800">reaction_name</span> must already 
+  exist in the environment file.
+  <span style="color: #008800">value</span> can be negative. 
+  </p>
+</li>
+<li>
+  <strong><a name="SetReactionValueMult">SetReactionValueMult</a></strong>
+  &lt;<span style="color: #008800">string reaction_name</span>&gt; &lt;<span style="color: #008800">double value</span>&gt;
+  
+  <p>
+  Multiply the reaction value by the <span style="color: #008800">value</span>.
+  <span style="color: #008800">reaction_name</span> must already 
+  exist in the environment file.
+  <span style="color: #008800">value</span> can be negative. 
+  </p>
+</li>
+<li>
+  <strong><a name="SetReactionInst">SetReactionInst</a></strong>
+  &lt;<span style="color: #008800">string reaction_name</span>&gt; &lt;<span style="color: #008800">string inst</span>&gt;
+  
+  <p>
+  Set the instruction triggered by this reaction.
+  <span style="color: #008800">reaction_name</span> must already
+  exist in the environment file.
+  <span style="color: #008800">inst</span> must be in the instruction set. 
+  </p>
+</li>
+</ul>
+
+
+
+<p>&nbsp;</p>
+<h2><a name="SaveLoadActions">Save Load Actions</a></h2>
+
+<p>
+</p>
+<ul>
+<li>
+  <strong><a name="SaveClone">SaveClone</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Save a clone of this organism to the file specified; if no filename is
+  given, use the name clone.<em>update</em>.  The update number allows regular
+  clones with distinct filenames to be saved with the same periodic event.
+  Running <kbd>avida -l filename</kbd> will start an avida population with the
+  saved clone.  Note that a clone only consists of the genomes in
+  the population, and their current state is lost, so the run may not
+  proceed identically as to if it had continued as it was going.
+  </p>
+</li>
+<li>
+  <strong><a name="LoadClone">LoadClone</a></strong>
+  &lt;<span style="color: #008800">string fname</span>&gt;
+  
+  <p>
+  </p>
+</li>
+
+<li>
+  <strong><a name="LoadPopulation">LoadPopulation</a></strong>
+  &lt;<span style="color: #008800">string fname</span>&gt; [<span style="color: #008800">int update=-1</span>]
+  
+  <p>
+  Sets up a population based on a save file such as written out by
+  SavePopulation. It is also possible to append a history file to the
+  save file, in order to preserve the history of a previous run.
+  </p>
+</li>
+
+<li>
+  <strong><a name="DumpPopulation">DumpPopulation</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="SavePopulation">SavePopulation</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  Save the genotypes and lots of statistics about the population to the
+  file specified; if not filename is given, use the name
+  <kbd>detail-<em>update</em>.pop</kbd>.  As with clones, the update number
+  allows a single event to produce many detail files.  The details are used
+  to collect crossection data about the population.
+  </p>
+</li>
+<li>
+  <strong><a name="SaveSexPopulation">SaveSexPopulation</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="SaveParasitePopulation">SaveParasitePopulation</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="SaveHistoricPopulation">SaveHistoricPopulation</a></strong>
+  [<span style="color: #008800">int back_dist=-1</span>] [<span style="color: #008800">string fname=''</span>]
+  
+  <p>
+  This action is used to output all of the ancestors of the currently
+  living population to the file specified, or <kbd>historic-<em>update</em>.pop</kbd>.
+  </p>
+</li>
+<li>
+  <strong><a name="SaveHistoricSexPopulation">SaveHistoricSexPopulation</a></strong>
+  [<span style="color: #008800">string fname=''</span>]
+
+  <p>
+  </p>
+</li>
+</ul>
+
+
+
+<p>&nbsp;</p>
+<h2><a name="LandscapeActions">Landscape Analysis Actions</a></h2>
+
+<p>
+Landscape analysis actions perform various types mutation studies to
+calculate properties of the fitness landscape for a particular genome.
+When scheduled as an event during a run, these actions will typically
+perform analysis on the dominant genotype.  In analyze mode, analysis
+is performed on the entire currently selected batch.
+</p>
+<p>
+These actions are often very computationally intensive, thus will
+take a long time to compute.  In order to take advantage of increasingly
+available multi-processor/multi-core systems, a number of these actions
+have been enhanced to make use of multiple threads to parallize work.
+Set the configuration setting <code>MT_CONCURRENCY</code> to the number
+of logical processors available to make use of all processor resources
+for these compuations.
+</p>
+<ul>
+<li>
+  <strong><a name="AnalyzeLandscape">AnalyzeLandscape</a></strong>
+  [<span style="color: #008800">filename='land-analyze.dat'</span>] [<span style="color: #008800">int trials=1000</span>]
+  [<span style="color: #008800">int min_found=0</span>] [<span style="color: #008800">int max_trials=0</span>]
+  [<span style="color: #008800">int max_dist=10</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PrecalcLandscape">PrecalcLandscape</a></strong>
+  
+  <p>
+  Precalculate the distance 1 full landscape for the current batch in parallel
+  using multiple threads.  The resulting data can be used by the analyze mode
+  <code>DETAIL</code> command. The values created can be lazily evaluated by
+  the <code>DETAIL</code>, however the calculation will be serialized.
+  </p>
+</li>
+<li>
+  <strong><a name="FullLandscape">FullLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-full.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+  [<span style="color: #008800">string entropy_file=''</span>] [<span style="color: #008800">string sitecount_file=''</span>]
+  
+  <p>
+  Do a landscape analysis of the dominant genotype or current batch of genotypes,
+  depending on the current mode.  The resulting output is a collection of 
+  statistics obtained from examining all possible mutations at the distance
+  specified.  The default distance is one.
+  </p>
+</li>
+<li>
+  <strong><a name="DeletionLandscape">DeletionLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-del.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+  [<span style="color: #008800">string sitecount_file=''</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="InsertionLandscape">InsertionLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-ins.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+  [<span style="color: #008800">string sitecount_file=''</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PredictWLandscape">PredictWLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-predict.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PredictNuLandscape">PredictNuLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-predict.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="RandomLandscape">RandomLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-random.dat'</span>] [<span style="color: #008800">int distance=1</span>]
+  [<span style="color: #008800">int trials=0</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="SampleLandscape">SampleLandscape</a></strong>
+  [<span style="color: #008800">string filename='land-sample.dat'</span>] [<span style="color: #008800">int trials=0</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="HillClimb">HillClimb</a></strong>
+  [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+  
+  <p>
+  Does a hill climb with the dominant genotype.
+  </p>
+</li>
+<li>
+  <strong><a name="HillClimbNeut">HillClimbNeut</a></strong>
+  [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="HillClimbRand">HillClimbRand</a></strong>
+  [<span style="color: #008800">string filename='hillclimb.dat'</span>]
+  
+  <p>
+  </p>
+</li>
+<li>
+  <strong><a name="PairTestLandscape">PairTestLandscape</a></strong>
+  [<span style="color: #008800">string filename=''</span>] [<span style="color: #008800">int sample_size=0</span>]
+  
+  <p>
+  If sample_size = 0, pairtest the full landscape.
+  </p>
+</li>
+</ul>
+
+
+
+<p>&nbsp;</p>
+<h2><a name="DriverActions">Driver Actions</a></h2>
+
+<p>
+These actions control the driver object responsible for executing the current run.
+</p>
+<ul>
+<li>
+  <strong><a name="Exit">Exit</a></strong>
+  
+  <p>
+  Unconditionally terminate the current run.
+  </p>
+</li>
+<li>
+  <strong><a name="ExitAveLineageLabelGreater">ExitAveLineageLabelGreater</a></strong>
+  &lt;<span style="color: #008800">double threshold</span>&gt;
+  
+  <p>
+   Halts the run if the current average lineage label is larger
+   than <span style="color: #008800">threshold</span>.
+  </p>
+</li>
+<li>
+  <strong><a name="ExitAveLineageLabelLess">ExitAveLineageLabelLess</a></strong>
+  &lt;<span style="color: #008800">double threshold</span>&gt;
+  
+  <p>
+   Halts the run if the current average lineage label is smaller
+   than <span style="color: #008800">threshold</span>.
+  </p>
+</li>
+</ul>
+
+
+<hr />
+<p>
+<a href="index.html">Return to the Index</a> &nbsp;|&nbsp;
+<a href="events.html">The Events File</a> &nbsp;|&nbsp;
+<a href="analyze.html">The Analyze File</a>
+</p>
+
+</body>
+</html>

Copied: development/documentation/analyze.html (from rev 898, development/documentation/analyze_mode.html)

Deleted: development/documentation/analyze_mode.html
===================================================================
--- development/documentation/analyze_mode.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/analyze_mode.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,543 +0,0 @@
-<html>
-<title>The Analyze File</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>The Analyze File</h2>
-
-<p>
-The file "<tt>analyze.cfg</tt>" is used to setup avida when its in
-analysis-only mode, which can be done by running "avida -a".  It is used to
-perform additional tests on genotypes after a run has completed.
-
-<p>
-This analysis language is basically a simple programming language.  The
-structure of a program involves loading in genotypes in one or more
-"batches", and then either manipulating single batches, or doing comparisons
-between batches.  Currently there can be up to 2000 batches of genotypes, but
-we will eventually remove this limit.
-
-<p>
-The rest of this file describes how individual commands work, as well
-as some notes on other languages features, like how to use variables.  As
-a formatting guide, command arguments will be presented between brackets,
-such as [<font color="#0000AA">filename</font>].  If that argument is
-mandatory, it will be in blue.  If it is optional, it will be in green, and
-(if relevant) a default value will be listed, such as
-[<font color="#008800">filename="output.dat"</font>]
-
-<p>
-There are currently six ways to load in genotypes:
-
-<p align=center><b>Table 1: <font color="#008800">Genotype Loading Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LOAD_ORGANISM [<font color="#0000AA">filename</font>]</b><br>
-    	Load in a normal single-organism file of the type that is output
-        from avida.  These consist of lots of organismal information inside
-        of comments, and then the full genome of the organism with one
-        instruction per line.
-<tr><td><b>LOAD [<font color="#0000AA">filename</font>]</b><br>
-    Load in a file that contains a list of genotypes, one-per-line with
-    additional informaiton about those genotypes. Avida now includes a header
-    on such files indicating the values containted in each column.  As such,
-    this command supercedes the now-depricated "LOAD_BASE_DUMP" and
-    "LOAD_DETAIL_DUMP", and can handle those file types.
-<tr><td><b>LOAD_SEQUENCE [<font color="#0000AA">sequence</font>]</b><br>
-	Load in a user-provided sequence as the genotype.  Avida has a
-        symbol associated with each instruction; this command is simply
-        followed by a sequence of such symbols that is than translated back
-        into a proper genotype.
-<tr><td><b>LOAD_MULTI_DETAIL [<font color="#0000AA">start-UD</font>] [<font color="#0000AA">step-UD</font>] [<font color="#0000AA">stop-UD</font>] [<font color="#008800">dir='./'</font>] [<font color="#008800">start batch=0</font>]</b><br>
-   Allows the user to load in multiple detail files at once, one per
-   batch.  This is helpful when you're trying to do parallel analysis
-   on many detail files, or else to create a phylogenetic depth map.<br>
-
-   Example: <tt>LOAD_MULTI_DETAIL 100 100 100000 ../my_run/run100/</tt><br>
-
-   This would load in the files detail_pop.100 through detail_pop.100000 
-   in steps of 100, from the directory of my choosing.  Since 1000 files will
-   be loaded and we didn't specify starting batch, they will be put in
-   batches 0 through 999.
-
-
-</table>
-
-<p>
-A future addition to this list is a command that will use the "dominant.dat"
-file to identify all of the dominant genotypes from a run, and then lookup and
-load their individual genomes from the genebank directory.  Also, the
-commands LOAD_BASE_DUMP and LOAD_DETAIL_DUMP currently require fixed-formated
-files.  New output files from avida have tags listed for their column names,
-and as such we already have a working prototype of a generic "LOAD" command
-that will figure out the file format and be able to load in all of the data
-properly.
-
-<p>
-All of the load commands place the new genotypes into the "current" batch,
-which can be set with the "SET_BATCH" command.  Below is the list of control
-functions that allow you to manipulate the batches.
-
-<p align=center><b>Table 2: <font color="#008800">Batch Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET_BATCH [<font color="#0000AA">id</font>]</b><br>
-    	Set the batch that is currently active; the initial active batch
-        at the start of a program is 0.
-<tr><td><b>NAME_BATCH [<font color="#0000AA">name</font>]</b><br>
-    	Attach a name to the current batch.  Some of the printing methods
-        will print data from multiple batches, and we want the data from each
-        batch to be attached to a meaningful identifier.
-<tr><td><b>PURGE_BATCH [<font color="#008800">id=current</font>]</b><br>
-    	Remove all genotypes in the specified batch (if no argument is given,
-        the current batch is purged.
-<tr><td><b>DUPLICATE [<font color="#0000AA">id1</font>]
-        [<font color="#008800">id2=current</font>]</b><br>
-    	Copy the genotypes from batch id1 into id2.  By default,
-        copy id1 into the current batch.  Note that duplicate is
-        <i>non-destructive</i> so you should purge the target batch first if
-        you don't want to just add more genotypes to the ones already in
-        that batch.
-<tr><td><b>STATUS</b><br>
-    	Print out (to the screen) the genotype count of each non-empty batch
-        and identify the currently active batch.
-</table>
-
-<p>
-There are several other commands that will allow you to interact with the
-analysis mode in some very important ways, but don't actually trigger any
-analysis tests or output.  Below are a list of some of the more important
-control commands.
-        
-<p align=center><b>Table 3: <font color="#008800">More Analysis Control Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>VERBOSE </b><br>
-    	Toggle verbose/minimal messages.  Verbose messages will print all
-        of the details of what is happening to the screen.  Minimal messages
-        will only briefly state the process being run.  Verbose messages are
-        recommended if you're in interactive mode.
-<tr><td><b>SYSTEM [<font color="#0000AA">command</font>]</b><br>
-    	Run the command listed on the command line.  This is particularly
-        useful if you need to unzip files before you can use them, or if
-        you want to delete files no longer in use.
-<tr><td><b>INCLUDE [<font color="#0000AA">filename</font>]</b><br>
-    	Include another file into this one and run its contents immediately.
-        This is useful if you have some pre-written routines that you want
-        to have available in several analysis files.  Watch out because there
-        are currently no protections against circular includes.
-<tr><td><b>INTERACTIVE</b><br>
-    	Place Avida analysis into interactive mode so that you can type
-        commands have have them immediately acted upon.  You can place this
-        anywhere within the analyze file, so that you can have some
-        processing done before interactive mode starts.  You can type "quit"
-        at any point to continue with the normal processing of the file.
-<tr><td><b>DEBUG [<font color="#0000AA">message</font>] </b><br>
-        <b>ECHO [<font color="#0000AA">message</font>] </b><br>
-    	These are both "echo" commands that will print a message (the
-        arguments given) onto the screen.  If there are any variables (see
-        below) in the message, they will be translated before printing, so
-        this is a good way of debugging your programs.
-</table>
-
-<p>
-Now that we know how to interact with analysis mode, and load in genotypes,
-its important to be able to manipulate them.  The next batch of commands
-will do basic analysis on genotypes, and allow the user to prune batches
-to only include those genotypes that are needed.
-
-
-<p align=center><b>Table 4: <font color="#008800">Genotype Manipulation Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>RECALCULATE [<font color="#008800">use_resources=0</font>]</b><br>
-    	Run all of the genotypes in the current batch through a test CPU
-	and record the measurements taken (fitness, gestation time, etc.).
-        This overrides any values that may have been loaded in with the
-        genotypes.  The use_resources flags signifies whether or not the
-        test cpu will use resources when it runs.  For more information 
-        on resources, see the <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>FIND_GENOTYPE [<font color="#008800">type="num_cpus" ...</font>]</b><br>
-    	Remove all genotypes but the one selected.  Type indicates which
-	genotype to choose.  Options available for type are "num_cpus" (to
-        choose the genotype with the maximum organismal abundance at time of
-        printing), "total_cpus" (number of organisms ever of this genotype),
-        "fitness", or "merit".  If a the type entered is numerical, it is
-        used as an id number to indicate the desired genotype (if no such id
-        exists, a warning will be given).  Multiple arguments can be given to
-        this command, in which case all those genotypes in that list will be
-        preserved and the remainder deleted.
-<tr><td><b>FIND_ORGANISM [<font color="#008800">random</font>]</b><br>
-	Picks out a random organism from the population and removes all 
-	others. It is different from FIND_GENOTYPE because it takes into 
-	account relative number of organisms within each genotype. To pick 
-	more than one organisms, list the word 'random' multiple times. This 
-	is essentially sampling without replacement from the population.
-<tr><td><b>FIND_LINEAGE [<font color="#008800">type="num_cpus"</font>] </b><br>
-    	Delete everything except the lineage from the chosen genotype back
-	to the most distant ancestor available.  This command will only
-        function properly if parental information was loaded in with the
-        genotypes.  Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>FIND_SEX_LINEAGE [<font color="#008800">type="num_cpus"</font>] 
-	[<font color="#008800">parent_method="rec_region_size"</font>] </b><br>
-    	Delete everything except the lineage from the chosen genotype back
-	to the most distant ancestor available. Similar to FIND_LINEAGE but 
-	works in sexual populations. To simplify things, only maternal lineage plus
-	immediate fathers are saved, i.e. info about father's parents is discarded. 
-	The second option, parent_method, determines which parent is considered the 
-	"mother" in each particular recombination. If parent_method is "rec_region_size" :
-        "mother" is the parent contributing more code to the offspring genome 
-	(default); if it's "genome_size", "mother" is the parent with the longer 
-	genome, no matter how much of it was contributed to the offspring. 
-	This command will only function properly if parental information was 
-	loaded in with the genotypes.  Type is the same as the FIND_GENOTYPE command.
-<tr><td><b>ALIGN</b><br>
-    	Create an alignment of all the genome's sequences; It will place '_'s
-        in the sequences to show the alignment.  Note that a "FIND_LINEAGE"
-        must first be run on the batch in order for the alignment to be
-        possible.
-<tr><td><b>SAMPLE_ORGANISMS [<font color="#0000AA">fraction</font>]
-	[<font color="#008800">test_viable=0</font>] </b><br>
-    	Keep only "fraction" of organisms in the current batch.  This
-	is done per organism, <i>not</i> per genotype.  Thus, genotypes of high
-	abundance may only have their abundance lowered, while genotypes
-	of abundance 1 will either stay or be removed entirely. If test_viable is
-	set to 1, sample only from the viable organisms. 
-<tr><td><b>SAMPLE_GENOTYPES [<font color="#0000AA">fraction</font>]
-	[<font color="#008800">test_viable=0</font>] </b><br>
-    	Keep only fraction of genotypes in the current batch. If test_viable is
-        set to 1, sample only from the viable genotypes. 
-<tr><td><b>RENAME [<font color="#008800">start_id=0</font>]</b><br>
-    	Change the id numbers of all the genotypes to start at a given value.
-        Often in long runs we will be dealing with ID's in the millions.  In
-        particular, after reducing a batch to a lineage, we will often want
-        to number the genotypes in order from the ancestor to the final one.
-</table>
-
-<p>
-Next, we are going to look at the standard output commands that will used to
-save information generated in analyze mode.
-
-
-<p align=center><b>Table 5: <font color="#008800">Basic Output Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT [<font color="#008800">dir="genebank/"</font>] 
-	[<font color="#008800">filename</font>] </b><br>
-    	Print the genotypes from the current batch as individual files (one
-        genotype per file) in the directory given. If no filename is specified,  
-	the files will be named by the genotype name, with a ".gen" appended to 
-	them. Specifying the filename is useful when printing a single genotype. 
-<tr><td><b>TRACE [<font color="#008800">dir="genebank/"</font>] [ <font color="#008800">use_resources=0</font>] </b><br>
-    	Trace all of the genotypes and print a listing of their execution.
-	This will show step-by-step the status of all of the CPU components
-	and the genome during the course of the execution.  The filename used
-	for each trace will be the genotype's name with a ".trace" appended.
-	The use resources flag signifies whether or not the test cpu will use
-        resources when it runs.  For more information on resources, see the 
-        <a href="#USING_RESOURCES">summary</a> below.
-<tr><td><b>PRINT_TASKS [<font color="#008800">file="tasks.dat"</font>] </b><br>
-    	This will print out the tasks doable by each genotype, one per line
-	in the output file specified.  Note that this information must either
-	have been loaded in, or a RECALCULATE must have been run to collect
-	it.
-<tr><td><b>DETAIL [<font color="#008800">file="detail.dat"</font>] [<font color="#008800">format ...</font>]</b><br>
-    	Print out all of the stats for each genotype, one per line.  The
-	format indicates the layout of columns in the file.  If the filename
-	specified ends in ".html", html formatting will be used instead of
-	plain text.  For the format, see the section on "Output Formats"
-	below.
-<tr><td><b>DETAIL_TIMELINE [<font color="#008800">file="detail_timeline.dat"</font>] 
-	[<font color="#008800">time_step=100</font>]
-	[<font color="#008800">max_time=100000</font>]</b><br> 
-	Details a time-sequence of dump files. 
-<tr><td><b>DETAIL_BATCHES [<font color="#008800">file="detail_baches.dat"</font>]
-	[<font color="#008800">format ...</font>]</b><br>
-        Details all batches. 
-<tr><td><b>DETAIL_INDEX [<font color="#0000AA">file</font>]
-	[<font color="#0000AA">min_batch</font>] [<font color="#0000AA">max_batch</font>]
-	[<font color="#008800">format ...</font>]</b><br>
-	Detail all the batches between min_batch and max_batch. 
-<tr><td><b>DETAIL_AVERAGE [<font color="#008800">file="detail.dat"</font>] 
-	[<font color="#008800">format ...</font>]</b><br>
-	Detail the current batch, but print out the average for each argument, as opposed to the 
-	individual values for each genotype, the way DETAIL would. Arguments are the same as for DETAIL. 
-	it takes into account the relative abundance of each genotype in the batch when calculating the 
-	averages. 
-</table>
-
-<p>
-And at last, we have the actual analysis commands that perform tests on
-the data and output the results.
-
-<p align=center><b>Table 6: <font color="#008800">Analysis Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>LANDSCAPE [<font color="#008800">file="landscape.dat"</font>]
-	[<font color="#008800">dist=1</font>]
-	[<font color="#008800">nume_test=(all)</font>]</b><br>
-    	For each genotype in the current batch, test all possible mutations
-	(or combinations of mutations if dist > 1) and summarize the results,
-	one per line in the specified file.
-	If <b>nume_test</b> is specified, randomly pick that many mutants
-	to test, instead of testing all (important for large <b>dist</b>) 
-<tr><td><b>ANALYZE_EPISTASIS [<font color="#008800">file="epistasis.dat"</font>]
-	[<font color="#008800">num_test=(all)</font>]</b><br>
-    	For each genotype in the current batch, test possible 
-	double mutatants, and single mutations composing them; print both of 
-	individual relative fitnesses and the double mutant relative fitness. 
-	By default all double mutants are tested. If in a hurry, specify the 
-	number to be tested (<b>num_test</b>)
-<tr><td><b>MAP_TASKS [<font color="#008800">dir="phenotype/"</font>]
-	[<font color="#008800">flags ...</font>]
-	[<font color="#008800">format ...</font>] </b><br>
-    	Construct a genotype-phenotype array for each genotype in the
-	current batch.  The format is the list of stats that you want
-	to include as columns in the array.  Additionally you can have
-	special format flags; the possible flags are "html" to print output
-	in HTML format, and "link_maps" to create html links between
-	consecutive genotypes in a lineage.
-<tr><td><b>MAP_MUTATIONS [<font color="#008800">dir="mutations/"</font>]
-	[<font color="#008800">flags ...</font>] </b><br>
-    	Construct a genome-mutation array for each genotype in the
-	current batch.  The format has each line in the genome as a row
-        in the chart, and all available instructions representing the columns.
-        The cells in the chart indicate the fitness were a mutation to
-        occur at the position in the matrix, to the listed instruction.
-        If the "html" flag is used, the charts will be output in HTML format.
-<tr><td><b>MAP_DEPTH [<font color="#008800">filename='depth_map.dat'</font>] [<font color="#008800">min_batch=0</font>] [<font color="#008800">max_batch=cur_batch-1</font>]</b><br>
-       This will create a depth map (like those we use for phylogeny
-       visualization) in the filename specified.  You can direct which
-       batches to take this from, but by default it will work perfectly after
-       a LOAD_MULTI_DETAIL.
-
-    
-<tr><td><b>AVERAGE_MODULATITY [<font color="#008800">file="modularity.dat"</font>]
-	[<font color="#008800">task.0 task.1 task.2 task.3 task.4 task.5      
-	task.6 task.7 task.8</font>] </b><br>
-    	Calculate several modularity measuers, such as how many tasks is an 
-	instruction involved in, number of sites required for each task, etc.
-	The measures are averaged over all the organisms in the current batch 
-	that perform any tasks. For the full output list, do 
-	"AVERAGE_MODULATITY legend.dat" At the moment doesn't support html
-	output format and works with only 1 and 2 input tasks. 
-<tr><td><b>HAMMING [<font color="#008800">file="hamming.dat"</font>]
-	[<font color="#008800">b1=current</font>]
-	[<font color="#008800">b2=b1</font>] </b><br>
-    	Calculate the hamming distance between batches b1 and b2.  If only
-	one batch is given, calculations are on all pairs within that batch.
-<tr><td><b>LEVENSTEIN [<font color="#008800">file="lev.dat"</font>]
-	[<font color="#008800">batch1</font>]
-	[<font color="#008800">b2=b1</font>]</b><br>
-    	Calculate the levenstein distance (edit distance) between batches b1
-	and b2.  This metric is similar to hamming distance, but calculates
-	the minimum number of single insertions, deletions, and mutations to
-	move from one sequence to the other.
-<tr><td><b>SPECIES [<font color="#008800">file="species.dat"</font>]
-	[<font color="#0000AA">bach1</font>]
-	[<font color="#0000AA">bach2</font>]
-        [<font color="#0000AA">num_recombinants</font>]</b><br>
-	Calculates the percentage of non-viable recombinants between all 
-	pairs of organisms from batches 1 and 2. Number of random recombination 
-	events for each pair of organisms is specified by num_recombinants.
-	Recombination is done in the same way as in the birth chamber when 
-	divide-sex is executed. <br>
-	Output:  Batch1Name  Batch2Name  AveDistance  Count  FailCount
-<tr><td><b>RECOMBINE 
-	[<font color="#0000AA">bach1</font>]
-	[<font color="#0000AA">bach2</font>]
-	[<font color="#0000AA">bach3</font>]
-	[<font color="#0000AA">num_recombinants</font>]</b><br>
-	Similar to Species command, but instead of calculating things on the spot, 
-	just create all the recombinant genotypes using organisms from baches 1 and 2
-	and put them in the batch3. 
-</table>
-
-<a name="USING_RESOURCES"></a>
-<h3>Using Test CPU Resources Summary</h3>
-<p>
-This summary is given to help explain the use and constraints for using resources.
-
-<p>
-When a command specifies the use of resources for the test cpu, it should not
-affect the state of the test cpu after the command has finished.  However, this 
-means that the test cpu is no longer guaranteed to be reentrant.  Each command 
-will set up the environment and the resource count in the test cpu with it's own 
-environment and resource count.  When the command has finished it will set the the 
-test cpu's environment and resource count back to what they were before the command 
-was executed.
-
-<p>
-Resource usage for the test cpu occurs by setting the environment and then 
-setting up the resource count using the environment.  Once the resource 
-count has been set up, it will not change during the use of the test cpu.  
-When an organism performs and IO, completing a task, the concentrations are 
-not changed.  This was a design decision, but is easily changed.
-
-<p>
-In analyze, a new data structure was included which contains a time ordered 
-list of resource concentrations.  This list can be used to set up resources 
-from different time points.  By using the FillResources function, you can 
-have the resource library updated with resource concentrations from a time 
-point closest to the user specified time point.  If the LOAD_RESOURCES 
-command is not called, the list defaults to a single entry which is the 
-the initial concentrations of the resources specified in the environment 
-configuration file.
-
-<p align=center><b>Table 7: <font color="#008800">Test CPU Resource Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>PRINT_TEST_CPU_RESOURCES </b><br>
-    	This command first prints the whether or not the test cpu is using 
-        resources.  Then it will print the concentration for each resource.
-<tr><td><b>LOAD_RESOURCES [<font color="#008800">file_name="resource.dat"</font>] </b><br>
-    	This command loads a time oriented list of resource concentrations.  
-        The command takes a file name containing this type of data, and 
-        defaults to resource.dat.  The format of the file must be the same 
-        as resource.dat, and each line must be in the correct chronological 
-        order with oldest first.  
-</table>
-
-<h3>Output Formats</h3>
-
-<p>
- Several commands (such as DETAIL and MAP) require format parameters
- to specify what genotypic features should be output.  Before the
- such commands are used, other collection functions may need to be
- run.
-
-<p>
- Allowable formats after a normal load (assuming these values were available
- from the input file to be loaded in) are:
-<p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>id</b>           (Genome ID)
-    <td width=33%><b>parent_id</b>    (Parent ID)
-    <td width=33%><b>num_cpus</b>     (Number of CPUs)
-<tr><td><b>total_cpus</b>   (Total CPUs Ever)
-    <td><b>length</b>       (Genome Length)
-    <td><b>update_born</b>  (Update Born)
-<tr><td><b>update_dead</b>  (Update Dead)
-    <td><b>depth</b>        (Tree Depth)
-    <td><b>sequence</b>     (Genome Sequence)
-</table>
-</center>
-
-<p>
- After a RECALCULATE, the additional formats become available:
-
-<p>
-<center>
-<table width=95%>
-<tr><td width=33%><b>viable</b> (Is Viable [0/1])
-    <td width=33%><b>copy_length</b> (Copied Length)
-    <td width=33%><b>exe_length</b> (Executed Length)
-<tr><td><b>merit</b> (Merit)
-    <td><b>comp_merit</b> (Computational Merit)
-    <td><b>gest_time</b> (Gestation Time)
-<tr><td><b>efficiency</b> (Replication Efficiency)
-    <td><b>fitness</b> (Fitness)
-    <td><b>div_type</b> (Divide type used; 1 is default)
-<tr><td><b>task.n</b> (# of times task number n is done)
-    <td><b>task.n:binary</b> (is task n done, 0/1)
-</table>
-</center>
-
-<p>
- If a FIND_LINEAGE was done before the RECALCULATE, the parent
- genotype for each regular genotype will be available, enabling the
- additional formats:
-
-<p>
-<center>
-<table width=95%>
-<tr><td width=50%><b>parent_dist</b> (Parent Distance)
-    <td width=50%><b>comp_merit_ratio</b>, (Computational Merit Ratio with parent)
-<tr><td><b>efficiency_ratio</b> (Replication Efficiency Ratio with parent)
-    <td><b>fitness_ratio</b> (Fitness Ratio with parent)
-<tr><td><b>parent_muts</b> (Mutations from Parent)
-    <td><b>html.sequence</b> (Genome Sequence in Color; html format)
-</table>
-</center>
-
-<p>
-If an ALIGN is run, one additional format is available:
-<p>
-<center>
-<table width=95%>
-<tr><td><b>alignment</b> (Aligned Sequence)
-</table>
-</center>
-    
-<p>
-Finally, there are a handful of commands that will automatically perform
-landscapping.  The landscape will only be run once per organism even when
-multiple output variables are used.
-<p>
-<center>
-<table width=95%>
-<tr><td><b>frac_dead</b> (Fraction of Lethal Mutations)</td>
-    <td><b>frac_neg</b> (Fraction of Harmful Mutations)</td></tr>
-<tr><td><b>frac_neut</b> (Fraction of Neutral Mutations)</td>
-    <td><b>frac_pos</b> (Fraction of Beneficial Mutations)</td></tr>
-<tr><td><b>complexity</b> (Physical Complexity of Organism)</td>
-    <td><b>land_fitness</b> (Average Mutation Fitness)</td></tr>
-</table>
-</center>
-
-
-
-<h3>Variables</h3>
-
-<p>
- For the moment, all variables can only be a single character (letter or
- number) and begin with a $ whenever they need to be translated to their
- value.  Lowercase letters are global variables, capital letters are
- local to a function (described later), and numbers are arguments to a
- function.  A $$ will act as a single dollar sign, if needed.
-
-<p align=center><b>Table 8: <font color="#008800">Variable-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>SET [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">value</font>] </b><br>
-    	Sets the variable to the value...
-<tr><td><b>FOREACH [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">value</font>]
-	[<font color="#008800">value ...</font>] </b><br>
-    	Set the variable to each of the values listed, and run the code that
-        follows between here and the next END command once for each of
-	those values.
-<tr><td><b>FORRANGE [<font color="#0000AA">variable</font>]
-	[<font color="#0000AA">min_value</font>]
-	[<font color="#0000AA">max_value</font>]
-	[<font color="#008800">step_value=1</font>]</b><br>
-    	Set the variable to each of the values between min and max (at steps
-	given), and run the code that follows between here and the next END
-	command, once for each of those values.
-</table>
-
-<h3>Functions</h3>
-
-<p>
- These functions are currently very primitive with fixed inputs of
- $0 through $9.  $0 is always the function name, and then there can be up
- to 9 other arguments passed through.  Once a function is created, it can
- be run just like any other command.
-
-<p align=center><b>Table 9: <font color="#008800">Function-Related Commands</font></b>
-<table cellpadding=6>
-<tr><td><b>FUNCTION [<font color="#0000AA">name</font>]</b><br>
-    	This will create a function of the given name, including in it all
-	of the commands up until an END is found.  These commands will be
-	bound to the function, but are not executed until the function is
-	run as a command.  Inside the function, the variables $1 through $9
-	can be used to access arguments passed in.
-</table>
-
-<p>
-Currently there are no conditionals or mathematical commands in this
-scripting language.  These are both planned for the future.
-
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-    

Deleted: development/documentation/code_events.html
===================================================================
--- development/documentation/code_events.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/code_events.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,342 +0,0 @@
-<html>
-<title>Avida Events Implementation</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>Avida Events Implementation</h2>
-
-<p>
-Events is one of the most complex sub-systems within
-avida, but because of this we have automated the process of implementing
-new events.  Normally, when you want to add to a
-component of avida, you need to make changes in at least three places: the
-header file to declare new classes or methods, the code file to write
-the full definition of those methods, and a third location to
-activate whatever you just wrote.  A conscientious programmer will also
-make a fourth change to document this new feature.
-
-<p>
-Events used to be the worst case of this.  Not only were more than
-these four procedures required, but they had to be done in a specific
-format that even I would need to look up.
-
-<p>
-A few years ago Travis Collier wrote a program (in the language Perl) that
-would parse a single, specially-formatted file and write out the corresponding
-C++ code, including documentation.  This program is
-"<tt><font color="#008844">current/source/event/</font><font color="#000088">make_events.pl</font></tt>",
-in case you are interested in it (fortunately, you don't need to understand
-it to add events because Perl code can be a bit dense).
-The file that the program reads in is
-"<tt><font color="#008844">current/source/event/</font><font color="#000088">cPopulation.events</font></tt>", which is what you will actually be editing.
-
-<p>
-When you type "<tt>make</tt>" to compile Avida, it will automatically look
-to see if any modifications have been made to <tt>cPopulation.events</tt>,
-and if so it will run <tt>make_events.pl</tt> in order to update all of
-the event-related C++ files.
-
-<h3>The <tt><font color="#000088">cPopulation.events</font></tt> file</h3>
-
-<p>
-This file defines all events currently in avida, most of which affect the
-main object from class cPopulation, hence the origin of the filename.
-There were once other event-definition files named for non-population objects
-that could be affected, but we collapsed it all down to this single file to
-avoid confusion.  Ideally we'll change this file's name soon for further
-clarity.
-
-<p>
-The text in this file is broken up into blocks, separated by blank lines.
-Each block represents the full definition of a single event.
-Do <b>not</b> skip any lines when you are defining an event, or else the
-Perl script will think you have begun the definition of a new event.
-Below is the basic format for a single event.  Anything in
-<font color="#886600">brown</font> should be changed to be event specific,
-while portions in black are the same for all events:
-
-<p>
-<pre>
-   <font color="#886600">event_name</font>
-   :descr:
-   /**
-   * <font color="#886600">This is the documentation for this event.  Notice that it can be</font>
-   * <font color="#886600">multiple lines, but each line must begin with a single asterisk.</font>
-   **/
-   :args:
-   <font color="#886600">variable_type  variable_name  default_value</font>
-   <font color="#886600">var2_type      var2_name      var2_default</font>
-   <font color="#886600">...            ...            ...</font>
-   <font color="#886600">varN_type      varN_name      varN_default</font>
-   :body:
-   <font color="#886600">FirstThingToDo();</font>
-   <font color="#886600">ThenDoThis();</font>
-   <font color="#886600">AndAnyOtherFunctionsToBeRun();</font>
-</pre>
-
-<p>
-For any event whose only function is to execute a method of the population
-object there really isn't much to write.  All events have access
-to <tt>population</tt>, which is a pointer to the primary population
-(of class cPopulation) in the Avida run.  Additionally the events have access
-to several static classes such as <tt>cAvidaDriver_Base</tt>, but since this
-isn't something you've learned about yet, you shouldn't worry about it here.
-
-<p>
-Let's step through the sections of the event definition.  First we have the
-<b><tt><font color="#886600">event_name</font></tt></b>, which can be any
-alpha-numeric sequence plus the underscore.  This name is the name that is
-used from the <tt>events.cfg</tt> configuration file to specify that this is
-the event to be triggered.
-
-<p>
-The <b><tt>:descr:</tt></b> section is dropped as-is into the avida source
-code as the comments for this event.  In C++, two methods for including
-comments are possible.  The first, is a pair of slashes
-('<b><tt>//</tt></b>') that make the remainder of the line a comment.
-The second is a slash-star ('<b><tt>/*</tt></b>') to begin a comment, and
-then a star-slash ('<b><tt>*/</tt></b>') to denote its end.  This latter
-approach allows a command to go for multiple lines.  To make it clear to
-a reader that this is all part of a single comment, good programming
-practice dictates that we should begin each line with a single star
-('<b><tt>*</tt></b>').
-In addition to being placed in the source code, this documentation is
-output when you run avida with the "<tt>-events</tt>" flag from the command
-line.  In the future, it will also be available from the graphical interface.
-
-<p>
-Next, we have the <b><tt>:args</tt></b> section of the event description.
-Here we list the variables that we want the user to set when they include
-this event in their configuration.  For example, if we create an event that
-forces a single organism to write a term paper, we need to specify the
-organism that will be subject to this unfortunate task.  We might include a
-line in this section like "<tt>int cell_id</tt>".  This would mean that when
-the user sets up this event, they <i>must</i> specify which cell they are
-targeting.  We could then include a second argument "<tt>int num_pages 5</tt>"
-so that the user can also specify how long the term paper should be.  But
-notice that I included a "5" in this latter example.  This means that the
-user can include the second argument to specify the number of pages, but if
-they don't, 5 will be the default.  Thus the event
-"<tt>write_term_paper 100 3</tt>" would make the organism in cell 100 
-write a three page term paper, while "<tt>write_term_paper 42</tt>" would
-make the organism in cell 42 write a five page paper.  Since we did not
-include a default argument for cell_id, that variable must always be
-specified.  Now, all you need to do is figure out how to best write this
-event, and you'll never have to write a paper again!  Unfortunately, knowing
-them, they would probably make huge margins and pad the paper with a bunch
-of <tt>nop-X</tt> commands, hoping we won't notice.
-
-<p>
-Finally, we come to the <b><tt>:body:</tt></b> section, which contains the
-commands to be executed when this event is run.  Since so much functionality
-is already implemented in the cPopulation class, quite often all that we
-need to do here is run a method of the population object.  Below is such an
-example, using the <tt>inject</tt> command.
-
-<h3>Example: The <tt>inject</tt> event</h3>
-
-<p>
-The section headings are all <b>bold</b>; the remaining code uses
-a color scheme similar to the one I used previously:
-
-<center>
-<table width=90%>
-<tr>
-<td width=50%><font color="#886600"><b>Comments</b> are BROWN</font><br>
-    <font color="#008800">Names of <b>Methods</b> are GREEN</font>
-<td width=50%><font color="#880000">Names of <b>types</b> (including
-      <b>classes</b>) are RED</font><br>
-    <font color="#000088"><b>Variable</b> names are BLUE</font>
-</table>
-</center>
-
-<pre>
-  <b>inject</b>
-  <b>:descr:</b>
-  <font color="#886600">/**
-  * Injects a single organism into the population.
-  *
-  * Parameters:
-  * filename (string)
-  *   The filename of the genotype to load. If this is left empty, or the keyword
-  *   "START_CREATURE" is given, than the genotype specified in the genesis
-  *   file under "START_CREATURE" is used.
-  * cell ID (integer) default: 0
-  *   The grid-point into which the organism should be placed.
-  * merit (double) default: -1
-  *   The initial merit of the organism. If set to -1, this is ignored.
-  * lineage label (integer) default: 0
-  *   An integer that marks all descendants of this organism.
-  * neutral metric (double) default: 0
-  *   A double value that randomly drifts over time.
-  **/</font>
-  <b>:args:</b>
-  <font color="#880000">cString</font> <font color="#000088">fname</font>          "START_CREATURE"
-  <font color="#880000">int</font>     <font color="#000088">cell_id</font>        0
-  <font color="#880000">double</font>  <font color="#000088">merit</font>          -1
-  <font color="#880000">int</font>     <font color="#000088">lineage_label</font>  0
-  <font color="#880000">double</font>  <font color="#000088">neutral_metric</font> 0
-  <b>:body:</b>
-  if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
-  <font color="#880000">cGenome</font> <font color="#000088">genome</font> =
-     <font color="#880000">cInstUtil</font>::<font color="#008800">LoadGenome</font>(<font color="#000088">fname</font>, <font color="#000088">population</font>-><font color="#008800">GetEnvironment()</font>.<font color="#008800">GetInstLib()</font>);
-  <font color="#000088">population</font>-><font color="#008800">Inject</font>(<font color="#000088">genome</font>, <font color="#000088">cell_id</font>, <font color="#000088">merit</font>, <font color="#000088">lineage_label</font>, <font color="#000088">neutral_metric</font>);
-
-</pre>
-
-<p>
-As indicated by its description, the "<tt>inject</tt>" command will inject a
-single organism into the population.  The user can specify a filename that
-contains the organism's genome (or START_CREATURE to use this value from the
-genesis file), the cell in which the organism should be
-placed, the merit to start the organism with (or -1 to auto-calculate it on
-loading), a lineage label to tag all of this organism's offspring,
-and a neutral value that will drift over each generation.  Each of
-these configuration values is supplied with a default so that the user
-is not required to enter any additional information.
-
-<p>
-But what actually happens when this event is run?
-
-<p>
-First, the <tt>if</tt>-statement checks if the user has entered
-(or left as default) the value <tt>"START_CREATURE"</tt> as the filename.
-If so, it looks up the proper filename (from the cConfig class that holds
-the current state of all the genesis variables -- we'll talk more about it
-soon) and sets this variable such that it is now indicating a real file.
-
-<p>
-The next line builds an object of class <font color="#880000">cGenome</font>
-using a function called <font color="#008800">LoadGenome</font>
-in the utility class <font color="#880000">cInstUtil</font>.  This function
-needs the filename to load from, and an instruction set to convert the
-contents of that file into a genome.  The instruction set is stored within
-the population's environment, and therefore requires a series of Methods to
-be called to retrieve it.
-
-<p>
-Finally, this event takes that newly created genome, and runs the method
-<font color="#008800">Inject</font> on the population object.  This method
-takes in all of the information about the organism to be injected and then
-actually builds the cOrganism object and places into the population.
-
-
-<h3>Example: The <tt>inject_all</tt> event</h3>
-
-<p>
-Below is a slight variation on the <tt>inject</tt> command.  Rather than
-injecting a single organism into a specific cell, it will inject identical
-organisms into every cell in the population.
-
-<p>
-
-<pre>
-  <b>inject_all</b>
-  <b>:descr:</b>
-  <font color="#886600">/**
-  * Injects identical organisms into all cells of the population.
-  *
-  * Parameters:
-  * filename (string)
-  *   The filename of the genotype to load. If this is left empty, or the keyword
-  *   "START_CREATURE" is given, than the genotype specified in the genesis
-  *   file under "START_CREATURE" is used.
-  * merit (double) default: -1
-  *   The initial merit of the organism. If set to -1, this is ignored.
-  * lineage label (integer) default: 0
-  *   An integer that marks all descendants of this organism.
-  * neutral metric (double) default: 0
-  *   A double value that randomly drifts over time.
-  **/</font>
-  <b>:args:</b>
-  <font color="#880000">cString</font> <font color="#000088">fname</font>          "START_CREATURE"
-  <font color="#880000">double</font>  <font color="#000088">merit</font>          -1
-  <font color="#880000">int</font>     <font color="#000088">lineage_label</font>  0
-  <font color="#880000">double</font>  <font color="#000088">neutral_metric</font> 0
-  <b>:body:</b>
-  if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
-  <font color="#880000">cGenome</font> <font color="#000088">genome</font> =
-     <font color="#880000">cInstUtil</font>::<font color="#008800">LoadGenome</font>(<font color="#000088">fname</font>, <font color="#000088">population</font>-><font color="#008800">GetEnvironment()</font>.<font color="#008800">GetInstLib()</font>);
-  for (<font color="#880000">int</font> <font color="#000088">i</font> = 0; <font color="#000088">i</font> < <font color="#000088">population</font>-><font color="#008800">GetSize()</font>; <font color="#000088">i</font>++) {
-    <font color="#000088">population</font>-><font color="#008800">Inject</font>(<font color="#000088">genome</font>, <font color="#000088">i</font>, <font color="#000088">merit</font>, <font color="#000088">lineage_label</font>, <font color="#000088">neutral_metric</font>);
-  }
-  <font color="#000088">population</font>-><font color="#008800">SetSyncEvents</font>(true);
-
-</pre>
-
-<p>
-The first difference that you should notice is the lack of the
-<font color="#000088"><tt>cell_id</tt></font> variable.  Since we are no
-longer injecting into just a single cell, no cell ID needs to be
-included.  The remaining differences are all in the body of the event.
-
-<p>
-The first two commands in the body remain the same; that is, the filename
-is finalized, and the genome used to create the organisms is itself
-constructed.  The next thing we need to do is actually inject the organisms
-into each cell of the population.  To run the Inject command once for each
-position we employ a <tt>for</tt> command.  This command has a strange
-syntax:
-
-<pre>
-  for ( <font color="#886600">setup</font> ; <font color="#886600">continue_test</font> ; <font color="#886600">step_method</font> ) {
-    <font color="#886600">loop body</font>
-  }
-
-</pre>
-
-<p>
-In our case, we want to set a variable to every number that represents
-a cell in the population.  These numbers go from zero to the population size
-minus one.  To build this loop, we <font color="#886600">setup</font> by
-creating a variable called <font color="#000088">i</font> and initialize it
-to 0 -- the ID of the first cell we plan to inject into.  We want to
-keep injecting into all cells with ID less than the full population size, so
-our <font color="#886600">continue_test</font> tells us to keep going as
-long as i is less than that number.  Finally our
-<font color="#886600">step_method</font> tells the program that after
-each execution of the contents of the loop, it should increment the value of
-i by one.  The Inject method itself works the same as in the
-previous event.
-
-<p>
-Finally, we run the method <font color="#008800">SetSyncEvents</font>(true)
-on the population object.  This is not necessary, but it helps keep the 
-event triggers in proper sync.  Since we just injected organisms into every
-site in the population, we have effectively reset the generation of the
-population to zero.  This could screw up some events that are triggered based
-on generation if we're not careful, so we warn the population that such
-trouble may occur, and it should re-sync the events at its earliest
-convenience.
-
-<p>
-So that isn't so hard is it?  Good!  Now we get to some...
-
-<h3>Try it Out...</h3>
-
-<p>
-Here are a couple of example events that you can try implementing.  The
-first one of them is the "<b><tt>inject_range</tt></b>" event.  This event
-will be used when you want to inject organisms into more than one cell in the
-population, but not all of them.  Where the normal <tt>inject</tt> event
-took a single cell_id value, this new event should take two of them -- a
-starting cell and a stopping cell.  You should then use a <tt>for</tt> loop
-(similar to the one in "<tt>inject_all</tt>") to inject the genome into
-all cells in range.  Extra credit if you test the order of the two numbers
-and swap them if the start_cell is larger than the end_cell.
-
-<p>
-The second event you are going to implement is "<b><tt>kill_cell</tt></b>"
-This is again somewhat similar to <tt>inject</tt> in code structure, but
-you're goal is to kill the organism (if one exists) in the specified cell.
-For help with how to do this, take a look at the <tt>apocalypse</tt> event,
-which causes a larger scale extinction.
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-    
\ No newline at end of file

Deleted: development/documentation/code_genesis.html
===================================================================
--- development/documentation/code_genesis.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/code_genesis.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,184 +0,0 @@
-<html>
-<title>The cConfig Class</title>
-<body
- bgcolor="#FFFFFF"
- text="#000000"
- link="#0000AA"
- alink="#0000FF"
- vlink="#000044">
-
-<h2 align=center>The cConfig Class</h2>
-
-<p>
-The cConfig class stores the values in <tt>genesis</tt> throughout a
-run.  It is defined in the files
-"<tt>config.hh</tt>" and "<tt>config.cc</tt>" in the directory
-"<tt>current/source/main/</tt>".  This is one of the rare classes that
-has a longer class definition in the header file than that of
-its individual methods in the code file.  This is because so many
-methods are accessor functions that are defined as they are declared.
-
-<p>
-Currently, this is a static class.  That means there can never be an object
-of type cConfig; there is only the class itself that exists.  This comes
-from the idea that an avida run can only ever have a single configuration.
-However, ideally we should make it possible for multiple populations to
-co-exist, each  with distinct configurations, so at some point in the
-future (when I get the energy, and don't have more pressing programming
-issues!) I will convert this to a normal class type.
-
-<p>
-Here is a <i>heavily</i> abridged version of the class definition (from
-"<tt><b>config.hh</b></tt>").
-
-<p>
-<pre>
-  class <font color="#880000">cConfig</font> {
-  private:
-    static <font color="#880000">cString</font> <font color="#000088">event_filename</font>;
-    static <font color="#880000">cString</font> <font color="#000088">analyze_filename</font>;
-    static <font color="#880000">int</font> <font color="#000088">rand_seed</font>;
-    static <font color="#880000">double</font> <font color="#000088">copy_mut_prob</font>;
-    <font color="#886600">// [ <i>...about 100 other variables stored...</i> ]</font>
-
-    <font color="#886600">// A method that will process the command line arguments</font>
-    static void <font color="#008800">ProcessConfiguration</font>(<font color="#880000">int</font> <font color="#000088">argc</font>, <font color="#880000">char</font> * <font color="#000088">argv</font>[], <font color="#880000">cGenesis</font> & <font color="#000088">genesis</font>);
-  public:
-    <font color="#886600">// A method that will setup everything in cConfig</font>
-    static void <font color="#008800">Setup</font>(<font color="#880000">int</font> <font color="#000088">argc</font>, <font color="#880000">char</font> * <font color="#000088">argv</font>[]);
-
-    <font color="#886600">// Accessors...</font>
-    static <font color="#880000">cString</font> & <font color="#008800">GetEventFilename</font>()   { return <font color="#000088">event_filename</font>; }
-    static <font color="#880000">cString</font> & <font color="#008800">GetAnalyzeFilename</font>() { return <font color="#000088">analyze_filename</font>; }
-    static <font color="#880000">int</font> <font color="#008800">GetRandSeed</font>()              { return <font color="#000088">rand_seed</font>; }
-    static <font color="#880000">double</font> <font color="#008800">GetCopyMutProb</font>()        { return <font color="#000088">copy_mut_prob</font>; }
-    <font color="#886600">// [ <i>...about 100 other variable accessors...</i> ]</font>
-
-    <font color="#886600">// Set Methods...</font>
-    static void <font color="#008800">SetEventFilename</font>(const <font color="#880000">cString</font> & <font color="#000088">in_name</font>)
-      { <font color="#000088">event_filename</font> = <font color="#000088">in_name</font>; }
-    static void <font color="#008800">SetAnalyzeFilename</font>(const <font color="#880000">cString</font> & <font color="#000088">in_name</font>)
-      { <font color="#000088">analyze_filename</font> = <font color="#000088">in_name</font>; }
-    <font color="#886600">// [ <i>...again, many more set methods...</i> ]</font>
-  };
-</pre>
-
-<p>
-Note that there is no constructor or destructor since objects of cConfig
-are never created or destroyed.  The <font color="#008800">Setup()</font>
-method will, however, setup any values that need to be handled.
-
-<h3>The <tt>config.cc</tt> file</h3>
-
-<p>
-You will need to know about the code file for cConfig in order to make any
-additions to the class.  The code file is broken up into three sections.  The
-first is a list of all of the variables declared inside of the class
-definition.  In order for a variable to be static, it has to be declared in
-both the class definition, and again outside the class in the code file.  The
-entire beginning of the code file is in the form:
-
-<p>
-<pre>
-  <font color="#880000">cString cConfig</font>::<font color="#000088">event_filename</font>;
-  <font color="#880000">cString cConfig</font>::<font color="#000088">analyze_filename</font>;
-  <font color="#880000">int cConfig</font>::<font color="#000088">rand_seed</font>;
-  <font color="#880000">double cConfig</font>::<font color="#000088">copy_mut_prob</font>;
-</pre>
-
-<p>
-Remember that a header file can be included inside of many other files so
-that each of those know how to interact with this class.  Well, the reason
-for this section of the code file is to make it clear to the compiler that
-this will be the main location to store the static variables associated with
-this class.  Normally variables setup when an object is created; since there
-is no object, we must explicitly tell it to setup the variables.
-
-<p>
-After the long list of variable re-declarations, the next portion of the
-file is the <font color="#008800">Setup</font>() method.  Its body defines 
-an object of class <font color="#880000">cGenesis</font>, and then uses it to
-load all of the individual variables that make up cConfig.  Most of this
-method consists of lines in the form:
-
-<p>
-<pre>
-  <font color="#000088">event_filename</font>   = <font color="#000088">genesis</font>.<font color="#008800">ReadString</font>("EVENT_FILE", "events.cfg");
-  <font color="#000088">analyze_filename</font> = <font color="#000088">genesis</font>.<font color="#008800">ReadString</font>("ANALYZE_FILE", "analyze.cfg");
-  <font color="#000088">world_x</font>          = <font color="#000088">genesis</font>.<font color="#008800">ReadInt</font>("WORLD-X");
-  <font color="#000088">world_y</font>          = <font color="#000088">genesis</font>.<font color="#008800">ReadInt</font>("WORLD-Y");
-  <font color="#000088">point_mut_prob</font>   = <font color="#000088">genesis</font>.<font color="#008800">ReadFloat</font>("POINT_MUT_PROB");
-  <font color="#000088">copy_mut_prob</font>    = <font color="#000088">genesis</font>.<font color="#008800">ReadFloat</font>("COPY_MUT_PROB");
-</pre>
-
-<p>
-The final portion of the <tt>config.cc</tt> file consists of the method
-<font color="#008800">ProcessConfiguration</font>(), which handles
-the command line arguments entered by the user.  This will, perhaps, be the
-topic of another lesson.
-
-<h3>How to use the cConfig class</h3>
-
-<p>
-Now that we know how the cConfig class works, we need to be able to use
-it from the rest of avida whenever we need it.  This is very simple; to 
-call a method on a static class from anywhere, all you need to do is
-type the class name, a double colon ('::') and then the method name that
-you wish to call.
-
-For an example that we've already seen, remember that the body of all of the
-inject events contained the line:
-
-<p>
-<pre>
-  if (<font color="#000088">fname</font> == "START_CREATURE") <font color="#000088">fname</font> = <font color="#880000">cConfig</font>::<font color="#008800">GetStartCreature()</font>;
-</pre>
-
-<p>
-This line sets the inject organism filename to the one found in the cConfig
-class if the name was otherwise set to be "START_CREATURE".  To do this,
-we need to ask cConfig what the starting creature filename is.  Fortunately,
-that's an easy thing to do.
-
-<h3>Adding a Genesis Variable: A Checklist</h3>
-
-<p>
-We finally have all of the information of how a variable in the genesis
-file is loaded, stored, and accessed when needed.  However, this can be
-a lot to remember.  Below is a checklist of all of the locations in the
-source code that you would need to make a change when you want to perform
-such a programming feat.
-
-<p>
-<b>1. Add the variable to the private data of cConfig [in <tt>config.hh</tt>]</b> :
-This is the location that the variable is defined and stored over
-the course of an avida run.
-
-<p>
-<b>2. Add and accessor to the new data [<tt>config.hh</tt>]</b> : All variables must have a method that makes them accessible from the rest
-of the source code.
-
-<p>
-<b>3. Add a method to set a new value to the data [<tt>config.hh</tt>]</b> :
-This is optional.  If the new variable can ever change during a run, there
-must be a method in cConfig that causes that change.
-
-<p>
-<b>4. List the variable in the code file. [<tt>config.cc</tt>]</b> :
-All variables must be listed a second time at the top of <tt>config.cc</tt>
-so that the single instance of them is actually created.
-
-<p>
-<b>5. Load the variable in cConfig::Setup() [<tt>config.cc</tt>]</b> :
-This is where the value that is stored in the <tt>genesis</tt> configuration
-file initializes the variable you've just added to cConfig.
-Remember to provide a default value in case the user leaves it out.
-
-<p>
-<b>6. Use the variable wherever you need it!</b> :
-Your new variable is ready for you.  Use it wisely.
-
-<br><hr>
-Project hosted by:<br>
-<a href="http://sourceforge.net"><img src="http://sourceforge.net/sflogo.php?group_id=46761&type=2" width="125" height="37" border="0" alt="SourceForge.net"/></a>
-    
\ No newline at end of file

Modified: development/documentation/config.html
===================================================================
--- development/documentation/config.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/config.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
 <html>
 <head>
-  <title>The Avida Configuration File</title>
+  <title>Avida : The Avida Configuration File</title>
 </head>
 <body>
 
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
 <p><a href="index.html">Return to the Index</a></p>
 <hr />
 

Modified: development/documentation/cpu_tour.html
===================================================================
--- development/documentation/cpu_tour.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/cpu_tour.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,14 +1,18 @@
 <html>
 <head>
-	<title>A guided tour of the an ancestor and its hardware</title>
+	<title>Avida : A Guided Tour of an Ancestor and its Gardware</title>
 </head>
 <body>
 
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
 <p><a href="index.html">Return to the Index</a></p>
 <hr />
 
 <div align="center">
-<h1>A guided tour of an ancestor and its hardware</h1>
+<h1>A Guided Tour of an Ancestor and its Hardware</h1>
 </div>
 
 <p>

Modified: development/documentation/events.html
===================================================================
--- development/documentation/events.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/events.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
 <html>
 <head>
-  <title>The Events File</title>
+  <title>Avida : The Events File</title>
 </head>
 <body>
 
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
 <p><a href="index.html">Return to the Index</a></p>
 <hr />
 
@@ -49,7 +53,9 @@
 <p>
 The <code>event</code> is simply the name of the action that should be performed,
 and the <code>arguments</code> detail exactly how it should work when it is
-triggered.  Each action has its own arguments.
+triggered.  Each action has its own arguments. See the
+<a href="actions.html">List of Actions</a> for details about all of the
+available options.
 </p>
 
 <p>
@@ -57,19 +63,19 @@
 </p>
 <div style="margin-left: 10px">
   <p>
-  <code style="color: #0000AA">i pause</code>
+  <code style="color: #0000AA">i Inject</code>
   <br />
-  Pause avida as soon as the run first starts.
+  Inject an additional start creature immediately.
   </p>
 
   <p>
-  <code style="color: #0000AA">u 100:100 print_average_data</code>
+  <code style="color: #0000AA">u 100:100 PrintAverageData</code>
   <br />Print out all average measurements collected every one hundred updates,
   starting at update 100.
   </p>
 
   <p>
-  <code style="color: #0000AA">g 10000:10:20000 print_data dom_info.dat update,dom_fitness,dom_depth,dom_sequence</code>
+  <code style="color: #0000AA">g 10000:10:20000 PrintData dom_info.dat update,dom_fitness,dom_depth,dom_sequence</code>
   <br />Between generations 10,000 and 20,000, append the specified information to
   the file <kbd style="color: #000088">dom_info.dat</kbd> every ten generations.  Specifically, the first
   column in the file would be update number, second is the fitness of
@@ -79,844 +85,6 @@
 </div>
 
 
-<p>&nbsp;</p>
-<h2>Types of Actions</h2>
-
-<p>
-There is a large library of actions available for scheduling as events.
-Below you will find a listing of the high level groupings of these
-actions, along with details sections for each them.
-</p>
-
-<dl>
-<dt><a href="#PrintActions">Print</a></dt>
-<dd>Print actions are the primary way of saving data from an Avida experiments.</dd>
-<dt><a href="#LandscapeActions">Landscape Analysis</a></dt>
-<dd>Actions that use data from the current state of Avida, process it and then output the results.</dd>
-<dt><a href="#PopulationActions">Population</a></dt>
-<dd>Population actions modify the state of the population, and will actually change the course of the run.</dd>
-<dt><a href="#EnvironmentActions">Environment</a></dt>
-<dd>Actions that allow user to change properties of the environment, including resources.</dd>
-<dt><a href="#SaveLoadActions">Save and Load</a></dt>
-<dd>Actions that allow for saving and loading large data sets, such as full populations.</dd>
-<dt><a href="#DriverActions">Driver</a></dt>
-<dd>Actions that allow user to control program execution, including experiment termination.</dd>
-</dl>
-
-
-<h3>Alphabetical Listing of Available Actions</h3>
-
-
-<h1>&lt;@DMB - todo&gt;</h1>
-
-<p>
-<table>
-  <tr>
-    <td>
-      <A HREF="#analyze_landscape">analyze_landscape</A><br>
-      <A HREF="#analyze_population">analyze_population</A><br>
-      <A HREF="#apocalypse">apocalypse</A><br>
-      <A HREF="#calc_consensus">calc_consensus</A><br>
-      <A HREF="#calc_landscape">calc_landscape</A><br>
-      <A HREF="#connect_cells">connect_cells</A><br>
-      <A HREF="#detail_parasite_pop">detail_parasite_pop</A>
-      <A HREF="#detail_pop">detail_pop</A> (<i>deprecated</i>)<br>
-      <A HREF="#disconnect_cells">disconnect_cells</A><br>
-      <A HREF="#dump_fitness_grid">dump_fitness_grid</A><br>
-      <A HREF="#dump_genotype_grid">dump_genotype_grid</A><br>
-      <A HREF="#dump_donor_grid">dump_task_grid</A><br>
-      <A HREF="#dump_donor_grid">dump_donor_grid</A><br>
-      <A HREF="#dump_receiver_grid">dump_receiver_grid</A><br>
-      <A HREF="#dump_historic_pop">dump_historic_pop</A> (<i>deprecated</i>)<br>
-      <A HREF="#dump_memory">dump_memory</A><br>
-      <A HREF="#dump_pop">dump_pop</A><br>
-      <A HREF="#echo">echo</A><br>
-      <A HREF="#exit">exit</A><br>
-      <A HREF="#exit_if_ave_lineage_label_larger">exit_if_ave_lineage_label_larger</A><br>
-      <A HREF="#exit_if_ave_lineage_label_smaller">exit_if_ave_lineage_label_smaller</A><br>
-      <A HREF="#exit_if_generation_greater_than">exit_if_generation_greater_than</A><br>
-      <A HREF="#exit_if_update_greater_than">exit_if_update_greater_than</A><br>
-      <A HREF="#genetic_distance_pop_dump">genetic_distance_pop_dump</A><br>
-      <A HREF="#hillclimb">hillclimb</A><br>
-      <A HREF="#hillclimb_neut">hillclimb_neut</A><br>
-      <A HREF="#hillclimb_rand">hillclimb_rand</A><br>
-      <A HREF="#inject">inject</A><br>
-      <A HREF="#inject_all">inject_all</A><br>
-      <A HREF="#inject_random">inject_random</A><br>
-      <A HREF="#inject_range">inject_range</A><br>
-      <A HREF="#inject_range_pair">inject_range_pair</A><br>
-      <A HREF="#inject_range_parasite">inject_range_parasite</A><br>
-      <A HREF="#inject_resource">inject_resource</A><br>
-    </td><td>
-      <A HREF="#inject_sequence">inject_sequence</A><br>
-      <A HREF="#kill_rectangle">kill_rectangle</A><br>
-      <A HREF="#load_clone">load_clone</A><br>
-      <A HREF="#load_dump_file">load_dump_file</A><br>
-      <A HREF="#load_population">load_population</A><br>
-      <A HREF="#mod_copy_mut">mod_copy_mut</A><br>
-      <A HREF="#mod_div_mut">mod_div_mut</A><br>
-      <A HREF="#mod_point_mut">mod_point_mut</A><br>
-      <A HREF="#pairtest_landscape">pairtest_landscape</A><br>
-      <A HREF="#parasite_debug">parasite_debug</A><br>
-      <A HREF="#predict_nu_landscape">predict_nu_landscape</A><br>
-      <A HREF="#predict_w_landscape">predict_w_landscape</A><br>
-      <A HREF="#print_average_data">print_average_data</A><br>
-      <A HREF="#print_count_data">print_count_data</A><br>
-      <A HREF="#print_data">print_data</A><br>
-      <A HREF="#print_depth_histogram">print_depth_histogram</A><br>
-      <A HREF="#print_detailed_fitness_data">print_detailed_fitness_data</A><br>
-      <A HREF="#print_divide_mut_data">print_divide_mut_data</A><br>
-      <A HREF="#print_dom">print_dom</A><br>
-      <A HREF="#print_dom_parasite">print_dom_parasite</A><br>
-      <A HREF="#print_dom_parasite_data">print_dom_parasite_data</A><br>
-      <A HREF="#print_dominant_data">print_dominant_data</A><br>
-      <A HREF="#print_error_data">print_error_data</A><br>
-      <A HREF="#print_genetic_distance_data">print_genetic_distance_data</A><br>
-      <A HREF="#print_genotype_abundance_histogram">print_genotype_abundance_histogram</A><br>
-      <A HREF="#print_genotype_map">print_genotype_map</A><br>
-      <A HREF="#print_genotypes">print_genotypes</A><br>
-      <A HREF="#print_instruction_abundance_histogram">print_instruction_abundance_histogram</A><br>
-      <A HREF="#print_instruction_data">print_instruction_data</A><br>
-      <A HREF="#print_lineage_counts">print_lineage_counts</A><br>
-    </td><td>
-      <A HREF="#print_lineage_totals">print_lineage_totals</A><br>
-      <A HREF="#print_mutation_data">print_mutation_data</A><br>
-      <A HREF="#print_mutation_rate_data">print_mutation_rate_data</A><br>
-      <A HREF="#print_number_phenotypes">print_number_phenotypes</A><br>
-      <A HREF="#print_resource_data">print_resource_data</A><br>
-      <A HREF="#print_species_abundance_histogram">print_species_abundance_histogram</A><br>
-      <A HREF="#print_stats_data">print_stats_data</A><br>
-      <A HREF="#print_tasks_data">print_tasks_data</A><br>
-      <A HREF="#print_tasks_exe_data">print_tasks_exe_data</A><br>
-      <A HREF="#print_threads">print_threads</A><br>
-      <A HREF="#print_time_data">print_time_data</A><br>
-      <A HREF="#print_totals_data">print_totals_data</A><br>
-      <A HREF="#print_tree_depths">print_tree_depths</A><br>
-      <A HREF="#print_variance_data">print_variance_data</A><br>
-      <A HREF="#print_viable_tasks_data">print_viable_tasks_data</A><br>
-      <A HREF="#random_landscape">random_landscape</A><br>
-      <A HREF="#rate_kill">rate_kill</A><br>
-      <A HREF="#sample_landscape">sample_landscape</A><br>
-      <A HREF="#save_clone">save_clone</A><br>
-      <A HREF="#save_population">save_population</A><br>
-      <A HREF="#serial_transfer">serial_transfer</A><br>
-      <A HREF="#set_copy_mut">set_copy_mut</A><br>
-      <A HREF="#set_point_mut">set_point_mut</A><br>
-      <A HREF="#set_resource">set_resource</A><br>
-      <A HREF="#set_reaction_value">set_reaction_value</A><br>
-      <A HREF="#set_reaction_value_mult">set_reaction_value_mult</A><br>
-      <A HREF="#set_reaction_inst">set_reaction_inst</A><br>
-      <A HREF="#sever_grid_col">sever_grid_col</A><br>
-      <A HREF="#task_snapshot">task_snapshot</A><br>
-      <A HREF="#test_dom">test_dom</A><br>
-      <A HREF="#test_size_change_robustness">test_size_change_robustness</A><br>
-      <A HREF="#test_threads">test_threads</A><br>
-      <A HREF="#zero_muts">zero_muts</A><br>
-    </td>
-  </tr>
-</table>
-
-
-<p>
-<h3><A NAME="Output">Output Events</A></h3>
-
-Output events are the primary way of saving data from an avida experiments.
-The main two types are <i>continuous output</i>, which append to a single file 
-every time the event is trigged, and <i>singular output</i>, which produce
-a single, complete file for each trigger.
-
-<p>
-<menu>
-
-<li><b><A NAME="print_genotypes">print_genotypes</A></b>
-    [<font color="#008800">data_fields("all")</font>]
-    [<font color="#008800">print_historic(0)</font>]
-    [<font color="#008800">filename("genotypes-&lt;update&gt;.dat")</font>]<br>
-    This command is used to print out information about all of the genotypes
-    in the population.  It replaces both "detail_pop" and "historic_dump" as
-    well as most of their variations.  The file output from here can be read
-    back into the analyze mode of Avida with the "LOAD" command.<br><br>
-
-    The <font color="#008800">data_fields</font> parameter indicates what
-    columns should be included in the file, which must be comma seperated.
-    Options are:
-    <i>all, id, parent_id, parent2_id (for sex), parent_dist, num_cpus,
-    total_cpus, length, merit, gest_time, fitness, update_born, update_dead,
-    depth, lineage, sequence.</i>
-    Use "all" (the default) if you want all of the other fields
-    included.<br><br>
-
-    The <font color="#008800">print_historic</font> parameter indicates how
-    many updates back in time should be included in this output.  For example,
-    "200" would indicate that any ancestor of the current population that died
-    out in the last 200 updates should also be printed. A "-1" in this field
-    indicates that all ancestors should be printed.<br><br>
-
-    The <font color="#008800">filename</font> parameter simply indicates what
-    you want to call the file.<br><br>
-
-    <i>Example</i>:<br>
-    &nbsp;&nbsp;<tt>u 1000:1000 print_genotypes id,parent_id,fitness 1000</tt><br>
-    This will print out the full population every 1000 updates, including all
-    genotypes that have died out since the last time it was printed.<br><br>
-
-    </li>
-
-
-  
-<li><b><A NAME="detail_pop">detail_pop</A></b> [<font color="#008800">filename</font>]<br>
-    <font color="#880000">NOTE</font>: This event is deprecated.
-    See <a href="#print_genotypes">print_genotypes</a> instead.<br>
-    Save the genotypes and lots of statistics about the population to the
-    file specified; if not filename is given, use the name
-    detail_pop.update#.  As with clones, the update number allows a single
-    event to produce many detail files.  The details are used to collect
-    crossection data about the population.  Ideally we will have a flexible
-    version of this soon where the user will be able to specify the
-    information that they are interested in saving.</li>
-<br>
-<li><b><A NAME="dump_historic_pop">dump_historic_pop</A></b> [<font color="#008800">filename</font>]<br>
-    <font color="#880000">NOTE</font>: This event is deprecated.
-    See <a href="#print_genotypes">print_genotypes</a> instead.<br>
-    This event is used to output all of the ancestors of the currently
-    living population to the file specified, of "historic_dump.update#".
-    It uses the same format as the "detail_pop" event.</li>
-<br>
-
-<li><b><A NAME="dump_genotype_grid">dump_genotype_pop</A></b> <br> 
-    Print out the grid of genotype IDs into idgrid.*.out", where '*' is replaced by the
-    number of the current update.
-<br>
-<li><b><A NAME="dump_task_grid">dump_task_grid</A></b> <br> 
-   Print out the grid of takss that organisms do. For each organism, tasks are first 
-   encoded as a binary string (e.g. 100000001 means that organism is doing NOT and EQU
-   and then reported as a base-10 number (257 in the example above). 
-<br>
-
-<li><b><A NAME="dump_donor_grid">dump_donor_pop</A></b> <br> 
-    Print out the grid of organisms who donated their merit into the  
-    "donor_grid.*.out", where '*' is replaced by the
-    number of the current update.
-<br>
-<li><b><A NAME="dump_receiver_grid">dump_donor_pop</A></b> <br> 
-    Print out the grid of organisms who received merit into the  
-    "receiver_grid.*.out", where '*' is replaced by the
-    number of the current update.
-<br>
-
-<li><b><A Name="detail_parasite_pop">detail_parasite_pop</A></b> [<font color="#008800">fname</font>]<br>
-Like dump_pop, but more detailed data is written out.
-<br><br>Parameters:<br><br>
-filename (string) default: "detail_pop.&lt;update&gt;"
-  The name of the file into which the population dump should be written.
-</li></ul>
-<br>
-
-<li><b><A Name="genetic_distance_pop_dump">genetic_distance_pop_dump</A></b> [<font color="#008800">creature_name</font>] [<font color="#008800">filename</font>] [<font color="#008800">save_genotype(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="load_clone">load_clone</A></b> [<font color="#008800">fname</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="load_dump_file">load_dump_file</A></b> [<font color="#008800">fname</font>] [<font color="#008800">update(-1)</font>]<br>
-Sets up a population based on a dump file such as written out by
-detail_pop. It is also possible to append a history file to the dump
-file, in order to preserve the history of a previous run.
-</li>
-<br>
-<li><b><A Name="load_population">load_population</A></b> [<font color="#008800">fname</font>]<br>
-Loads the full state of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
-  The name of the file to open.
-</li>
-<br>
-<li><b><A NAME="print_average_data">print_average_data</A></b> [<font color="#008800">filename("average.dat")</font>]<br>
-    A print_data shortcut that will print all of the population averages to
-    the file "average.dat".</li>
-<br>
-<li><b><A NAME="print_count_data">print_count_data</A></b> [<font color="#008800">filename("count.dat")</font>]<br>
-    A print_data shortcut that will print all of the statistics the keep
-    track of counts (such as the number of organisms in the population or
-    the number of instructions executed) to the file "count.dat".</li>
-<br>
-<li><b><A NAME="print_data">print_data</A></b> [<font color="#008800">filename</font>] [<font color="#008800">column list</font>]<br>
-    Append to the file specified (continuous output), the data given in the
-    column list.  The column list needs to be a comma-seperated list of
-    keywords representing the data types.  Many possible data types can be
-    output; click <a href="print_data.html">here</a> for the complete list.
-    See the last example above to see how this event can be put into use.
-    Note that this event will even create a detailed column legend at the top
-    of your file so you don't need to seperately keep track of what the
-    columns mean.</li>
-<br>
-<li><b><A Name="print_depth_histogram">print_depth_histogram</A></b> [<font color="#008800">filename("depth_histogram.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_detailed_fitness_data">print_detailed_fitness_data</A></b> [<font color="#008800">save_max_f_genotype(0)</font>] [<font color="#008800">print_fitness_histo(0)</font>] [<font color="#008800">hist_fmax(1)</font>] [<font color="#008800">hist_fstep(0.1)</font>] [<font color="#008800">filename("fitness.dat")</font>] [<font color="#008800">filename2("fitness_histos.dat")</font>] [<font color="#008800">filename3("fitness_histos_testCPU.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="print_divide_mut_data">print_divide_mut_data</A></b> [<font color="#008800">filename</font>]<br>
-    Output (regular and log) statistics about individual, per site,
-    rates divide mutation rates (aver, stdev, skew, cur) to divide_mut.dat.<br>
-    Use with multiple divide instuction set.</li>
-<br>
-<li><b><A NAME="print_dominant_data">print_dominant_data</A></b> [<font color="#008800">filename("dominant.dat")</font>]<br>
-    A print_data shortcut that will print all of the statistics relating
-    to the dominant genotype to the file "dominant.dat".</li>
-<br>
-<li><b><A NAME="print_dom">print_dom</A></b> [<font color="#008800">filename</font>]<br>
-    Print the dominant organism's genome (and lots of information about it)
-    into the file specified.  If no filename is given, just use the genotypes
-    assigned name.</li>
-<br>
-<li><b><A Name="print_dom_parasite">print_dom_parasite</A></b> [<font color="#008800">in_filename</font>]<br>
-Write the currently dominant injected genotype to disk.
-
-<br><br>Parameters:<br><br>
-filename (string)
-  The name under which the genotype should be saved. If no
-  filename is given, the genotype is saved into the directory
-  genebank, under the name that the genebank has associated with
-  this genotype.
-</li>
-<br>
-<li><b><A NAME="print_dom_parasite_data">print_dom_parasite_data</A></b> [<font color="#008800">filename</font>]<br>
-    Print various quantites related to the dominant parasite to file
-    "parasite.dat"
-    </li>
-<br>
-<li><b><A NAME="print_error_data">print_error_data</A></b> [<font color="#008800">filename</font>]<br>
-    A print_data shortcut that will print all of the standard errors of the
-    population statistics to the file "error.dat".</li>
-<br>
-<li><b><A Name="print_genetic_distance_data">print_genetic_distance_data</A></b> [<font color="#008800">creature_name</font>] [<font color="#008800">filename("genetic_distance.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_genotype_abundance_histogram">print_genotype_abundance_histogram</A></b> [<font color="#008800">filename("genotype_abundance_histogram.dat")</font>]<br>
-Writes out a genotype abundance histogram.
-
-<br><br>Parameters:<br><br>
-filename (string) default: genotype_abundance_histogram.dat
-  The name of the file into which the histogram is written.
-</li>
-<br>
-<li><b><A NAME="print_genotype_map">print_genotype_map</A></b> [<font color="#008800">filename("genotype_map.m")</font>]<br>
-    This event is used to ouput a map of the gentype IDs for the
-    population grid to a file that is suitable to be read into Matlab.
-    Default file name: genotype_map.m </li> 
-<br>
-<li><b><A Name="print_instruction_abundance_histogram">print_instruction_abundance_histogram</A></b> [<font color="#008800">filename("instruction_histogram.dat")</font>]<br>
-Appends a line containing the bulk count (abundance) of
-each instruction in the population onto a file.
-
-<br><br>Parameters:<br><br>
-filename (string) default: "instruction_histogram.dat"
-
-</li>
-<br>
-<li><b><A Name="print_instruction_data">print_instruction_data</A></b> [<font color="#008800">fname("instruction.dat")</font>]<br>
-of the by-organisms counts of what instructions they _successfully_
-beteween birth and divide. Prior to their first divide, organisms
-values for their parents.
-</li>
-<br>
-<li><b><A Name="print_lineage_counts">print_lineage_counts</A></b> [<font color="#008800">fname("lineage_counts.dat")</font>] [<font color="#008800">verbose(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="print_lineage_totals">print_lineage_totals</A></b> [<font color="#008800">fname("lineage_totals.dat")</font>] [<font color="#008800">verbose(1)</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="print_mutation_data">print_mutation_data</A></b> [<font color="#008800">filename("mutation.dat")</font>]<br>
-    Prints mutation information to file "mutation.dat"</li>
-<br>
-<li><b><A NAME="print_mutation_rate_data">print_mutation_rate_data</A></b> [<font color="#008800">filename("mutation_rates.dat")</font>]<br>
-    Output (regular and log) statistics about individual copy
-    mutation rates (aver, stdev, skew, cur) to "mutation_rates.dat".<br>
-    Useful only when mutation rate is set per organism.</li>
-<br>
-<li><b><A Name="print_number_phenotypes">print_number_phenotypes</A></b> [<font color="#008800">fname("phenotype_count.dat")</font>]<br>
-file with number of phenotypes based on tasks executed
-this update.  Executing a task any numbers of times is considered
-same as executing it once. 
-</li>
-<br>
-<li><b><A NAME="print_resource_data">print_resource_data</A></b> [<font color="#008800">filename("resource.dat")</font>]<br>
-    Print the current counts of each resource available to the population
-    to the file "resource.dat".  This uses the environment configuration to
-    determine what resources are in use.  Also creates seperate files
-    "resource_<i>resource_name</i>.m" (in a format that is designed to
-    be read into Matlab) for each spatial resource.</li>
-<br>
-<li><b><A Name="print_species_abundance_histogram">print_species_abundance_histogram</A></b> [<font color="#008800">filename("species_abundance_histogram.dat")</font>]<br>
-Writes out a species abundance histogram.
-
-<br><br>Parameters:<br><br>
-filename (string) default: species_abundance_histogram.dat
-  The name of the file into which the histogram is written.
-</li>
-<br>
-<li><b><A NAME="print_stats_data">print_stats_data</A></b> [<font color="#008800">filename</font>]<br>
-    A print_data shortcut that will print all of the miscellanous population
-    statistics to the file "stats.dat".</li>
-<br>
-<li><b><A NAME="print_tasks_data">print_tasks_data</A></b> [<font color="#008800">filename("tasks.dat")</font>]<br>
-    Print the number of organisms that are able to perform each task to the
-    file "tasks.dat".  This uses the environment configuration to determine
-    what tasks are in use.</li>
-<br>
-<li><b><A NAME="print_tasks_exe_data">print_tasks_exe_data</A></b> [<font color="#008800">filename("tasks_exe.dat")</font>]<br>
-    Print number of times the particular task has been executed this update 
-    to file "tasks_exe.dat"</li>
-<br>
-<li><b><A Name="print_threads">print_threads</A></b><br>
-
-</li>
-<br>
-<li><b><A NAME="print_time_data">print_time_data</A></b> [<font color="#008800">filename("time.dat")</font>]<br>
-    A print_data shortcut that will print all of the timing related
-    statistics to the file "time.dat".</li>
-<br>
-<li><b><A NAME="print_totals_data">print_totals_data</A></b> [<font color="#008800">filename("totals.dat")</font>]<br>
-    A print_data shortcut that will print the same information as the
-    previous event, but the counts will be the totals for the entire
-    length of the run (for example, the total number of organisms ever) to
-    the file "totals.dat".</li>
-<br>
-<li><b><A Name="print_tree_depths">print_tree_depths</A></b> [<font color="#008800">filename</font>]<br>
-Reconstruction of phylogenetic trees.
-</li>
-<br>
-<li><b><A NAME="print_variance_data">print_variance_data</A></b> [<font color="#008800">filename("variance.dat")</font>]<br>
-    A print_data shortcut that will print all of the veriances of the
-    population statistics to the file "variance.dat".</li>
-<br>
-<li><b><A Name="print_viable_tasks_data">print_viable_tasks_data</A></b> [<font color="#008800">filename("viable_tasks.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="save_clone">save_clone</A></b> [<font color="#008800">filename</font>]<br>
-    Save a clone of this organism to the file specified; if no filename is
-    given, use the name clone.update#.  The update number allows regular
-    clones with distinct filenames to be saved with the same periodic event.
-    Running "avida -l filename" will start an avida population with the
-    saved clone.  Note that a clone only consists of the genomes in
-    the population, and their current state is lost, so the run may not
-    proceed identically as to if it had continued as it was going.</li>
-<br>
-<li><b><A Name="save_population">save_population</A></b> [<font color="#008800">fname</font>]<br>
-Saves the full state of the population.
-
-<br><br>Parameters:<br><br>
-filename (string) default: save_pop.&lt;update&gt;
-  The name of the file into which the population should
-  be saved.
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Analysis">Analysis Events</A></h3>
-
-<p>
-Analysis events use data from the current state of avida, process it
-(sometimes quite heavily) and then output the results.  These are slowly
-migrating over to the analysis mode of avida (see the analysis documentation
-for more information).
-
-<p>
-<menu>
-<li><b><A Name="analyze_landscape">analyze_landscape</A></b> [<font color="#008800">sample_size(1000)</font>] [<font color="#008800">min_found(0)</font>] [<font color="#008800">max_sample_size(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="analyze_population">analyze_population</A></b> [<font color="#008800">sample_prob(1)</font>] [<font color="#008800">landscape(0)</font>] [<font color="#008800">save_genotype(0)</font>] [<font color="#008800">filename</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="calc_consensus">calc_consensus</A></b> [<font color="#008800">lines_saved(0)</font>]<br>
-Calculates the consensus sequence.
-
-<br><br>Parameters:<br><br>
-lines saved (integer) default: 0
-</li>
-<br>
-<li><b><A NAME="calc_landscape">calc_landscape</A></b> [<font color="#008800">distance(1)</font>]<br>
-    Do a landscape analysis of the dominant genotype in the population and
-    write the results to "landscape.dat".  This is a collection of 
-    statistics obtained from examining all possible mutations at the distance
-    specified.  The default distance is one.</li>
-<br>
-<li><b><A Name="hillclimb">hillclimb</A></b><br>
-Does a hill climb with the dominant genotype.
-</li>
-<br>
-<li><b><A Name="hillclimb_neut">hillclimb_neut</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="hillclimb_rand">hillclimb_rand</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="mod_copy_mut">mod_copy_mut</A></b> [<font color="#008800">cmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="mod_div_mut">mod_div_mut</A></b> [<font color="#008800">dmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="mod_point_mut">mod_point_mut</A></b> [<font color="#008800">pmut_inc</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="pairtest_landscape">pairtest_landscape</A></b> [<font color="#008800">sample_size(0)</font>]<br>
-If sample_size = 0, pairtest the full landscape.
-</li>
-<br>
-<li><b><A Name="parasite_debug">parasite_debug</A></b> [<font color="#008800">in_filename</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="predict_nu_landscape">predict_nu_landscape</A></b> [<font color="#008800">datafile("land-predict.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="predict_w_landscape">predict_w_landscape</A></b> [<font color="#008800">datafile("land-predict.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="random_landscape">random_landscape</A></b> [<font color="#008800">landscape_dist(1)</font>] [<font color="#008800">sample_size(0)</font>] [<font color="#008800">min_found(0)</font>] [<font color="#008800">max_sample_size(0)</font>] [<font color="#008800">print_if_found(false)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="sample_landscape">sample_landscape</A></b> [<font color="#008800">sample_size(0)</font>]<br>
-
-</li>
-<br>
-<li><b><A NAME="task_snapshot">task_snapshot</A></b> [<font color="#008800">filename</font>]<br>
-    Run all organisms in the population through test cpus and print out the
-    number of tasks each can perform.  The default filename is
-    "tasks_update#.dat".</li>
-</menu>
-
-<p>
-<h3><A NAME="Population">Population Events</A></h3>
-
-<p>
-Population events modify the state of the population, and will actually
-change the course of the run.  There are a wide variety of these.
-
-<p>
-<menu>
-<li><b><A NAME="apocalypse">apocalypse</A></b> [<font color="#008800">kill_prob(0.9)</font>]<br>
-    Using the specified probability, test each organism to see if it is killed
-    off.</li>
-<br>
-<li><b><A NAME="inject">inject</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">cell_id(0)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-    Inject a single organisms into the population.  Arguments must be
-    included from left to right; if all arguments are left out, the default
-    creature is the ancestral organism, and it will be injected into cell 0,
-    have an uninitialized merit, and be marked as liniage id 0.</li>
-<br>
-<li><b><A NAME="inject_all">inject_all</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-    Same as inject, but no cell_id is specified and the organism is placed
-    into <i>all</i> cells in the population.</li>
-<br>
-<li><b><A Name="inject_random">inject_random</A></b> [<font color="#008800">length</font>] [<font color="#008800">cell_id(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects a randomly generated genome into the population.
-
-<br><br>Parameters:<br><br>
-length (integer) [required]
-  Number of instructions in the randomly generated genome.
-<br><br>
-cell ID (integer) default: -1
-  The grid-point into which the genome should be placed.  Default is random.
-<br><br>
-merit (double) default: -1
-  The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
-  An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
-  A double value that randomly drifts over time.
-</li>
-<br>
-<li><b><A Name="inject_range">inject_range</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
-  The filename of the genotype to load. If this is left empty, or the keyword
-  "START_CREATURE" is given, than the genotype specified in the genesis
-  file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
-  First cell to inject into.
-<br><br>
-stop_cell (int)
-  First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
-  The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
-  An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
-  A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
-  inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_range_pair">inject_range_pair</A></b> [<font color="#008800">fname("START_CREATURE")</font>] [<font color="#008800">fname_parasite("organism.parasite")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>] [<font color="#008800">mem_space(2)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
-  The filename of the genotype to load. If this is left empty, or the keyword
-  "START_CREATURE" is given, than the genotype specified in the genesis
-  file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
-  First cell to inject into.
-<br><br>
-stop_cell (int)
-  First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
-  The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
-  An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
-  A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
-  inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_range_parasite">inject_range_parasite</A></b> [<font color="#008800">fname_parasite("organism.parasite")</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>] [<font color="#008800">mem_space(2)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-filename (string)
-  The filename of the genotype to load. If this is left empty, or the keyword
-  "START_CREATURE" is given, than the genotype specified in the genesis
-  file under "START_CREATURE" is used.
-<br><br>
-start_cell (int)
-  First cell to inject into.
-<br><br>
-stop_cell (int)
-  First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
-  The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
-  An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
-  A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
-  inject_range creature.gen 0 10
-
-Will inject 10 organisms into cells 0 through 9.
-</li>
-<br>
-<li><b><A Name="inject_sequence">inject_sequence</A></b> [<font color="#008800">seq</font>] [<font color="#008800">start_cell(0)</font>] [<font color="#008800">end_cell(-1)</font>] [<font color="#008800">merit(-1)</font>] [<font color="#008800">lineage_label(0)</font>] [<font color="#008800">neutral_metric(0)</font>]<br>
-Injects identical organisms into a range of cells of the population.
-
-<br><br>Parameters:<br><br>
-sequence (string)
-  The genome sequence for this organism.  This is a mandatory argument.
-<br><br>
-start_cell (int)
-  First cell to inject into.
-<br><br>
-stop_cell (int)
-  First cell *not* to inject into.
-<br><br>
-merit (double) default: -1
-  The initial merit of the organism. If set to -1, this is ignored.
-<br><br>
-lineage label (integer) default: 0
-  An integer that marks all descendants of this organism.
-<br><br>
-neutral metric (double) default: 0
-  A double value that randomly drifts over time.
-
-<br><br>Example:<br><br>
-  inject_range ckdfhgklsahnfsaggdsgajfg 0 10 100
-
-Will inject 10 organisms into cells 0 through 9 with a merit of 100.
-</li>
-<br>
-<li><b><A NAME="kill_rectangle">kill_rectangle</A></b> [<font color="#008800">cell_X1(0)</font>] [<font color="#008800">cell_Y1(0)</font>] [<font color="#008800">cell_X2(0)</font>] [<font color="#008800">cell_Y2(0)</font>]<br>
-    Kill off all organisms in a rectangle defined by the points (X1, Y1) and 
-    (X2, Y2).</li>
-<br>
-<li><b><A Name="rate_kill">rate_kill</A></b> [<font color="#008800">kill_rate</font>]<br>
-Randomly removes a certain proportion of the population.
-In principle, this event does the same thing as the apocalypse event.
-However, instead of a probability, here one has to specify a rate. The
-rate has the same unit as fitness. So if the average fitness is 20000,
-than you remove 50% of the population on every update with a removal rate
-of 10000.
-
-<br><br>Parameters:<br><br>
-removal rate (double)
-  The rate at which organisms are removed.
-</li>
-<br>
-<li><b><A NAME="serieal_transfer">serieal_transfer</A></b> [<font color="#008800">transfer_size(1)</font>] [<font color="#008800">ignore_deads(1)</font>]<br>
-    Similar to apocalypse, but we specify the exact number of organisms to
-    keep alive after the event.
-    
-<br><br>Parameters:<br><br>
-transfer size (int) default: 1
-  The number of organisms to retain. If there are fewer living
-  organisms than the specified transfer size, then all living
-  organisms are retained.
-<br><br>
-ignore deads (int) default: 1
-  When set to 1, only living organisms are retained. Otherwise,
-  every type of organism can be retained.
-
-    </li>
-<br>
-<li><b><A Name="set_copy_mut">set_copy_mut</A></b> [<font color="#008800">cmut</font>] [<font color="#008800">start_cell(-1)</font>] [<font color="#008800">end_cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="set_point_mut">set_point_mut</A></b> [<font color="#008800">pmut</font>] [<font color="#008800">cell(-1)</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="zero_muts">zero_muts</A></b><br>
-This event will set all mutation rates to zero...
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Resource">Resource Events</A></h3>
-
-Events that allow user to change resources  and reaction parameters.
-
-<menu>
-<li><b><A NAME="inject_resource">inject_resource</A></b> [<font color="#008800">res_name</font>] 
-[<font color="#008800">res_count</font>] <br> 
-    Inject (add) a specified amount of a specified resource.  <b>res_name</b> must 
-    already exist as a resource in environment file.</li>
-<br>
-<li><b><A NAME="set_resource">set_resource</A></b> [<font color="#008800">res_name</font>] 
-[<font color="#008800">res_count</font>] <br> 
-    Set the resource amount to a specific level.  <b>res_name</b> must 
-    already exist as a resource in environment file.</li>
-<br>
-<li><b><A NAME="set_reaction_value">set_reaction_value</A></b> [<font color="#008800">reaction_name</font>] 
-[<font color="#008800">reaction_value</font>] <br> 
-    Set the reaction value ("bonus") to a specific level. <b>reaction_name</b> must already 
-    exist in the environment file. <b>reaction_value</b> can be negative. 
-<br>
-<li><b><A NAME="set_reaction_value_mult">set_reaction_value_mult</A></b> [<font color="#008800">reaction_name</font>] [<font color="#008800">value_mult</font>] <br> 
-    Multiply the reaction value ("bonus") by the <b>value_mult</b>. <b>reaction_name</b> must 
-    already exist in the environment file. <b>value_mult</b> can be negative. 
-<br>
-<li><b><A NAME="set_reaction_inst">set_reaction_inst</A></b> [<font color="#008800">reaction_name</font>] 
-    [<font color="#008800">inst_name</font>] <br> 
-    Set the instruction triggered by this reaction. <b>reaction_name</b> must
-    already exist in the environment file. <b>inst_name</b> must be in the instruction set. 
-</menu>
-
-<p>
-<h3><A NAME="Miscellaneous">Misc. Events</A></h3>
-
-These are other events that didn't seem to fit better anywhere else...
-
-<p>
-<menu>
-<li><b><A Name="connect_cells">connect_cells</A></b> [<font color="#008800">cellA_x</font>] [<font color="#008800">cellA_y</font>] [<font color="#008800">cellB_x</font>] [<font color="#008800">cellB_y</font>]<br>
-Connects a pair of specified cells.
-Arguments:
- cellA_x, cellA_y, cellB_x, cellB_y
-</li>
-<br>
-<li><b><A NAME="echo">echo</A></b> [<font color="#008800">message</font>]<br>
-    Print the message included when the event is triggered.  This is mostly
-    used for debugging.</li>
-<br>
-<li><b><A Name="sever_grid_col">sever_grid_col</A></b> [<font color="#008800">col_id(-1)</font>] [<font color="#008800">min_row(0)</font>] [<font color="#008800">max_row(-1)</font>]<br>
-Remove the connections between cells along a column in an avida grid.
-Arguments:
- col_id:  indicats the number of columns to the left of the cut.
-          default (or -1) = cut population in half
- min_row: First row to start cutting from
-          default = 0
- max_row: Last row to cut to
-          default (or -1) = last row in population.
-</li>
-<br>
-<li><b><A Name="test_dom">test_dom</A></b><br>
-
-</li>
-<br>
-<li><b><A Name="test_size_change_robustness">test_size_change_robustness</A></b> [<font color="#008800">num_trials(100)</font>] [<font color="#008800">filename("size_change.dat")</font>]<br>
-
-</li>
-<br>
-<li><b><A Name="test_threads">test_threads</A></b><br>
-
-</li>
-</menu>
-
-<p>
-<h3><A NAME="Exit">Exit Events</A></h3>
-
-These are events that cause the program to end.
-
-<menu>
-<br>
-<li><b><A NAME="exit">exit</A></b><br>
-    Quit the current run at given timing event.</li>
-<br>
- <li><b><A NAME="exit_if_ave_lineage_label_larger">exit_if_ave_lineage_label_larger</A></b> [<font color="#008800">lineage_label_crit_value</font>]<br>
-     Halts the avida run if the current average lineage label is larger
-     than <b>lineage_label_crit_value</b>.</li>
-<br>
- <li><b><A NAME="exit_if_ave_lineage_label_smaller">exit_if_ave_lineage_label_smaller</A></b> [<font color="#008800">lineage_label_crit_value</font>]<br>
-     Halts the avida run if the current average lineage label is smaller
-     than <b>lineage_label_crit_value</b>.</li>
-<br>
-<li><b><A NAME="exit_if_generation_greater_than">exit_if_generation_greater_than</A></b> [<font color="#008800">max_generation</font>]<br>
-    Ends the Avida run when the current generation exceeds <b>max_generation</b>.</li>
-<br>
-<li><b><A NAME="exit_if_update_greater_than">exit_if_update_greater_than</A></b> [<font color="#008800">max_update</font>]<br>
-    Ends the Avida run when the current generation exceeds <b>max_update</b>.</li>
-</menu>
-
-
-<h1>&lt;/@DMB - todo&gt;</h1>
-
-
-
 <hr />
 <p><a href="index.html">Return to the Index</a></p>
 

Modified: development/documentation/index.html
===================================================================
--- development/documentation/index.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/index.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,6 +1,6 @@
 <html>
 <head>
-	<title>Index of Avida Documentation</title>
+	<title>Avida : Index of Documentation</title>
 </head>
 <body>
 
@@ -20,8 +20,8 @@
 <h2>General Information</h2>
 
 <p>
-<a href="cpu_tour.html">A Guided Tour of an Avida Ancestor and its Hardware</a>
-<br /><a href="structure.html">The Directory and File Structure of Avida</a>
+<a href="cpu_tour.html">A Guided Tour of an Ancestor and its Hardware</a>
+<br /><a href="structure.html">The Directory and File Structure</a>
 <br /><a href="svn.html">Using Subversion to Obtain Avida</a>
 </p>
 
@@ -31,10 +31,11 @@
 <p>
 <a href="config.html">Setting up the Avida Configuration File</a>
 <br /><a href="inst_set.html">Setting up the Instruction Set</a>
-<br /><a href="events.html">Guidelines to setting Events</a>
+<br /><a href="events.html">Guidelines to setting up the Events File</a>
 <br /><a href="environment.html">Guidelines to setting up Environments</a>
-<br /><a href="analyze_mode.html">Guidelines to Analyze Mode</a>
+<br /><a href="analyze.html">Guidelines to Analyze Mode</a>
 <br /><a href="analyze_samples.html">Sample Analyze Programs</a>
+<br /><a href="actions.html">List of Actions</a>
 </p>
 
 
@@ -47,11 +48,13 @@
 <br /><a href="code_life_cycle.html">Guide to an Avidan Life Cycle</a>
 </p>
 <p>
-<a href="code_genesis.html">Implementing New Genesis Settings</a>
-<br /><a href="code_events.html">Implementing New Events</a>
-<br /><a href="code_instruction.html">Implementing New Instructions</a>
+<a href="code_instruction.html">Implementing New Instructions</a>
 <br /><a href="code_environment.html">The Environment Source Code</a>
 </p>
 
+<div>
+Revised 2006-08-28 DMB
+</div>
+
 </body>
 </html>

Modified: development/documentation/notes/release-milestones.txt
===================================================================
--- development/documentation/notes/release-milestones.txt	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/notes/release-milestones.txt	2006-08-28 14:52:19 UTC (rev 902)
@@ -54,8 +54,8 @@
 * Consistency test support
 * Framework for unit testing
 * Move UnitTest functions from classes to namespaces
-- Update documentation
-- Code release cleanup
++ Update documentation
++ Code release cleanup
 
 
 Version 2.6 - stable      - Target: < Mid 2007     - Status: Pending version 2.5 completion

Modified: development/documentation/structure.html
===================================================================
--- development/documentation/structure.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/structure.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,14 +1,18 @@
 <html>
 <head>
-	<title>Directory and File Structure of Avida</title>
+	<title>Avida : Directory and File Structure</title>
 </head>
 <body>
 
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
 <p><a href="index.html">Return to the Index</a></p>
 <hr />
 
 <div align="center">
-<h1>Directory and File Structure of Avida</h1>
+<h1>Directory and File Structure</h1>
 </div>
 
 <p>

Modified: development/documentation/svn.html
===================================================================
--- development/documentation/svn.html	2006-08-27 02:57:12 UTC (rev 901)
+++ development/documentation/svn.html	2006-08-28 14:52:19 UTC (rev 902)
@@ -1,9 +1,13 @@
 <html>
 <head>
-	<title>Using Subversion to Obtain Avida</title>
+	<title>Avida : Using Subversion to Obtain Avida</title>
 </head>
 <body>
 
+<div style="float: right">
+Revised 2006-08-28 DMB
+</div>
+
 <p><a href="index.html">Return to the Index</a></p>
 <hr />
 

Modified: development/source/actions/LandscapeActions.cc
===================================================================
--- development/source/actions/LandscapeActions.cc	2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/LandscapeActions.cc	2006-08-28 14:52:19 UTC (rev 902)
@@ -1055,7 +1055,6 @@
   action_lib->Register<cActionHillClimb>("HillClimbNeut");
   action_lib->Register<cActionHillClimb>("HillClimbRand");
   action_lib->Register<cActionPairTestLandscape>("PairTestLandscape");
-  action_lib->Register<cActionAnalyzeLandscape>("AnalyzePopulation");
 
   action_lib->Register<cActionMutationalNeighborhood>("MutationalNeighborhood");
   

Modified: development/source/actions/PopulationActions.cc
===================================================================
--- development/source/actions/PopulationActions.cc	2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/PopulationActions.cc	2006-08-28 14:52:19 UTC (rev 902)
@@ -261,7 +261,7 @@
     if (m_cell_end == -1) m_cell_end = m_cell_start + 1;
   }
   
-  static const cString GetDescription() { return "Arguments: [string fname=\"START_CREATURE\"] [int cell_start=0] [int cell_end=-1] [double merit=-1] [int lineage_label=0] [double neutral_metric=0]"; }
+  static const cString GetDescription() { return "Arguments: <string sequence> [int cell_start=0] [int cell_end=-1] [double merit=-1] [int lineage_label=0] [double neutral_metric=0]"; }
   
   void Process(cAvidaContext& ctx)
   {
@@ -1008,7 +1008,7 @@
     if (largs.GetSize()) m_max = largs.PopWord().AsInt();
   }
   
-  static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_col=0] [int max_col=-1]"; }
+  static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_row=0] [int max_row=-1]"; }
   
   void Process(cAvidaContext& ctx)
   {
@@ -1070,7 +1070,7 @@
     if (largs.GetSize()) m_max = largs.PopWord().AsInt();
   }
   
-  static const cString GetDescription() { return "Arguments: [int col_id=-1] [int min_col=0] [int max_col=-1]"; }
+  static const cString GetDescription() { return "Arguments: [int row_id=-1] [int min_col=0] [int max_col=-1]"; }
   
   void Process(cAvidaContext& ctx)
   {
@@ -1079,7 +1079,7 @@
     if (m_id == -1) m_id = world_y / 2;
     if (m_max == -1) m_max = world_x;
     if (m_id < 0 || m_id >= world_y) {
-      cString err = cStringUtil::Stringf("Row ID %d out of range for JoinGridCol", m_id);
+      cString err = cStringUtil::Stringf("Row ID %d out of range for JoinGridRow", m_id);
       m_world->GetDriver().RaiseException(err);
       return;
     }

Modified: development/source/actions/PrintActions.cc
===================================================================
--- development/source/actions/PrintActions.cc	2006-08-27 02:57:12 UTC (rev 901)
+++ development/source/actions/PrintActions.cc	2006-08-28 14:52:19 UTC (rev 902)
@@ -1403,6 +1403,7 @@
   // Population Out Files
   action_lib->Register<cActionPrintPhenotypeData>("PrintPhenotypeData");
   action_lib->Register<cActionPrintPhenotypeStatus>("PrintPhenotypeStatus");
+  action_lib->Register<cActionPrintDemeStats>("PrintDemeStats");
   
   // Processed Data
   action_lib->Register<cActionPrintData>("PrintData");
@@ -1416,25 +1417,25 @@
   action_lib->Register<cActionPrintDominantGenotype>("PrintDominantGenotype");
   action_lib->Register<cActionPrintDominantParasiteGenotype>("PrintDominantParasiteGenotype");
   action_lib->Register<cActionPrintDetailedFitnessData>("PrintDetailedFitnessData");
-  action_lib->Register<cActionPrintGeneticDistanceData>("PrintGenericDistanceData");
+  action_lib->Register<cActionPrintGeneticDistanceData>("PrintGeneticDistanceData");
   action_lib->Register<cActionPrintPopulationDistanceData>("PrintPopulationDistanceData");
   action_lib->Register<cActionPrintDebug>("PrintDebug");
 
   action_lib->Register<cActionPrintGenotypes>("PrintGenotypes");
-  action_lib->Register<cActionDumpMemory>("DumpMemory");
 
   action_lib->Register<cActionTestDominant>("TestDominant");
   action_lib->Register<cActionPrintTaskSnapshot>("PrintTaskSnapshot");
   action_lib->Register<cActionPrintViableTasksData>("PrintViableTasksData");
   action_lib->Register<cActionPrintTreeDepths>("PrintTreeDepths");
   
+  // Grid Information Dumps
+  action_lib->Register<cActionDumpMemory>("DumpMemory");
   action_lib->Register<cActionDumpFitnessGrid>("DumpFitnessGrid");
   action_lib->Register<cActionDumpGenotypeIDGrid>("DumpGenotypeIDGrid");
   action_lib->Register<cActionDumpTaskGrid>("DumpTaskGrid");
   action_lib->Register<cActionDumpDonorGrid>("DumpDonorGrid");
   action_lib->Register<cActionDumpReceiverGrid>("DumpReceiverGrid");
 
-  action_lib->Register<cActionPrintDemeStats>("PrintDemeStats");
 
   // @DMB - The following actions are DEPRECATED aliases - These will be removed in 2.7.
   action_lib->Register<cActionPrintAverageData>("print_average_data");
@@ -1457,6 +1458,7 @@
   
   action_lib->Register<cActionPrintPhenotypeData>("print_number_phenotypes");
   action_lib->Register<cActionPrintPhenotypeStatus>("print_phenotype_status");
+  action_lib->Register<cActionPrintDemeStats>("print_deme_stats");
   
   action_lib->Register<cActionPrintData>("print_data");
   action_lib->Register<cActionPrintInstructionAbundanceHistogram>("print_instruction_abundance_histogram");
@@ -1473,18 +1475,16 @@
   action_lib->Register<cActionPrintPopulationDistanceData>("genetic_distance_pop_dump");
   
   action_lib->Register<cActionPrintGenotypes>("print_genotypes");
-  action_lib->Register<cActionDumpMemory>("dump_memory");
 
   action_lib->Register<cActionTestDominant>("test_dom");
   action_lib->Register<cActionPrintTaskSnapshot>("task_snapshot");
   action_lib->Register<cActionPrintViableTasksData>("print_viable_tasks_data");
   action_lib->Register<cActionPrintTreeDepths>("print_tree_depths");
 
+  action_lib->Register<cActionDumpMemory>("dump_memory");
   action_lib->Register<cActionDumpFitnessGrid>("dump_fitness_grid");
   action_lib->Register<cActionDumpGenotypeIDGrid>("dump_enotype_grid");
   action_lib->Register<cActionDumpTaskGrid>("dump_task_grid");
   action_lib->Register<cActionDumpDonorGrid>("dump_donor_grid");
   action_lib->Register<cActionDumpReceiverGrid>("dump_receiver_grid");
-
-  action_lib->Register<cActionPrintDemeStats>("print_deme_stats");
 }




More information about the Avida-cvs mailing list