ReFRACtor
FullPhysics::OutputHdfIteration Class Reference

This write the output of the Level 2 Full physics. More...

#include <output_hdf_iteration.h>

+ Inheritance diagram for FullPhysics::OutputHdfIteration:
+ Collaboration diagram for FullPhysics::OutputHdfIteration:

Public Member Functions

 OutputHdfIteration (const boost::shared_ptr< HdfFileGenerating > &H, const std::string &Iteration_group="Iteration")
 
virtual ~OutputHdfIteration ()
 
void close ()
 
virtual void notify_add (ConnorSolver &Observed_object)
 Called when an object is added to an Observable. More...
 
virtual void notify_add ()
 
virtual void notify_remove (ConnorSolver &Observed_object)
 Called when an object is removed from an Observable. More...
 
virtual void notify_remove ()
 
virtual void notify_update (const ConnorSolver &Solver)
 Called when the Observed object is updated. More...
 
virtual void print (std::ostream &Os) const
 
std::string print_to_string () const
 Print to string. More...
 
template<class S , class T , int D>
void register_data_source (const std::string &Dataset_name, blitz::Array< T, D >(S::*Pmf)() const, const boost::shared_ptr< S > &Src)
 A common way to supply the metadata source is with a shared_ptr to an object, and a pointer to a member function. More...
 
template<class S , class T >
void register_data_source (const std::string &Dataset_name, T(S::*Pmf)() const, const boost::shared_ptr< S > &Src)
 A common way to supply the metadata source is with a shared_ptr to an object, and a pointer to a member function. More...
 
template<class T , int D>
void register_data_source (const std::string &Dataset_name, const blitz::Array< T, D > &Val)
 Handling for when data is constant. More...
 
template<class T >
void register_data_source (const std::string &Dataset_name, const T &Val)
 Handling for when data is constant. More...
 
template<class T >
void register_data_source (const std::string &Dataset_name, boost::function< T > f)
 Most general way to enter a Data source. More...
 
template<class S , class T >
void register_data_source_pad (const std::string &Dataset_name, blitz::Array< T, 1 >(S::*Pmf)() const, const boost::shared_ptr< S > &Src, int Full_size, T Fill_value)
 There are several fields that are generated on the active levels only. More...
 
template<class S , class T >
void register_data_source_pad (const std::string &Dataset_name, blitz::Array< T, 2 >(S::*Pmf)() const, const boost::shared_ptr< S > &Src, int Full_size, T Fill_value)
 
void write ()
 Write out file. More...
 
void write_best_attempt ()
 Write out the file, making a best attempt but ignoring all errors. More...
 

Protected Member Functions

virtual void end_because_of_error ()
 Notify when an error occurred. More...
 
virtual void end_write ()
 Notify when we are done. More...
 
virtual void start_write ()
 Notify derived class that we are starting to write data. More...
 
virtual void write_data (const std::string &Dataset_name, int Val)
 Various write functions that derived classes. More...
 
virtual void write_data (const std::string &Dataset_name, int64_t Val)
 
virtual void write_data (const std::string &Dataset_name, double Val)
 
virtual void write_data (const std::string &Dataset_name, const std::string &Val)
 
virtual void write_data (const std::string &Dataset_name, const char *Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< int, 1 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< std::string, 1 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< const char *, 1 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< double, 1 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< int, 2 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< std::string, 2 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< const char *, 2 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< double, 2 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< int, 3 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< std::string, 3 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< const char *, 3 > &Val)
 
virtual void write_data (const std::string &Dataset_name, const blitz::Array< double, 3 > &Val)
 
template<class T >
void write_data_t (const std::string &Dataset_name, T Val)
 
template<class T , int D>
void write_data_t (const std::string &Dataset_name, const blitz::Array< T, D > &Val)
 

Friends

class OutputTemplate< OutputHdfIteration >
 

Detailed Description

This write the output of the Level 2 Full physics.

This particular implementation writes out a HDF5 file.

This class handles writing iteration output. Note that this only handles the iteration output, normally you would combine this with OutputHdf to get both the iteration output and final results.

Definition at line 28 of file output_hdf_iteration.h.

Constructor & Destructor Documentation

◆ OutputHdfIteration()

