This PR works towards #1371 , namely to align HARK's modeling capabilities with the needs of the 'DYNARK' language, as anticipated based on last year's research sprint.
This PR introduces a new modeling component, a DBlock, which can include:
a name
parameters: mapping variable names to values
shocks: mapping variable names to distributions
dynamics: mapping variable names to transition functions or declarations of Control
This is a trivial change on top of the earlier generic monte carlo functionality, just repackaging the data into a 'block' unit. But this PR updates the GMC simulator, and introduces new automated testing of the model and block objects.
This is a necessary step towards future work, which is reserved for other PRs, including:
configuring an ATMC Simulator with multiple, linked blocks
including AgentType configuration (such as agent count) optionally in a model definition
multi-agent-type models supported by the ATMC siimulator
The 'DBlock' construct is based on Matt's original spec from some time ago. It admittedly does not have all the bells and whistles of the notional nohablo style block. However, it captures all of the currently available simulator functionality. The purpose of this step is to begin the co-development of the block definition with the monte carlo simulator, which determines its semantics.
This PR is ready for review.
[x] Tests for new functionality/models or Tests to reproduce the bug-fix in code.
[x] Updated documentation of features that add new functionality.
This PR works towards #1371 , namely to align HARK's modeling capabilities with the needs of the 'DYNARK' language, as anticipated based on last year's research sprint.
This PR introduces a new modeling component, a
DBlock
, which can include:This is a trivial change on top of the earlier generic monte carlo functionality, just repackaging the data into a 'block' unit. But this PR updates the GMC simulator, and introduces new automated testing of the model and block objects.
This is a necessary step towards future work, which is reserved for other PRs, including:
The 'DBlock' construct is based on Matt's original spec from some time ago. It admittedly does not have all the bells and whistles of the notional
nohablo
style block. However, it captures all of the currently available simulator functionality. The purpose of this step is to begin the co-development of the block definition with the monte carlo simulator, which determines its semantics.This PR is ready for review.