Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #5400.
This is a temporary patch for structural reforms failing when their parameters are initialized on a date other than 2024-01-01. This is meant to be supplanted by a refactor of structural reforms, which we aim to do in the coming couple of months.
The root of the issue is that, when instantiating a new
Simulation
orMicrosimulation
, structural reforms are conditionally applied based on the value of their parameters at a given date. This was previously hard-coded to 2024-01-01, and so in #5400, a reform instantiated in 2026 would not be treated as "active" by theMicrosimulation
initializer.This code makes the start instant a passable argument, allowing a user to override the default behavior and, in the example in #5400, set "2026-01-01" as the start instant. The effect of this change is that structural reforms will require this parameter to be passed to both the baseline and reform
Microsimulation
instances that we typically initialize. If a given reform contains multiple structural reforms with multiple different start dates, multipleMicrosimulation
instances will be required.