FullPhysics::OutputHdfIteration::OutputHdfIteration ( const boost::shared_ptr< HdfFileGenerating > &  H,
const std::string &  Iteration_group = "Iteration" 
)
inline

Definition at line 31 of file output_hdf_iteration.h.

◆ ~OutputHdfIteration()

virtual FullPhysics::OutputHdfIteration::~OutputHdfIteration ( )
inlinevirtual

Definition at line 34 of file output_hdf_iteration.h.

Member Function Documentation

◆ close()

void OutputHdfIteration::close ( )

Definition at line 91 of file output_hdf_iteration.cc.

◆ end_because_of_error()

virtual void FullPhysics::OutputHdfIteration::end_because_of_error ( )
inlineprotectedvirtual

Notify when an error occurred.

Derived classes should clean up any partially generated output.

Reimplemented from FullPhysics::Output.

Definition at line 40 of file output_hdf_iteration.h.

◆ end_write()

virtual void FullPhysics::Output::end_write ( )
inlineprotectedvirtualinherited

Notify when we are done.

Default is to do nothing, but derived classes can override this.

Definition at line 219 of file output.h.

◆ notify_add() [1/2]

virtual void FullPhysics::Observer< ConnorSolver >::notify_add ( ConnorSolver Observed_object)
inlinevirtualinherited

Called when an object is added to an Observable.

Default is to do nothing.

Definition at line 47 of file observer.h.

◆ notify_add() [2/2]

virtual void FullPhysics::Observer< ConnorSolver >::notify_add ( )
inlinevirtualinherited

Definition at line 48 of file observer.h.

◆ notify_remove() [1/2]

virtual void FullPhysics::Observer< ConnorSolver >::notify_remove ( ConnorSolver Observed_object)
inlinevirtualinherited

Called when an object is removed from an Observable.

Default is to do nothing.

Definition at line 55 of file observer.h.

◆ notify_remove() [2/2]

virtual void FullPhysics::Observer< ConnorSolver >::notify_remove ( )
inlinevirtualinherited

Definition at line 56 of file observer.h.

◆ notify_update()

virtual void FullPhysics::OutputHdfIteration::notify_update ( const ConnorSolver Observed_object)
inlinevirtual

Called when the Observed object is updated.

Reimplemented from FullPhysics::Observer< ConnorSolver >.

Definition at line 37 of file output_hdf_iteration.h.

◆ print()

virtual void FullPhysics::OutputHdfIteration::print ( std::ostream &  Os) const
inlinevirtual

Reimplemented from FullPhysics::Output.

Definition at line 36 of file output_hdf_iteration.h.

◆ print_to_string()

std::string FullPhysics::Printable< Output >::print_to_string ( ) const
inlineinherited

Print to string.

This is primarily useful for SWIG wrappers to this class, e.g. a to_s method in ruby.

Definition at line 31 of file printable.h.

◆ register_data_source() [1/5]

template<class S , class T , int D>
void FullPhysics::Output::register_data_source ( const std::string &  Dataset_name,
blitz::Array< T, D >(S::*)() const  Pmf,
const boost::shared_ptr< S > &  Src 
)
inlineinherited

A common way to supply the metadata source is with a shared_ptr to an object, and a pointer to a member function.

This supplies a simplified interface to this.

Definition at line 114 of file output.h.

◆ register_data_source() [2/5]

template<class S , class T >
void FullPhysics::Output::register_data_source ( const std::string &  Dataset_name,
T(S::*)() const  Pmf,
const boost::shared_ptr< S > &  Src 
)
inlineinherited

A common way to supply the metadata source is with a shared_ptr to an object, and a pointer to a member function.

This supplies a simplified interface to this.

Definition at line 162 of file output.h.

◆ register_data_source() [3/5]

template<class T , int D>
void FullPhysics::Output::register_data_source ( const std::string &  Dataset_name,
const blitz::Array< T, D > &  Val 
)
inlineinherited

Handling for when data is constant.

Definition at line 175 of file output.h.

◆ register_data_source() [4/5]

template<class T >
void FullPhysics::Output::register_data_source ( const std::string &  Dataset_name,
const T &  Val 
)
inlineinherited

Handling for when data is constant.

Definition at line 188 of file output.h.

◆ register_data_source() [5/5]

template<class T >
void FullPhysics::Output::register_data_source ( const std::string &  Dataset_name,
boost::function< T >  f 
)
inlineinherited

