CPNorm is a model of a community of harvesters using a **common pool** resource – in this case a groundwater reservoir. Over time they have identified the optimal groundwater extraction level and it has become a social **norm** to adhere to this. Harvesters can either follow the norm (cooperators) or decide not to and extract more water (defectors or cheaters). Violation of the norm is sanctioned through social disapproval (ostracism) by the norm followers, thus reducing the utility that the norm violators receive from the resource.
In each time step the shared resource (groundwater) is replenished naturally by some amount of water flowing in and diminished by some amount of natural discharge. In addition, the agents extract some amount of groundwater depending on the strategy they follow (either cooperate or cheat). They use this to produce some kind of (abstract) product, which will give them a payoff (calculated as their proportion of the total extraction effort times the overall production minus their extraction costs). From this payoff they obtain a utility value, which is the same as the payoff in case of cooperators. Cheaters experience social disapproval that reduces their utility with an amount that depends on the level of cooperation in the community and the degree of norm violation (ostracism cost).
At the end of each time step, some agents might switch to a different strategy if the other agent they randomly meet has a higher utility. How many agents are randomly paired to compare their utilities is controlled via the parameter *update-probability*.
This model is a re-implementation in NetLogo of the model described in Schlüter M, Tavoni A, Levin S (2016): Robustness of norm-driven cooperation in the commons. Proc. R. Soc. B 2016 283 20152431; DOI: 10.1098/rspb.2015.2431.

This is a companion discussion topic for the original entry at https://www.comses.net/codebases/5655/releases/1.1.0/