Model and Parameters

This help file describes how the ArchaeoSim simulation works. Topics:

Simulator Steps

ArchaeoSim is mostly an individual-based simulator. The individual are the towns.

You can click on towns to see their stats.

This civilization was highly organized. The laborers worked the fields in exchange for wages for themselves and their families. Those wages were grain rations. On harvest day, the state granaries took all. The rest of the year, the granaries paid out rations. Like any civilization, there were also elites, who took their share in taxes. But almost everyone belonged to a laborer (gurush) family.

On Loading a Scenario

When the simulator loads a Scenario, it first loads map data that goes with the scenario. The map data tells ArchaeoSim where each settlement is, and the area of the town in hectares. The data was acquired by archaeologists excavating each of these towns.

The Scenarios use five different town map data sets.

We don't know when towns were founded or abandoned exactly, or how they grew. We just know that during this archaeological period, the settlement appeared to have a downtown area of N hectares. People mostly lived in town and walked out to their fields. This data is taken as roughly the area of the town in the middle of the period. So each town's area is scaled back by an initial map scale factor, to regress its size to the beginning of the period.

The starting population of each town is simply the town area multiplied by town density, one of the parameters you can set.

Now we have a population. That population needs a certain amount of grain to feed it and provide seed to plant next year—one "grain-year". This civilization relied on state granaries to feed the people. The state grain stores are initialized to two grain-years in storage. The field area (yellow circles around the red towns on the map) is set for each town based on its population, grain demand, hectares each laborer can cultivate, etc.

Each town is also assigned a rainfall multiplier used to calculate the rainfall it receives based on its location relative to the nearest isohyets.

The first year receives the rainfall given in the parameters, setting the third isohyet from the top. Other isohyets receive rainfall offset from this isohyet, as do the towns. This is used to initialize the Rain/Yield/Farms plot.

Each Year Thereafter

The simulator performs the following steps each year, after initialization. Think of it as the agricultural year.

The new year begins the day after the grain harvest. Nobody's eaten yet from that harvest. With luck, that means the year begins with at least one grain-year stored. A grain-year is however much it takes to feed the current population, pay taxes to support the elite (and sometimes Akkadian overlords), and plant next year's crop.

  1. Dole out grain from the state grain stores.
    • Feed the people their rations all year.
    • Reserve seed for planting the next year's fields.
    • If there isn't enough grain stored to meet those demands, empty the granaries and figure out just how hungry and seedless the situation is. A foodModifier is calculated to express this. In a good year, the foodModifier is 1.
    • Remaining grain is aged or discarded. About 10% spoils every year, and grain older than 4 years is discarded.
  2. Step the population.
    • Apply the foodModifer to the base vital rates—immigration, death, and birth rates. Nobody immigrates here when people are hungry. The birth rate goes down, the death rate goes up, if foodModifier < 1.
    • Calculate this year's population growth rate (= births + immigration - deaths) for the overall population.
    • For each town, apply the growth rate.
    • A small proportion of the people are tradesmen (1.25%). Some of them migrate from small towns to bigger towns.
    • Update field area for the town by its new population.
    • It is possible to run out of arable land, if the population gets too large.
  3. Step the land.
    • There is a landModifier yield penalty if not enough land was left fallow. Grain takes a lot out of the soil—50% needs to be left fallow every year. Land used two years in a row yields half as much grain. Three years in a row, one quarter as much grain.
    • In practice, fallow fields grew legumes for the livestock, which are omitted from this simulation.
  4. Calculate rainfall.
    • This year's rainfall is calculated for the master isohyet (3rd isohyet down from the top of the map).
    • Rainfall parameters mean and σ are used to generate a new random rainfall in mm.
    • Rainfall uses a normal distribution about the mean with a standard deviation of σ. (That means 67% of the time, the rainfall is within σ above or below the mean, in a bell curve.)
    • Note: Because of this random component, you can get different results if you run a scenario multiple times, especially if the scenario is borderline in terms of how much margin of grain is typically in the grain stores.
  5. Harvest grain.
    • Every town grows grain based on its fields and local rainfall, possibly hampered by starving laborers.
    • Calculate rainModifier if rainfall > maxGoodRain—grain doesn't do well if overwatered:

      rain modifier = (maxGoodRain / rainfall)2

      where maxGoodRain = 600 mm. Otherwise, the rainModifier is 1.
    • Multiply the bad-luck modifiers together:

      modifiers = foodModifier * landModifier * rainModifier

      In a good year, modifiers = 1.
    • Calculate grain yield with the formula:

      grain yield = yieldSlope * modifiers * rainfall + yieldIntercept

      where yieldSlope = 4.36 and yieldIntercept = -880. That's a straight line of the form y = ax + b.
    • All the grain sums up to this year's production.
  6. Pay taxes.
    • Pay percentage taxes on production—elite tax rate and Akkad tax rate.
    • If using the special local grain-year stores limit tax, that's all that can go into the granaries. Any surplus is carted off to Akkad.
  7. Store the grain left over from taxes.
  8. Update the plots. Year over.

Parameter Details