Most general way to enter a Data source.

Definition at line 200 of file output.h.

◆ register_data_source_pad() [1/2]

template<class S , class T >
void FullPhysics::Output::register_data_source_pad ( const std::string &  Dataset_name,
blitz::Array< T, 1 >(S::*)() const  Pmf,
const boost::shared_ptr< S > &  Src,
int  Full_size,
Fill_value 
)
inlineinherited

There are several fields that are generated on the active levels only.

For output, we want to pad this to the full number of levels. This utility routine will pad the given size using the given fill value.

Definition at line 130 of file output.h.

◆ register_data_source_pad() [2/2]

template<class S , class T >
void FullPhysics::Output::register_data_source_pad ( const std::string &  Dataset_name,
blitz::Array< T, 2 >(S::*)() const  Pmf,
const boost::shared_ptr< S > &  Src,
int  Full_size,
Fill_value 
)
inlineinherited

Definition at line 143 of file output.h.

◆ start_write()

virtual void FullPhysics::Output::start_write ( )
inlineprotectedvirtualinherited

Notify derived class that we are starting to write data.

Default is to do nothing, but derived classes can override this.

Reimplemented in FullPhysics::OutputHdf.

Definition at line 212 of file output.h.

◆ write()

void Output::write ( )
inherited

Write out file.

A write is intended to be atomic - either it completely succeeds or the output should be cleaned up and nothing produced. This prevents a file with "missing fields" from being generated.

Definition at line 62 of file output.cc.

◆ write_best_attempt()

void Output::write_best_attempt ( )
inherited

Write out the file, making a best attempt but ignoring all errors.

This may result in a file that is missing fields that had an error when writing or collecting the data. This is intended for use by an error dump, when we want to get whatever we can.

Definition at line 86 of file output.cc.

◆ write_data() [1/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
int  Val 
)
inlineprotectedvirtualinherited

Various write functions that derived classes.

Implements FullPhysics::Output.

Definition at line 281 of file output.h.

◆ write_data() [2/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
int64_t  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 283 of file output.h.

◆ write_data() [3/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
double  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 285 of file output.h.

◆ write_data() [4/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const std::string &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 287 of file output.h.

◆ write_data() [5/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const char *  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 290 of file output.h.

◆ write_data() [6/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< int, 1 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 293 of file output.h.

◆ write_data() [7/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< std::string, 1 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 296 of file output.h.

◆ write_data() [8/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< const char *, 1 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 299 of file output.h.

◆ write_data() [9/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< double, 1 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 302 of file output.h.

◆ write_data() [10/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< int, 2 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 305 of file output.h.

◆ write_data() [11/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< std::string, 2 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 308 of file output.h.

◆ write_data() [12/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< const char *, 2 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 311 of file output.h.

◆ write_data() [13/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< double, 2 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 314 of file output.h.

◆ write_data() [14/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< int, 3 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 317 of file output.h.

◆ write_data() [15/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< std::string, 3 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 320 of file output.h.

◆ write_data() [16/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< const char *, 3 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 323 of file output.h.

◆ write_data() [17/17]

virtual void FullPhysics::OutputTemplate< OutputHdfIteration >::write_data ( const std::string &  Dataset_name,
const blitz::Array< double, 3 > &  Val 
)
inlineprotectedvirtualinherited

Implements FullPhysics::Output.

Definition at line 326 of file output.h.

◆ write_data_t() [1/2]

template<class T >
void OutputHdfIteration::write_data_t ( const std::string &  Dataset_name,
Val 
)
protected

Definition at line 102 of file output_hdf_iteration.cc.

◆ write_data_t() [2/2]

template<class T , int D>
void OutputHdfIteration::write_data_t ( const std::string &  Dataset_name,
const blitz::Array< T, D > &  Val 
)
protected

Definition at line 116 of file output_hdf_iteration.cc.

Friends And Related Function Documentation

◆ OutputTemplate< OutputHdfIteration >

friend class OutputTemplate< OutputHdfIteration >
friend

Definition at line 45 of file output_hdf_iteration.h.


The documentation for this class was generated from the following files:

Copyright © 2017, California Institute of Technology.
ALL RIGHTS RESERVED.
U.S. Government Sponsorship acknowledged.
Generated Fri Aug 24 2018 15:44:13