39 #ifndef vtkMPASReader_h
40 #define vtkMPASReader_h
42 #include "vtkIONetCDFModule.h"
47 VTK_ABI_NAMESPACE_BEGIN
64 vtkSetFilePathMacro(FileName);
65 vtkGetFilePathMacro(FileName);
72 vtkGetMacro(MaximumCells,
int);
79 vtkGetMacro(MaximumPoints,
int);
86 virtual int GetNumberOfCellVars();
87 virtual int GetNumberOfPointVars();
105 vtkSetMacro(UseDimensionedArrayNames,
bool);
106 vtkGetMacro(UseDimensionedArrayNames,
bool);
107 vtkBooleanMacro(UseDimensionedArrayNames,
bool);
121 int GetNumberOfPointArrays();
122 const char* GetPointArrayName(
int index);
123 int GetPointArrayStatus(
const char*
name);
124 void SetPointArrayStatus(
const char*
name,
int status);
125 void DisableAllPointArrays();
126 void EnableAllPointArrays();
129 int GetNumberOfCellArrays();
130 const char* GetCellArrayName(
int index);
131 int GetCellArrayStatus(
const char*
name);
132 void SetCellArrayStatus(
const char*
name,
int status);
133 void DisableAllCellArrays();
134 void EnableAllCellArrays();
148 int GetDimensionCurrentIndex(
const std::string& dim);
149 void SetDimensionCurrentIndex(
const std::string& dim,
int idx);
167 void SetVerticalLevel(
int level);
168 int GetVerticalLevel();
171 vtkGetVector2Macro(VerticalLevelRange,
int);
173 vtkSetMacro(LayerThickness,
int);
174 vtkGetMacro(LayerThickness,
int);
175 vtkGetVector2Macro(LayerThicknessRange,
int);
177 void SetCenterLon(
int val);
178 vtkGetVector2Macro(CenterLonRange,
int);
180 vtkSetMacro(ProjectLatLon,
bool);
181 vtkGetMacro(ProjectLatLon,
bool);
197 vtkSetMacro(UsePrimaryGrid,
bool);
198 vtkGetMacro(UsePrimaryGrid,
bool);
201 vtkSetMacro(IsAtmosphere,
bool);
202 vtkGetMacro(IsAtmosphere,
bool);
204 vtkSetMacro(IsZeroCentered,
bool);
205 vtkGetMacro(IsZeroCentered,
bool);
207 vtkSetMacro(ShowMultilayerView,
bool);
208 vtkGetMacro(ShowMultilayerView,
bool);
213 static int CanReadFile(
VTK_FILEPATH const char* filename);
220 void ReleaseNcData();
234 static void SelectionCallback(
235 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
245 void UpdateDimensions(
bool force =
false);
248 int VerticalLevelRange[2];
251 int LayerThicknessRange[2];
254 int CenterLonRange[2];
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);
313 vtkDataArray* LoadPointVarData(LoadState& state,
int variable);
314 vtkDataArray* LoadCellVarData(LoadState& state,
int variable);
335 VTK_ABI_NAMESPACE_END
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
abstract base class for most VTK objects
vtkTypeUInt32 vtkMTimeType
static vtkUnstructuredGridAlgorithm * New()
a vtkAbstractArray subclass for strings
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkDataArraySelection * PointDataArraySelection
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
VTKIOCATALYSTCONDUIT_EXPORT int GetCellType(const std::string &shape)
Get vtk cell type from conduit shape name throw a runtime_error on unsupported type.
a simple class to control print indentation
Store on/off settings for data arrays, etc.
dataset represents arbitrary combinations of all possible cell types
abstract superclass for arrays of numeric data
virtual vtkMTimeType GetMTime()
Return this object's modified time.
Superclass for algorithms that produce only unstructured grid as output.
std::string VerticalDimension
vtkCallbackCommand * SelectionObserver
vtkUnstructuredGrid * GetOutput()
Get the output data object for a port on this algorithm.
vtkDataArraySelection * CellDataArraySelection