Configurable mortality and aging in an AgentTypeMonteCarloSimulator
Opened this issue · 1 comments
AgentTypeMonteCarloSimulation current has some hard-coded logic about mortality and birth.
https://github.com/econ-ark/HARK/blob/master/HARK/simulation/monte_carlo.py#L350-L394
One of the recent language research outcomes (RLRO) was a proposal for how mortality/birth/aging information can be encoded as a 'block'.
How to properly include aging and mortality in a general, configurable way is currently an unsolved issue for the software design, let alone the language design. This is partly because agent aging also involves indexing into time-dependent parameter values.
This issue is for exploring and implementing the HARK 1.0 version of generalized aging, birth, and mortality, and its interaction with the parameterization logic.
See #1371 for terminology.
Notes from today's meeting with @mnwhite and @alanlujan91 on this:
- consider breaking up the information between model definition and simulation specification.
- generalized aging: stochastic aging (transitions between life phases, rather than incrementing deterministically)
- how to have age-varying parameters without references to age inside the 'hermetic' blocks?
- maybe this information goes in the 'links' section, since this can do things like:
- 'twist' variables (maybe age-indexing happens here also)
- direct block flow to a terminal state upon death.