mirror of
https://github.com/gsi-upm/soil
synced 2024-11-13 23:12:28 +00:00
2869b1e1e6
* Removed old/unnecessary models * Added a `simulation.{iter_}from_py` method to load simulations from python files * Changed tests of examples to run programmatic simulations * Fixed programmatic examples
22 lines
1.1 KiB
ReStructuredText
22 lines
1.1 KiB
ReStructuredText
Mesa compatibility
|
|
------------------
|
|
|
|
Soil is in the process of becoming fully compatible with MESA.
|
|
The idea is to provide a set of modular classes and functions that extend the functionality of mesa, whilst staying compatible.
|
|
In the end, it should be possible to add regular mesa agents to a soil simulation, or use a soil agent within a mesa simulation/model.
|
|
|
|
This is a non-exhaustive list of tasks to achieve compatibility:
|
|
|
|
- [ ] Integrate `soil.Simulation` with mesa's runners:
|
|
- [ ] `soil.Simulation` could mimic/become a `mesa.batchrunner`
|
|
- [ ] Integrate `soil.Environment` with `mesa.Model`:
|
|
- [x] `Soil.Environment` inherits from `mesa.Model`
|
|
- [x] `Soil.Environment` includes a Mesa-like Scheduler (see the `soil.time` module.
|
|
- [ ] Allow for `mesa.Model` to be used in a simulation.
|
|
- [ ] Integrate `soil.Agent` with `mesa.Agent`:
|
|
- [x] Rename agent.id to unique_id?
|
|
- [x] mesa agents can be used in soil simulations (see `examples/mesa`)
|
|
- [ ] Provide examples
|
|
- [ ] Using mesa modules in a soil simulation
|
|
- [ ] Using soil modules in a mesa simulation
|
|
- [ ] Document the new APIs and usage |