[cig-commits] [commit] master: Move header output into QuakeLib (faef150)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed Oct 8 17:05:53 PDT 2014


Repository : https://github.com/geodynamics/vc

On branch  : master
Link       : https://github.com/geodynamics/vc/compare/23464fca3efa2b6ad7ee0ce8f60c225b18b49741...e4325192ad1118379f46ba66899cb98143d09e04

>---------------------------------------------------------------

commit faef150f815ac39ae539a73f1dfcef64bff6bbc0
Author: Eric Heien <emheien at ucdavis.edu>
Date:   Thu Sep 25 13:15:32 2014 -0700

    Move header output into QuakeLib


>---------------------------------------------------------------

faef150f815ac39ae539a73f1dfcef64bff6bbc0
 quakelib/src/QuakeLibIO.cpp | 55 ++++++++++++++++++++++++++++++++++++++-------
 quakelib/src/QuakeLibIO.h   |  4 +++-
 src/io/EventOutput.cpp      | 28 ++---------------------
 src/io/EventOutput.h        |  2 --
 4 files changed, 52 insertions(+), 37 deletions(-)

diff --git a/quakelib/src/QuakeLibIO.cpp b/quakelib/src/QuakeLibIO.cpp
index bcf9f38..765be10 100644
--- a/quakelib/src/QuakeLibIO.cpp
+++ b/quakelib/src/QuakeLibIO.cpp
@@ -2374,6 +2374,26 @@ void quakelib::ModelSweeps::get_field_descs(std::vector<quakelib::FieldDesc> &de
     descs.push_back(field_desc);
 }
 
+void quakelib::ModelSweeps::write_ascii_header(std::ostream &out_stream) {
+    std::vector<FieldDesc>                  descs;
+    std::vector<FieldDesc>::const_iterator  dit;
+    
+    // Write section header
+    ModelSweeps::get_field_descs(descs);
+    
+    for (dit=descs.begin(); dit!=descs.end(); ++dit) {
+        out_stream << "# " << dit->name << ": " << dit->details << "\n";
+    }
+    
+    out_stream << "# ";
+    
+    for (dit=descs.begin(); dit!=descs.end(); ++dit) {
+        out_stream << dit->name << " ";
+    }
+    
+    out_stream << "\n";
+}
+
 #define EVENT_TABLE_HDF5            "event_table"
 #define SWEEP_TABLE_HDF5            "event_sweep_table"
 
@@ -2501,7 +2521,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     FieldDesc       field_desc;
 
     field_desc.name = "event_number";
-    field_desc.details = "Event number";
+    field_desc.details = "Event number.";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _event_number);
     field_desc.type = H5T_NATIVE_UINT;
@@ -2510,7 +2530,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_year";
-    field_desc.details = "Event year";
+    field_desc.details = "Event year.";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _event_year);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2519,7 +2539,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_trigger";
-    field_desc.details = "Event trigger element ID";
+    field_desc.details = "Event trigger element ID.";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _event_trigger);
     field_desc.type = H5T_NATIVE_UINT;
@@ -2528,7 +2548,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_magnitude";
-    field_desc.details = "Event magnitude";
+    field_desc.details = "Event magnitude.";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _event_magnitude);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2537,7 +2557,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_shear_init";
-    field_desc.details = "Total initial shear stress of elements involved in event (Pascals)";
+    field_desc.details = "Total initial shear stress of elements involved in event (Pascals).";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _shear_stress_init);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2546,7 +2566,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_shear_final";
-    field_desc.details = "Total final shear stress of elements involved in event (Pascals)";
+    field_desc.details = "Total final shear stress of elements involved in event (Pascals).";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _shear_stress_final);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2555,7 +2575,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_normal_init";
-    field_desc.details = "Total initial normal stress of elements involved in event (Pascals)";
+    field_desc.details = "Total initial normal stress of elements involved in event (Pascals).";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _normal_stress_init);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2564,7 +2584,7 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 
     field_desc.name = "event_normal_final";
-    field_desc.details = "Total final normal stress of elements involved in event (Pascals)";
+    field_desc.details = "Total final normal stress of elements involved in event (Pascals).";
 #ifdef HDF5_FOUND
     field_desc.offset = HOFFSET(EventData, _normal_stress_final);
     field_desc.type = H5T_NATIVE_DOUBLE;
@@ -2591,6 +2611,25 @@ void quakelib::ModelEvent::get_field_descs(std::vector<FieldDesc> &descs) {
     descs.push_back(field_desc);
 }
 
