Class TCustomTransientArrayWriter

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TCustomTransientArrayWriter = class(TCustomParameterTransientWriter)

Description

no description available, TCustomParameterTransientWriter description follows
no description available, TCustomTransientWriter description follows

TCustomTransientWriter is used to export input files for MODFLOW for packages with time-varying data.

Hierarchy

Overview

Fields

Protected FNameOfFile: string;
Protected FLayers: TList;

Methods

Private procedure EvaluateParameterCells(CellList: TValueCellList; DataArray: TModflowBoundaryDisplayDataArray; Param: TModflowTransientListParameter; AssignmentMethod: TUpdateMethod);
Private procedure UpdateLayerDataSet(List: TList; DisplayArray: TModflowBoundaryDisplayDataArray);
Protected procedure UpdateLayerDisplay(List: TValueCellList; ParameterValues: TList; TimeIndex: Integer; DataArray: TModflowBoundaryDisplayDataArray);
Protected procedure EvaluateParameterDefinitions(List: TList; const ErrorRoot: string; AssignmentMethod: TUpdateMethod);
Protected function Prefix: string; virtual; abstract;
Protected procedure WriteParameterCells(CellList: TValueCellList; NLST: integer; const VariableIdentifiers, DataSetIdentifier: string; AssignmentMethod: TUpdateMethod; MultiplierArrayNames: TTransientMultCollection; ZoneArrayNames: TTransientZoneCollection); override;
Protected procedure WriteParameterDefinitions(const DS3, DS3Instances, DS4A, DataSetIdentifier, VariableIdentifiers, ErrorRoot: string; AssignmentMethod: TUpdateMethod; MultiplierArrayNames: TTransientMultCollection; ZoneArrayNames: TTransientZoneCollection); override;
Protected procedure WriteLayerArray(Lists: TList; const Comment: string);
Protected procedure WriteLayerSelection(List: TValueCellList; ParameterValues: TList; TimeIndex: Integer; const Comment: string);
Protected procedure WriteStressPeriods(const VariableIdentifiers, DataSetIdentifier, DS5, D7PNameIname, D7PName: string); override;
Protected function ParameterCount: integer; override;
Public Constructor Create(Model: TCustomModel; EvaluationType: TEvaluationType); override;
Public Destructor Destroy; override;

Description

Fields

Protected FNameOfFile: string;
 
Protected FLayers: TList;

FLayers stores information about which layer is used to assign an array boundary condition for each stress period. FLayers is actually a TObjectList. FLayers is only used if the layers are specified and time-varying.

Methods

Private procedure EvaluateParameterCells(CellList: TValueCellList; DataArray: TModflowBoundaryDisplayDataArray; Param: TModflowTransientListParameter; AssignmentMethod: TUpdateMethod);

EvaluateParameterCells assigns values to DataArray based on Param and the contents of CellList.

Private procedure UpdateLayerDataSet(List: TList; DisplayArray: TModflowBoundaryDisplayDataArray);

UpdateLayerDataSet assigns the layer where the array boundary condition will be applied based on the contents of List. List can be a TValueCellList or contain TValueCellLists or contain lists of TValueCellLists.

Protected procedure UpdateLayerDisplay(List: TValueCellList; ParameterValues: TList; TimeIndex: Integer; DataArray: TModflowBoundaryDisplayDataArray);

UpdateLayerDisplay updates DataArray with the layer used to assign the array boundary condition.

Protected procedure EvaluateParameterDefinitions(List: TList; const ErrorRoot: string; AssignmentMethod: TUpdateMethod);

On exit, List contains a TModflowBoundaryDisplayDataArray for each active parameter for each stress period.

Protected function Prefix: string; virtual; abstract;

Name is used in assigning the names of Multiplier array and Zone array data sets.

Protected procedure WriteParameterCells(CellList: TValueCellList; NLST: integer; const VariableIdentifiers, DataSetIdentifier: string; AssignmentMethod: TUpdateMethod; MultiplierArrayNames: TTransientMultCollection; ZoneArrayNames: TTransientZoneCollection); override;

WriteParameterCells creates transient multiplier and zone arrays to define where the array parameter should be applied and the for the cells in CellList. NLST is not used in this version of WriteParameterCells. DataSetIdentifier is not used in this version of WriteParameterCells.

Protected procedure WriteParameterDefinitions(const DS3, DS3Instances, DS4A, DataSetIdentifier, VariableIdentifiers, ErrorRoot: string; AssignmentMethod: TUpdateMethod; MultiplierArrayNames: TTransientMultCollection; ZoneArrayNames: TTransientZoneCollection); override;
 
Protected procedure WriteLayerArray(Lists: TList; const Comment: string);

WriteLayerArray is used to write the layer on which the array boundary condition is applied for each cell in Lists.

Protected procedure WriteLayerSelection(List: TValueCellList; ParameterValues: TList; TimeIndex: Integer; const Comment: string);

WriteLayerSelection writes the layer where the array boundary should be applied. If the layer is time-varying, FLayers is used to define the layers. If parameters are used, ParameterValues is used to define the layers. Otherwise, List is used to define the layers.

Protected procedure WriteStressPeriods(const VariableIdentifiers, DataSetIdentifier, DS5, D7PNameIname, D7PName: string); override;

WriteStressPeriods clears FUsedInstanceNames so that the same parameter instance names will be used in the stress periods as used in the paramater definitions.

Protected function ParameterCount: integer; override;
 
Public Constructor Create(Model: TCustomModel; EvaluationType: TEvaluationType); override;
 
Public Destructor Destroy; override;

Destroy destroys the current instance of TCustomTransientArrayWriter.


Generated by PasDoc 0.12.1 on 2013-05-13 15:41:29