[Avida-SVN] r1872 - branches/energy_dev/source/main

beckma24 at myxo.css.msu.edu beckma24 at myxo.css.msu.edu
Tue Jul 31 06:31:28 PDT 2007


Author: beckma24
Date: 2007-07-31 09:31:28 -0400 (Tue, 31 Jul 2007)
New Revision: 1872

Modified:
   branches/energy_dev/source/main/cPopulation.cc
   branches/energy_dev/source/main/cResourceCount.h
Log:
Checkpoint: pre relative cell IDs in deme-level resources

Modified: branches/energy_dev/source/main/cPopulation.cc
===================================================================
--- branches/energy_dev/source/main/cPopulation.cc	2007-07-31 00:17:09 UTC (rev 1871)
+++ branches/energy_dev/source/main/cPopulation.cc	2007-07-31 13:31:28 UTC (rev 1872)
@@ -48,6 +48,7 @@
 #include "cPopulationCell.h"
 #include "cProbSchedule.h"
 #include "cResource.h"
+#include "cResourceCount.h"
 #include "cSaleItem.h"
 #include "cSpecies.h"
 #include "cStats.h"
@@ -195,7 +196,7 @@
   for(int i = 0; i < GetNumDemes(); i++) {
     cResourceCount tmp_deme_res_count(num_deme_res);
     GetDeme(i).GetDemeResourceCount() = tmp_deme_res_count;
-    //TODO: make sure grid is the right grid
+    //TODO: make sure grid is the right grid/size
     GetDeme(i).GetDemeResourceCount().ResizeSpatialGrids(world_x, world_y);
   }
 
@@ -229,8 +230,7 @@
                                                 res->GetOutflowX2(), res->GetOutflowY1(), 
                                                 res->GetOutflowY2(), res->GetCellListPtr(),
                                                 world->GetVerbosity() );
-        // TODO: BB how should I keep stats on deme resources
-//        m_world->GetStats().SetResourceName(deme_res_index, res->GetName());
+        // could add deme resources to global resource stats here
       }
     } else {
       cerr<< "ERROR: Resource \"" << res->GetName() <<"\"is not a global or deme resource.  Exit";
@@ -1469,6 +1469,7 @@
   cDataFile & df_donor = m_world->GetDataFile("deme_donor.dat");
   cDataFile & df_receiver = m_world->GetDataFile("deme_receiver.dat");
   cDataFile & df_mut_rates = m_world->GetDataFile("deme_mut_rates.dat");
+  cDataFile & df_resources = m_world->GetDataFile("deme_resources.dat");
   
   df_fit.WriteComment("Average fitnesses for each deme in the population");
   df_life_fit.WriteComment("Average life fitnesses for each deme in the population");
@@ -1478,6 +1479,7 @@
   df_donor.WriteComment("Num orgs doing doing a donate for each deme in population");
   df_receiver.WriteComment("Num orgs doing receiving a donate for each deme in population");
   df_mut_rates.WriteComment("Average mutation rates for organisms in each deme");
+  df_resources.WriteComment("Avida deme resource data");
   
   df_fit.WriteTimeStamp();
   df_life_fit.WriteTimeStamp();
@@ -1487,6 +1489,7 @@
   df_donor.WriteTimeStamp();
   df_receiver.WriteTimeStamp();
   df_mut_rates.WriteTimeStamp();
+  df_resources.WriteTimeStamp();
   
   df_fit.Write(stats.GetUpdate(), "update");
   df_life_fit.Write(stats.GetUpdate(), "update");
@@ -1496,6 +1499,7 @@
   df_donor.Write(stats.GetUpdate(), "update");
   df_receiver.Write(stats.GetUpdate(), "update");
   df_mut_rates.Write(stats.GetUpdate(), "update");
+  df_resources.Write(stats.GetUpdate(), "update");
   
   const int num_inst = m_world->GetNumInstructions();
   const int num_task = environment.GetNumTasks();
@@ -1571,6 +1575,13 @@
       df_inst.Write((int) single_deme_inst[j].Sum(), comment);
     }
     df_inst.Endl();
+    
+    cResourceCount res = GetDeme(deme_id).GetDemeResourceCount();
+    for(int j = 0; j < res.GetSize(); j++) {
+      //comment.Set(cStringUtil::Stringf("Deme %d Resources %d", deme_id, res.GetResName(j)));
+      const char * tmp = res.GetResName(j);
+      df_resources.Write(res.Get(j), cStringUtil::Stringf("Deme %d Resources %s", deme_id, tmp)); //comment);
+    }
   } 
   
   df_mut_rates.Write(total_mut_rate.Ave(), "Average deme mutation rate averaged across Demes.");
@@ -1583,6 +1594,7 @@
   df_donor.Endl();
   df_receiver.Endl();
   df_mut_rates.Endl();
+  df_resources.Endl();
 }
 
 

Modified: branches/energy_dev/source/main/cResourceCount.h
===================================================================
--- branches/energy_dev/source/main/cResourceCount.h	2007-07-31 00:17:09 UTC (rev 1871)
+++ branches/energy_dev/source/main/cResourceCount.h	2007-07-31 13:31:28 UTC (rev 1872)
@@ -105,6 +105,7 @@
   void ResizeSpatialGrids(int in_x, int in_y);
   cSpatialResCount GetSpatialResource(int id) { return spatial_resource_count[id]; }
   void ReinitializeResources();
+  cString GetResName(int id) { return resource_name[id]; }
 };
 
 




More information about the Avida-cvs mailing list