Running an ABM Hackaton
20 September 2018
Last week, we,the good people of the CoHeSys-lab, got together to try and build a quick model under the guidance of Ranu Sinha, an extremely talented DPhil working on water resources at the University.
Overall I think we did a decent job. This was my first experience in quasi-participatory modelling: Ranu was our expert and was there the whole time steering us towards what’s important to her.
I think I learned quite a lot of things from this.
- Netlogo builds prototypes fast. I am not a Netlogo user and we were lucky having Adam Formica in the room but even so, there were very few instances where the language got in the way. It’s the right tool for an hackaton
- Participatory Modelling is great but not a silver bullet. Modelling means abstracting away all details that are not absolutely necessary but to a stakeholder everything is important all the time. This tradeoff is obviously inevitable but I think we landed on a decent compromise where instead of saying “yes” or “no” to each new dimension we simply ranked each detail in terms of priority (shall we code in first farms of different size or crop selection?) and got going. It wasn’t perfect, of course (how much time should we spend coding more stuff compared to muck around data to see how to parametrize what we already have?) but it kept us going.
- Vertical Slices are always the way to go. As you prioritize what to build first, always try to have a working, running ABM for people who aren’t coding to tinker with and improve.
- Usability improvements can go a long way. Ranu had a lot of data in a particular format (say, precipitation in millimiters and aquifer size in guessed years before collapse) while the model really needed everything in a different format (millions of liters per hectare and conversion rates). I think probably the single best we spent was to make sure the sliders in the GUI reflected data as the user understand it and let the code do the conversion in the background.
- It was embarassingly fun. I mean, we had strong disagreements from time to time but each break we took we all told each other how energising the whole experience was. Teamwork is rare in academia. Just don’t tell the boss or he’ll have us doing this a lot more often.