39#ifndef vtkMPASReader_h
40#define vtkMPASReader_h
42#include "vtkIONetCDFModule.h"
47VTK_ABI_NAMESPACE_BEGIN
72 vtkGetMacro(MaximumCells,
int);
79 vtkGetMacro(MaximumPoints,
int);
235 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
279 GeometryType Geometry;
282 size_t MaximumNVertLevels;
283 size_t NumberOfCells;
284 size_t NumberOfPoints;
287 size_t PointsPerCell;
297 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
298 int ReadAndOutputGrid(LoadState& state);
299 int BuildVarArrays();
300 int AllocSphericalDualGeometry(LoadState& state);
301 int AllocSphericalPrimaryGeometry(LoadState& state);
302 int AllocProjectedDualGeometry(LoadState& state);
303 int AllocProjectedPrimaryGeometry(LoadState& state);
304 int AllocPlanarGeometry(LoadState& state);
305 void ShiftLonData(LoadState& state);
306 int AddMirrorPoint(LoadState& state,
int index,
double dividerX,
double offset);
307 void FixPoints(LoadState& state);
308 int EliminateXWrap(LoadState& state);
309 void OutputPoints(LoadState& state);
310 void OutputCells(LoadState& state);
311 unsigned char GetCellType(
int numPoints);
313 vtkDataArray* LoadPointVarData(LoadState& state,
int variable);
314 vtkDataArray* LoadCellVarData(LoadState& state,
int variable);
supports function callbacks
Store on/off settings for data arrays, etc.
dynamic, self-adjusting array of double
a simple class to control print indentation
Read an MPAS netCDF file.
void UpdateDimensions(bool force=false)
Update the list of available dimensions.
int GetNumberOfPointArrays()
The following methods allow selective reading of solutions fields.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCallbackCommand * SelectionObserver
static int CanReadFile(const char *filename)
Returns true if the given file can be read.
virtual int GetNumberOfPointVars()
Get the number of data variables at the cell centers and points.
vtkUnstructuredGrid * GetOutput(int idx)
Get the reader's output.
void SetPointArrayStatus(const char *name, int status)
The following methods allow selective reading of solutions fields.
void EnableAllPointArrays()
The following methods allow selective reading of solutions fields.
int GetDimensionCurrentIndex(const std::string &dim)
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
int GetCellArrayStatus(const char *name)
int GetVerticalLevel()
Convenience function for setting/querying [GS]etDimensionCurrentIndex for the dimension returned by G...
vtkIdType GetNumberOfDimensions()
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
std::string GetDimensionName(int idx)
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
const char * GetCellArrayName(int index)
vtkGetFilePathMacro(FileName)
Specify file name of MPAS data file to read.
int VerticalLevelRange[2]
void EnableAllCellArrays()
void SetDimensionCurrentIndex(const std::string &dim, int idx)
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
void SetCellArrayStatus(const char *name, int status)
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkStringArray * GetAllDimensions()
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
int LayerThicknessRange[2]
int GetNumberOfCellArrays()
vtkDataArraySelection * PointDataArraySelection
static void SelectionCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
std::string VerticalDimension
static vtkMPASReader * New()
void DisableAllPointArrays()
The following methods allow selective reading of solutions fields.
virtual int GetNumberOfCellVars()
Get the number of data variables at the cell centers and points.
void SetVerticalLevel(int level)
Convenience function for setting/querying [GS]etDimensionCurrentIndex for the dimension returned by G...
~vtkMPASReader() override
int GetDimensionSize(const std::string &dim)
If the point/cell arrays contain dimensions other than Time, nCells, or nVertices,...
int GetPointArrayStatus(const char *name)
The following methods allow selective reading of solutions fields.
void DisableAllCellArrays()
const char * GetPointArrayName(int index)
The following methods allow selective reading of solutions fields.
vtkUnstructuredGrid * GetOutput()
Get the reader's output.
vtkSetFilePathMacro(FileName)
Specify file name of MPAS data file to read.
vtkDataArraySelection * CellDataArraySelection
vtkMTimeType GetMTime() override
Return this object's modified time.
bool UseDimensionedArrayNames
void SetCenterLon(int val)
a vtkAbstractArray subclass for strings
vtkUnstructuredGridAlgorithm()
dataset represents arbitrary combinations of all possible cell types
vtkTypeUInt32 vtkMTimeType