+void quakelib::ModelEvent::write_ascii_header(std::ostream &out_stream) {
+    std::vector<FieldDesc>                  descs;
+    std::vector<FieldDesc>::const_iterator  dit;
+    
+    // Write section header
+    ModelEvent::get_field_descs(descs);
+    
+    for (dit=descs.begin(); dit!=descs.end(); ++dit) {
+        out_stream << "# " << dit->name << ": " << dit->details << "\n";
+    }
+    
+    out_stream << "# ";
+    
+    for (dit=descs.begin(); dit!=descs.end(); ++dit) {
+        out_stream << dit->name << " ";
+    }
+    
+    out_stream << "\n";
+}
 
 void quakelib::ModelEvent::setup_event_hdf5(const hid_t &data_file) {
     std::vector<FieldDesc>  descs;
diff --git a/quakelib/src/QuakeLibIO.h b/quakelib/src/QuakeLibIO.h
index c1e32c5..039a57d 100644
--- a/quakelib/src/QuakeLibIO.h
+++ b/quakelib/src/QuakeLibIO.h
@@ -693,9 +693,10 @@ namespace quakelib {
                 return _sweeps.size();
             };
 
+            static void get_field_descs(std::vector<FieldDesc> &descs);
+            static void write_ascii_header(std::ostream &out_stream);
             static void setup_sweeps_hdf5(const hid_t &data_file);
             void append_sweeps_hdf5(const hid_t &data_file) const;
-            static void get_field_descs(std::vector<FieldDesc> &descs);
 
             void read_data(const SweepData &in_data);
             void write_data(SweepData &out_data) const;
@@ -914,6 +915,7 @@ namespace quakelib {
             };*/
 
             static void get_field_descs(std::vector<FieldDesc> &descs);
+            static void write_ascii_header(std::ostream &out_stream);
             static void setup_event_hdf5(const hid_t &data_file);
             void append_event_hdf5(const hid_t &data_file) const;
 
diff --git a/src/io/EventOutput.cpp b/src/io/EventOutput.cpp
index 336836d..07d11f8 100644
--- a/src/io/EventOutput.cpp
+++ b/src/io/EventOutput.cpp
@@ -40,30 +40,6 @@ void EventOutput::initDesc(const SimFramework *_sim) const {
     sim->console() << "# Writing events in format " << sim->getEventOutfileType() << " to file " << sim->getEventOutfile() << std::endl;
 }
 
-void EventOutput::writeEventFileHeader(void) {
-    event_outfile << "# Event number" << "\n";
-    event_outfile << "# Event year" << "\n";
-    event_outfile << "# Event trigger element ID" << "\n";
-    event_outfile << "# Event magnitude" << "\n";
-    event_outfile << "# Total initial shear stress of elements involved in event (Pascals)" << "\n";
-    event_outfile << "# Total final shear stress of elements involved in event (Pascals)" << "\n";
-    event_outfile << "# Total initial normal stress of elements involved in event (Pascals)" << "\n";
-    event_outfile << "# Total final normal stress of elements involved in event (Pascals)" << "\n";
-}
-
-void EventOutput::writeSweepFileHeader(void) {
-    sweep_outfile << "# Event number corresponding to this sweep" << "\n";
-    sweep_outfile << "# Sweep number" << "\n";
-    sweep_outfile << "# Element ID" << "\n";
-    sweep_outfile << "# Slip on element in this sweep (meters)" << "\n";
-    sweep_outfile << "# Area of element (square meters)" << "\n";
-    sweep_outfile << "# Element Lame mu parameter (Pascals)" << "\n";
-    sweep_outfile << "# Shear stress of element before sweep (Pascals)" << "\n";
-    sweep_outfile << "# Shear stress of element after sweep (Pascals)" << "\n";
-    sweep_outfile << "# Normal stress of element before sweep (Pascals)" << "\n";
-    sweep_outfile << "# Normal stress of element after sweep (Pascals)" << "\n";
-}
-
 void EventOutput::init(SimFramework *_sim) {
     VCSimulation                *sim = static_cast<VCSimulation *>(_sim);
     BlockList::const_iterator   it;
@@ -93,8 +69,8 @@ void EventOutput::init(SimFramework *_sim) {
                 exit(-1);
             }
 
-            writeEventFileHeader();
-            writeSweepFileHeader();
+            quakelib::ModelEvent::write_ascii_header(event_outfile);
+            quakelib::ModelSweeps::write_ascii_header(sweep_outfile);
         } else {
             std::cerr << "ERROR: Unknown output file type " << sim->getEventOutfileType() << std::endl;
             exit(-1);
diff --git a/src/io/EventOutput.h b/src/io/EventOutput.h
index 0080010..f633690 100644
--- a/src/io/EventOutput.h
+++ b/src/io/EventOutput.h
@@ -45,8 +45,6 @@ class EventOutput : public SimPlugin {
         std::ofstream       event_outfile, sweep_outfile;
 
         bool pauseFileExists(void);
-        void writeEventFileHeader(void);
-        void writeSweepFileHeader(void);
 
     public:
         virtual std::string name(void) const {



More information about the CIG-COMMITS mailing list