80 #ifndef vtkMPASReader_h 81 #define vtkMPASReader_h 83 #include "vtkIONetCDFModule.h" 105 vtkSetStringMacro(FileName);
106 vtkGetStringMacro(FileName);
113 vtkGetMacro(MaximumCells,
int);
120 vtkGetMacro(MaximumPoints,
int);
127 virtual int GetNumberOfCellVars();
128 virtual int GetNumberOfPointVars();
146 vtkSetMacro(UseDimensionedArrayNames,
bool)
147 vtkGetMacro(UseDimensionedArrayNames,
bool)
148 vtkBooleanMacro(UseDimensionedArrayNames,
bool)
157 int GetNumberOfPointArrays();
158 const
char* GetPointArrayName(
int index);
159 int GetPointArrayStatus(const
char*
name);
160 void SetPointArrayStatus(const
char* name,
int status);
161 void DisableAllPointArrays();
162 void EnableAllPointArrays();
165 int GetNumberOfCellArrays();
166 const
char* GetCellArrayName(
int index);
167 int GetCellArrayStatus(const
char* name);
168 void SetCellArrayStatus(const
char* name,
int status);
169 void DisableAllCellArrays();
170 void EnableAllCellArrays();
182 std::
string GetDimensionName(
int idx);
184 int GetDimensionCurrentIndex(const std::
string &dim);
185 void SetDimensionCurrentIndex(const std::
string &dim,
int idx);
186 int GetDimensionSize(const std::
string &dim);
194 vtkSetMacro(VerticalDimension, std::
string)
195 vtkGetMacro(VerticalDimension, std::
string)
203 void SetVerticalLevel(
int level);
204 int GetVerticalLevel();
207 vtkGetVector2Macro(VerticalLevelRange,
int)
209 vtkSetMacro(LayerThickness,
int)
210 vtkGetMacro(LayerThickness,
int)
211 vtkGetVector2Macro(LayerThicknessRange,
int)
213 void SetCenterLon(
int val);
214 vtkGetVector2Macro(CenterLonRange,
int)
216 vtkSetMacro(ProjectLatLon,
bool)
217 vtkGetMacro(ProjectLatLon,
bool)
219 vtkSetMacro(IsAtmosphere,
bool)
220 vtkGetMacro(IsAtmosphere,
bool)
222 vtkSetMacro(IsZeroCentered,
bool)
223 vtkGetMacro(IsZeroCentered,
bool)
225 vtkSetMacro(ShowMultilayerView,
bool)
226 vtkGetMacro(ShowMultilayerView,
bool)
231 static
int CanReadFile(const
char *filename);
237 ~vtkMPASReader() override;
238 void ReleaseNcData();
243 size_t NumberOfTimeSteps;
250 vtkInformationVector *) override;
251 int RequestInformation(vtkInformation *, vtkInformationVector **,
252 vtkInformationVector *) override;
255 static
void SelectionCallback(
vtkObject* caller,
unsigned long eid,
256 void* clientdata,
void* calldata);
266 void UpdateDimensions(
bool force = false);
268 std::
string VerticalDimension;
269 int VerticalLevelRange[2];
272 int LayerThicknessRange[2];
275 int CenterLonRange[2];
324 int GetNcVars(
const char* cellDimName,
const char* pointDimName);
325 int ReadAndOutputGrid();
326 int BuildVarArrays();
327 int AllocSphericalGeometry();
328 int AllocProjectedGeometry();
329 int AllocPlanarGeometry();
331 int AddMirrorPoint(
int index,
double dividerX,
double offset);
333 int EliminateXWrap();
336 unsigned char GetCellType();
Wrapper around std::string to keep symbols short.
abstract base class for most VTK objects
vtkTypeUInt32 vtkMTimeType
static vtkUnstructuredGridAlgorithm * New()
a vtkAbstractArray subclass for strings
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
Superclass for algorithms that produce only unstructured grid as output.
size_t MaximumNVertLevels
vtkUnstructuredGrid * GetOutput()
Get the output data object for a port on this algorithm.