39#ifndef vtkMPASReader_h
40#define vtkMPASReader_h
43#include "vtkIONetCDFModule.h"
48VTK_ABI_NAMESPACE_BEGIN
83 vtkGetMacro(MaximumCells,
int);
90 vtkGetMacro(MaximumPoints,
int);
254 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
298 GeometryType Geometry;
301 size_t MaximumNVertLevels;
302 size_t NumberOfCells;
303 size_t NumberOfPoints;
306 size_t PointsPerCell;
314 int GetHistoryNcDims();
317 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
318 int ReadAndOutputGrid(LoadState& state);
319 int BuildVarArrays();
320 int AllocSphericalDualGeometry(LoadState& state);
321 int AllocSphericalPrimaryGeometry(LoadState& state);
322 int AllocProjectedDualGeometry(LoadState& state);
323 int AllocProjectedPrimaryGeometry(LoadState& state);
324 int AllocPlanarGeometry(LoadState& state);
325 void ShiftLonData(LoadState& state);
326 int AddMirrorPoint(LoadState& state,
int index,
double dividerX,
double offset);
327 void FixPoints(LoadState& state);
328 int EliminateXWrap(LoadState& state);
329 void OutputPoints(LoadState& state);
330 void OutputCells(LoadState& state);
331 unsigned char GetCellType(
int numPoints);
333 vtkDataArray* LoadPointVarData(LoadState& state,
int variable);
334 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.
vtkSetFilePathMacro(HistoryFileName)
Specify an optional MPAS history file from which to read field data.
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)
vtkGetFilePathMacro(HistoryFileName)
Specify an optional MPAS history file from which to read field data.
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