CSVExporter

class CSVExporter<T, P : Position<P>> @JvmOverloads constructor(fileNameRoot: String = "", val interval: Double = DEFAULT_INTERVAL, val exportPath: String = createTempDirectory("alchemist-export") .absolutePathString() .also { logger.warn( "No output folder specified but export required. Alchemist will export data in $it", ) }, val fileExtension: String = "csv", appendTime: Boolean = false) : AbstractExporter<T, P>

Writes data provided by a number of extractors to a CSV file. The CSV uses '#' as the comment character.

Type Parameters

T

the concentration type

P

the position type

Constructors

Link copied to clipboard
constructor(fileNameRoot: String = "", interval: Double = DEFAULT_INTERVAL, exportPath: String = createTempDirectory("alchemist-export") .absolutePathString() .also { logger.warn( "No output folder specified but export required. Alchemist will export data in $it", ) }, fileExtension: String = "csv", appendTime: Boolean = false)

Properties

Link copied to clipboard
lateinit override var dataExtractors: List<Extractor<*>>

The list of bound data extractors.

Link copied to clipboard

the directory to write exported files (temporary folder is used when omitted)

Link copied to clipboard

the extension for the exported files (default: 'csv')

Link copied to clipboard

the sampling time; defaults to AbstractExporter.DEFAULT_INTERVAL

Functions

Link copied to clipboard
override fun bindDataExtractors(dataExtractors: List<Extractor<*>>)

Assign the list of dataExtractors to the selected Exporter.

Link copied to clipboard
override fun bindVariables(variables: Map<String, *>)

Assign the map of variables to the selected Exporter.

Link copied to clipboard
open override fun close(environment: Environment<T, P>, time: Time, step: Long)

Close the export environment. This method is called when the simulation finishes.

Link copied to clipboard
open override fun exportData(environment: Environment<T, P>, reaction: Actionable<T>?, time: Time, step: Long)

Delegates the concrete implementation of this method to his subclasses.

Link copied to clipboard
open override fun setup(environment: Environment<T, P>)

Prepare the export environment. This method is called only once upon simulation initialization.

Link copied to clipboard
override fun update(environment: Environment<T, P>, reaction: Actionable<T>?, time: Time, step: Long)

Every step of the simulation check if is time to export data depending on the sampling interval. Converts the division of the current time and the interval to Long in order to export data only when the difference between steps is as big as the sampling interval.