Checks that the given MizerSim object is valid and upgrades it if necessary. Checks whether any abundances are non-finite and if any are found, a warning is issued and the simulation is truncated at the last time step where all results are finite.
Details
Occasionally, during the development of new features for mizer, the MizerSim class or the MizerParams class gains extra slots. MizerSim objects created in older versions of mizer are then no longer valid in the new version because of the missing slots. You need to upgrade them with this function.
This function adds the missing slots and fills them with default values. It
also calls validParams()
to upgrade the MizerParams object inside the
MizerSim object. Any object from version 0.4 onwards can be upgraded.
Backwards compatibility
The internal numerics in mizer have changed over time, so there may be small discrepancies between the results obtained with the upgraded object in the new version and the original object in the old version. If it is important for you to reproduce the exact results then you should install the version of mizer with which you obtained the results. You can do this with
where you should replace "v0.2" with the version number you require. You can see the list of available releases at https://github.com/sizespectrum/mizer/tags.
If you only have a serialised version of the old object, for example
created via saveRDS()
, and you get an error when trying to read it in
with readRDS()
then unfortunately you will need to install the old version
of mizer first to read the params object into your workspace, then switch
to the current version and then call validParams()
. You can then save
the new version again with saveParams()
.