-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Labels
type: cleanup / refactorNon-functional change (NFC)Non-functional change (NFC)type: newA new issue has been created and requires attentionA new issue has been created and requires attention
Description
Describe the issue
In the future, outputs of the statistics classes would be done with PackCollection
& TimeHistory
& 2 events (3 in total), which is quite verbose and inconvenient for the user to maintain.
Proposed cleanup
I propose 2 alternatives but these suggestions could change:
Main Proposal:
We could only have 2 node to ask When and What is to output.
CompositionalMultiphaseStatistics
would now be an output, with two optional attributes:
logLevel
to enable the reporting in the log, necessary for the user to quickly see the simulation state,outputFile
(s?), to allow the output of those statistics in a file (HDF5
,CSV
...).
Within the code, we would have:
- To gather the data,
CompositionalMultiphaseStatistics
(and log it if requested), - To contain the data, a
CompositionalMultiphaseStatistics::RegionStatistics
Group, as proposed by @untereiner in Collect log information inhdf5
#2298, - To output the data, the
FieldStatisticsBase
(a newStatisticsOutput
class) which would create automatically the necessaryTimeHistoryOutput
,PackCollection
and their events.
<Outputs>
<CompositionalMultiphaseStatistics
name="compflowStatistics"
flowSolverName="compositionalMultiphaseFVMSolver"
logLevel="1"
computeCFLNumbers="1"
computeRegionStatistics="1"
outputFile="singlePhaseStats.hdf" />
</Outputs>
<Events>
<PeriodicEvent
name="myStatsOutputEvent"
timeFrequency="1e5"
targetExactTimestep="1"
target="/Outputs/compflowStatistics" />
</Events>
Alternative Proposal
Separate the output file from the statistics declaration, therefore we can have multiple statistics output files inside <Outputs>
.
StatsOutput
would be an observer of the statistics classes and wouldn't require additional events.
<Tasks>
<CompositionalMultiphaseStatistics
name="compflowStatistics"
flowSolverName="compositionalMultiphaseFVMSolver"
logLevel="1"
computeCFLNumbers="1"
computeRegionStatistics="1" />
</Tasks>
<Outputs>
<StatsOutput
name="myStatsOutput"
source="compflowStatistics"
outputFile="sourceFluxStats.csv" />
</Outputs>
<Events>
<PeriodicEvent
name="myStatsOutputEvent"
timeFrequency="1e5"
targetExactTimestep="1"
target="/Tasks/compflowStatistics" />
</Events>
co-authored with @MelReyCG.
Metadata
Metadata
Assignees
Labels
type: cleanup / refactorNon-functional change (NFC)Non-functional change (NFC)type: newA new issue has been created and requires attentionA new issue has been created and requires attention