15 #ifndef _UNSTRUCTUREDIO_H_ 16 #define _UNSTRUCTUREDIO_H_ 19 #include "FArrayBox.H" 20 #include "LevelData.H" 21 #include "BoxIterator.H" 25 #include "NamespaceHeader.H" 35 Vector<RealVect> m_dx;
41 LevelBoxSet m_levelBoxSet;
42 Vector<Vector<int> > m_iv;
43 Vector<Vector< Real > > m_field;
44 Vector<Vector<Real > > m_x;
52 UnstructuredData(
int a_nComp,
const RealVect& a_crseDx,
const Box& a_crseDomain,
53 const Vector<int>& a_ratio,
const Real& a_time,
const RealVect& a_x0 = RealVect::Zero );
55 void define(
int a_nComp,
const RealVect& a_crseDx,
const Box& a_crseDomain,
56 const Vector<int>& a_ratio,
const Real& a_time,
const RealVect& a_x0 = RealVect::Zero );
63 void append(
int a_lev,
const Box& a_box,
const IntVect& a_iv,
64 const Vector<Real>& a_data);
73 return m_level.size();
86 return domain(a_lev - 1).refine(m_ratio[a_lev-1]);
105 const Vector<RealVect>&
dx()
const 123 return m_levelBoxSet;
128 return m_levelBoxSet;
131 const Vector<int>&
iv(
int a_dir)
const 136 Vector<int>&
iv(
int a_dir)
141 const Vector<Real>&
field(
int a_comp)
const 143 return m_field[a_comp];
148 return m_field[a_comp];
151 const Vector<Real>&
x(
int a_dir)
const 161 void computeNodeCoord(Vector<Real>& a_nodeCoord,
int a_dir,
const IntVect& a_node)
const;
170 const Vector<LevelData<FArrayBox>*>& a_bsData,
171 const Vector<int>& a_ratio,
175 void USToBS ( Vector<LevelData<FArrayBox>*>& a_bsdata,
182 int defineCFVar(
int a_ncID,
int a_nDim,
int* a_dimID, nc_type a_type,
183 const std::string& a_name,
184 const std::string& a_unit,
185 const std::string& a_stdName,
186 const std::string& a_longName);
188 void readCFVar(
int a_ncID,
const std::string& a_name,Vector<int>& a_data);
190 void readCFVar(
int a_ncID,
int a_varID ,Vector<int>& a_data);
192 void readCFVar(
int a_ncID,
const std::string& a_name,Vector<Real>& a_data);
194 void readCFVar(
int a_ncID,
int a_varID ,Vector<Real>& a_data);
196 void writeCFVar(
int a_ncID,
const std::string& a_name,
const Vector<int>& a_data);
198 void writeCFVar(
int a_ncID,
const std::string& a_name,
const Vector<Real>& a_data);
202 const Vector<std::string>&,
const std::string&,
213 #include "NamespaceFooter.H" UnstructuredData()
Definition: UnstructuredIO.H:58
void USToBS(Vector< LevelData< FArrayBox > *> &a_bsdata, const UnstructuredData &a_usData)
build block structed data from valid data
Definition: UnstructuredIO.cpp:128
void resize(int a_size)
Definition: UnstructuredIO.cpp:50
int nComp() const
Definition: UnstructuredIO.H:66
void writeCF(const std::string &, const UnstructuredData &, const Vector< std::string > &, const std::string &, const Transformation &)
write UnstructuredData to a NetCDF-CF file
Definition: UnstructuredIO.cpp:498
void readCF(UnstructuredData &, Vector< std::string > &, const std::string &)
read UnstructuredData from a NetCDF-CF file
Definition: UnstructuredIO.cpp:276
const LevelBoxSet & levelBoxSet() const
Definition: UnstructuredIO.H:121
const Vector< RealVect > & dx() const
Definition: UnstructuredIO.H:105
void define(int a_nComp, const RealVect &a_crseDx, const Box &a_crseDomain, const Vector< int > &a_ratio, const Real &a_time, const RealVect &a_x0=RealVect::Zero)
Definition: UnstructuredIO.cpp:30
int defineCFDimension(int a_ncID, size_t a_len, const std::string &a_name)
Definition: UnstructuredIO.cpp:900
size_t nCell() const
Definition: UnstructuredIO.H:71
Definition: UnstructuredIO.H:165
void computeNodeCoord(Vector< Real > &a_nodeCoord, int a_dir, const IntVect &a_node) const
fill a_nodeCoord with the a_dir co-ordinate of node a_node.
Definition: UnstructuredIO.cpp:106
const Vector< Real > & field(int a_comp) const
Definition: UnstructuredIO.H:141
const Vector< int > & level() const
Definition: UnstructuredIO.H:111
const Vector< int > & ratio() const
Definition: UnstructuredIO.H:100
void readCFVar(int a_ncID, int a_varID, Vector< Real > &a_data)
Definition: UnstructuredIO.cpp:1005
Vector< int > & iv(int a_dir)
Definition: UnstructuredIO.H:136
const Vector< int > & iv(int a_dir) const
Definition: UnstructuredIO.H:131
Vector< int > & level()
Definition: UnstructuredIO.H:116
Definition: UnstructuredIO.H:27
std::set< std::pair< int, Box > > LevelBoxSet
Definition: UnstructuredIO.H:31
const Vector< Real > & x(int a_dir) const
Definition: UnstructuredIO.H:151
Vector< Real > & field(int a_comp)
Definition: UnstructuredIO.H:146
Real time() const
Definition: UnstructuredIO.H:89
Real & time()
Definition: UnstructuredIO.H:94
Box domain(int a_lev) const
Definition: UnstructuredIO.H:81
int defineCFVar(int a_ncID, int a_nDim, int *a_dimID, nc_type a_type, const std::string &a_name, const std::string &a_unit, const std::string &a_stdName, const std::string &a_longName)
Definition: UnstructuredIO.cpp:916
LevelBoxSet & levelBoxSet()
Definition: UnstructuredIO.H:126
void append(int a_lev, const Box &a_box, const IntVect &a_iv, const Vector< Real > &a_data)
Definition: UnstructuredIO.cpp:73
void writeCFVar(int a_ncID, const std::string &a_name, const Vector< Real > &a_data)
Definition: UnstructuredIO.cpp:1038
size_t nLevel() const
Definition: UnstructuredIO.H:76
void BStoUS(UnstructuredData &a_usData, const Vector< LevelData< FArrayBox > *> &a_bsData, const Vector< int > &a_ratio, bool a_validOnly)
populate a UnstructuredData from a Vector<LevelData<FArrayBox>*>
Definition: UnstructuredIO.cpp:198