80 #ifndef vtkMPASReader_h
81 #define vtkMPASReader_h
83 #include "vtkIONetCDFModule.h"
108 vtkSetStringMacro(FileName);
116 vtkGetMacro(MaximumCells,
int);
123 vtkGetMacro(MaximumPoints,
int);
130 virtual int GetNumberOfCellVars();
131 virtual int GetNumberOfPointVars();
150 vtkGetMacro(UseDimensionedArrayNames,
bool)
160 int GetNumberOfPointArrays();
161 const
char* GetPointArrayName(
int index);
162 int GetPointArrayStatus(const
char*
name);
163 void SetPointArrayStatus(const
char* name,
int status);
164 void DisableAllPointArrays();
165 void EnableAllPointArrays();
168 int GetNumberOfCellArrays();
169 const
char* GetCellArrayName(
int index);
170 int GetCellArrayStatus(const
char* name);
171 void SetCellArrayStatus(const
char* name,
int status);
172 void DisableAllCellArrays();
173 void EnableAllCellArrays();
184 int GetNumberOfDimensions();
185 std::
string GetDimensionName(
int idx);
187 int GetDimensionCurrentIndex(const std::
string &dim);
188 void SetDimensionCurrentIndex(const std::
string &dim,
int idx);
189 int GetDimensionSize(const std::
string &dim);
198 vtkGetMacro(VerticalDimension, std::
string)
206 void SetVerticalLevel(
int level);
207 int GetVerticalLevel();
210 vtkGetVector2Macro(VerticalLevelRange,
int)
213 vtkGetMacro(LayerThickness,
int)
214 vtkGetVector2Macro(LayerThicknessRange,
int)
216 void SetCenterLon(
int val);
217 vtkGetVector2Macro(CenterLonRange,
int)
220 vtkGetMacro(ProjectLatLon,
bool)
223 vtkGetMacro(IsAtmosphere,
bool)
226 vtkGetMacro(IsZeroCentered,
bool)
229 vtkGetMacro(ShowMultilayerView,
bool)
234 static
int CanReadFile(const
char *filename);
241 void ReleaseNcData();
246 int NumberOfTimeSteps;
253 vtkInformationVector *);
254 int RequestInformation(vtkInformation *, vtkInformationVector **,
255 vtkInformationVector *);
258 static
void SelectionCallback(
vtkObject* caller,
unsigned long eid,
259 void* clientdata,
void* calldata);
269 void UpdateDimensions(
bool force = false);
271 std::
string VerticalDimension;
272 int VerticalLevelRange[2];
275 int LayerThicknessRange[2];
278 int CenterLonRange[2];
327 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
328 int ReadAndOutputGrid();
329 int BuildVarArrays();
330 int AllocSphericalGeometry();
331 int AllocProjectedGeometry();
332 int AllocPlanarGeometry();
334 int AddMirrorPoint(
int index,
double dividerX,
double offset);
336 int EliminateXWrap();
339 unsigned char GetCellType();
348 bool ValidateDimensions(NcVar *var,
bool silent,
int ndims, ...);
353 long GetCursorForDimension(
const NcDim *dim);
358 size_t GetCountForDimension(
const NcDim *dim);
365 long InitializeDimension(
const NcDim *dim);
389 static
int NcTypeToVtkType(
int ncType);
392 vtkIdType ComputeNumberOfTuples(NcVar *ncVar);
394 template <typename ValueType>
395 bool LoadDataArray(NcVar *ncVar,
vtkDataArray *array,
bool resize = true);
397 template <typename ValueType>
398 int LoadPointVarDataImpl(NcVar *ncVar,
vtkDataArray *array);
400 template <typename ValueType>
401 int LoadCellVarDataImpl(NcVar *ncVar,
vtkDataArray *array);
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
static vtkUnstructuredGridAlgorithm * New()
a vtkAbstractArray subclass for strings
vtkTypeUInt64 vtkMTimeType
Read an MPAS netCDF file.
dynamic, self-adjusting array of double
bool UseDimensionedArrayNames
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
supports function callbacks
a simple class to control print indentation
Store on/off settings for data arrays for a vtkSource.
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
Superclass for algorithms that produce only unstructured grid as output.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
vtkUnstructuredGrid * GetOutput()
Get the output data object for a port on this algorithm.