Configuration
The following functions allows to configure Vahana's behaviour:
Vahana.enable_asserts
— Functionenable_asserts(enable::Bool)
Vahana comes with some internal consistency checks, at the cost of run-time performance (e.g., in agentstate
there are checks that the specified agenttype matches the agent's ID, which creates of course some overhead). The assertions that could degrade the run performance can be disabled by calling enable_asssertions(false)
.
The recommended approach is therefore to leave the assertions enabled during the development of the model, but to disable them when the model goes "into production", e.g. before the start of a parameter space exploration.
Vahana.suppress_warnings
— Functionsuppress_warnings(suppress::Bool)
In some cases Vahana print some hints or warnings to the stdout. This can be suppressed by calling the suppress_warnings(true)
function after importing Vahana.
Vahana.detect_stateless
— Functiondetect_stateless(detect::Bool)
Per default, Vahana expects that the :Stateless hint is set manually.
This design decision was made so as not to confuse users, since then, for example, the edges
is not available.
This behaviour can be customized by calling detect_stateless
before calling register_edgetype!
.
Vahana.set_compression
— Functionset_compression(level::Int, parallel_hdf5_compression = false)
Set the compression level of HDF5 files.
However, by default, HDF5 datasets are not compressed when the used HDF5 library supports Parallel HDF5 due to encountered issues. While the necessary code to compress datasets in the Parallel HDF5 case is implemented, its activation via the parallelhdf5compression argument is considered experimental and should be used with awareness of potential risks and the specificities of the HDF5 implementation in use.