39#ifndef vtkMPASReader_h
40#define vtkMPASReader_h
43#include "vtkIONetCDFModule.h"
48VTK_ABI_NAMESPACE_BEGIN
73 vtkGetMacro(MaximumCells,
int);
80 vtkGetMacro(MaximumPoints,
int);
243 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
287 GeometryType Geometry;
290 size_t MaximumNVertLevels;
291 size_t NumberOfCells;
292 size_t NumberOfPoints;
295 size_t PointsPerCell;
305 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
306 int ReadAndOutputGrid(LoadState& state);
307 int BuildVarArrays();
308 int AllocSphericalDualGeometry(LoadState& state);
309 int AllocSphericalPrimaryGeometry(LoadState& state);
310 int AllocProjectedDualGeometry(LoadState& state);
311 int AllocProjectedPrimaryGeometry(LoadState& state);
312 int AllocPlanarGeometry(LoadState& state);
313 void ShiftLonData(LoadState& state);
314 int AddMirrorPoint(LoadState& state,
int index,
double dividerX,
double offset);
315 void FixPoints(LoadState& state);
316 int EliminateXWrap(LoadState& state);
317 void OutputPoints(LoadState& state);
318 void OutputCells(LoadState& state);
319 unsigned char GetCellType(
int numPoints);
321 vtkDataArray* LoadPointVarData(LoadState& state,
int variable);
322 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.
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...
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
#define VTK_DEPRECATED_IN_9_8_0(reason)
vtkTypeUInt32 vtkMTimeType