Scenario Give a name to your custom scenario. It automatically prepends "My " to the scenario name. When you Apply your changes, your new custom scenario is added to the bottom of the Scenario list.
Rainfall Rainfall is calculated for the master isohyet (3rd isohyet down from the top of the map). Rainfall parameters mean and σ (mm) are used to generate a random rainfall in mm every year after initialization. This uses a normal distribution about the mean with a standard deviation of σ. (That means 67% of the time, the rainfall is within σ above or below the mean, in a bell curve.)
Years Begin and end years for this scenario. When you click the run-to-end button, the simulator runs to the end year. In B.C., so begin year is bigger than end year (they're negative numbers, in effect, written as positive numbers usually).
People Town density governs population. What we know from the archaeological record is town area in hectares. Town density is people per hectare. Typical archaeological estimates are 125 to 250 people per hectare at that time. So population is initialized to town area x town density.
Vital Rates "Vital rates" are population demographic rates—they describe population growth. These are percentages, expressed in their fraction form. So, for instance, a birth rate of 0.02 means 2%. These rates are multiplied by population each year to get increases or decreases per year.

Immigration is the rate of people moving into Subir from elsewhere. A negative number means emigration—the rate people are fleeing.

Birth rate is the overall population birth rate. People often get confused about the numerator and denominator with birth rates, because birth rates are expressed so many different ways. This is not live births per woman per lifetime, but rather birth rate per population per year. Two percent of the overall population adds a baby each year.

Death rate is also multiplied by population to subtract the number of deaths each year. It's slightly lower than the birth rate.

The birth rate and death rate don't change from scenario to scenario. They're essentially the historical natural human population growth rates without benefit of modern medical advances. Over the long haul, populations grew at about 0.07% per year. The immigration rate changes drastically between scenarios. More on that under Scenario Crafting.

Rations Strangely enough, we know the wages of these ancient laborers and their families. Our quarts and liters are descended from their pottery ration bowls. Although women were generally paid less because they didn't need as much food, a few with prized textile skills earned up to 10 liters of grain a day.

These are daily rations of grain, paid out from the state grain stores. Elites are paid out of taxes, and aren't included here. These rations are for the laborer class, that makes up the lion's share of the population.

Farming Hectares per laborer is how much land each man can cultivate. This value rises across scenarios, for two reasons. One, the society gets more productive, between technological and social advances. A technological advance might be increasingly suitable draft animals. A social advance might be recognizing young discontents in the labor force and shifting them to a military career track. Two, the Akkadian overlords might force the Subir population to practice more intensive agriculture—each man needs to work harder.

The fallow fraction is how much agricultural land is not growing grain each year. People learned to rotate grain crops very early in agriculture. If you grow grain a second year in the same field, grain yields per hectare are cut in half. There's no particular reason to change this parameter. But educated people should be aware of this.

Taxes The local elite harvest tax rate is how much of each harvest is siphoned off for use by the elites. That grain is not available to feed the laborers. The elites get paid first. Elites include priests, clerks, craftsman, rulers, and the military.

The local elite harvest tax rate is available in all scenarios.

In the Akkadian scenarios, Akkadian taxes are paid in addition to the local elites.

The Akkad harvest tax rate works the same as the local elite harvest tax rate.

The local grain-year stores limit is an alternate tax scheme. In Scenario "Akkadian Version 1", the limit is 10 grain-years stored locally—no limit, in effect, because grain doesn't store for 10 years. But in Scenario "Akkadian Version 2", local granaries are limited to 1.6 grain-years. This is (barely, usually) enough to make sure people don't starve in Subir. But anything in excess of that, goes to Akkad. You can imagine that buildings 1-3 were filled with local grain first, then all other granaries belonged to Akkad.

Note that Farming parameter hectares per laborer is also used to explore how Akkad could exploit Subir.

The archaeological record shows that agriculture was intensified under Akkadian imperialization. There are new towns in low-rainfall areas. Compare Scenarios "Leilan Mature State" and "Akkadian Version 1" for towns south of the middle of the map.

Other There are many, many parameters in ArchaeoSim. In earlier versions, almost all of them were available to play with on the user interface. We simplified that for ArchaeoSim 4, in favor of focusing on the key ideas.

Scenario Crafting

The data underlying ArchaeoSim is a collection of map data sets for the successive periods—settlement location and area in hectares.

In crafting the Scenarios, we want a continous population story. So the population at the end of "Leilan Early State" in 2500 BC matches the beginning of "Leilan Mature State" in 2500 BC. The people are just distributed across new map locations.

To do this, the map data was taken as roughly the middle of a scenario period. Then we tweaked an initial map scale (shrink the towns on initialization), the hectares per laborer, and immigration rate, to tilt population growth curves to connect the ending to beginning populations across scenarios.

The "Abrupt Climate Change" scenarios are a problem with this. The true map data for the very beginning of this period is only used in "Abrupt Climate Change Version 1". The archaeological record is of a small remnant of towns that were abandoned quickly. In terms of telling a continuous population story, this isn't very useful. We want students to control the crash, not the map. So "Abrupt Climate Change Version 2" instead uses the previous period's map and lets people flee or starve from there.

Ginger Booth, October 2014