File:Assumed development of population of precolumbian tiwanaku 1.png

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search

Original file(1,071 × 619 pixels, file size: 94 KB, MIME type: image/png)

Captions

Captions

Assumed development of population of Pre-Columbian Tiwanaku

Summary

[edit]
Description
English: Assumed development of population of Pre-Columbian Tiwanaku
Date
Source Own work
Author Merikanto

Sources of asumptions: Peak population, final population.

Initial population assumed same than final

Journal of Theoretical Biology Volume 291, 21 December 2011, Pages 29-32 Journal of Theoretical Biology A mathematical model for the Andean Tiwanaku civilization collapse: Climate variations

JC Flores, Mauro Bologna, Deterlino Urzagasti

Dates of origin, peak and collapse

The center cannot hold: A Bayesian chronology for the collapse of Tiwanaku

   Erik J. Marsh ,
   Alexei Vranich,
   Deborah Blom,
   Maria Bruno,
   Katharine Davis,
   Jonah Augustine,
   Nicole C. Couture,
   Santiago Ancapichún,
   Kelly J. Knudson,
   Danijela Popović,
   Gianni Cunietti

PLOS

   Published: November 22, 2023
   https://doi.org/10.1371/journal.pone.0288798 

                                                                                    1. 3
    1. Tiwanaku population growth , python3, based on simple assumptions
  1. 31.12.2023 0000.0000
    1. A mathematical model for the Andean Tiwanaku civilization collapse: Climate variations

import math import numpy as np import scipy

import matplotlib.pyplot as plt

from matplotlib.offsetbox import AnchoredText

def calcu_t2_r(t1,t2,p1,p2): td1=abs(t2-t1) pd1=p2/p1 r1=math.log(pd1)/td1 tt2=math.log(2)/r1 return(r1,tt2)


def calcu_population(pop0, r0, deltat, tas1, tas2,populimit1,shrinkt1, shrinkr1, collapset1, collapsefrac1):

rangelen1=int((tas2-tas1)/deltat) taa1=tas1 tb1=0 r1=r0 p1=pop0 taa1=tas1 tees=[] pops=[] nuna=0

for n in range(0,rangelen1): tb1=tb1+deltat taa1=taa1+deltat p2=p1*math.exp(tb1*r1) #print(taa1,p2) if(p2>populimit1): p2=populimit1 r1=1e-4 if(taa1>shrinkt1): r1=shrinkr1 tb1=0 p1=p2 #print(r1,p1) nuna=nuna+1 #print(shrinkt1, collapset1) print(taa1,p2,r1) #if(nuna>2): quit(-1)

if(taa1>collapset1): #print("Collapse") p2=p2*collapsefrac1 r1=-1

tees.append(taa1) pops.append(p2) #print(taa1,tb1,p2) print(taa1,p2)

tees=np.array(tees) pops=np.array(pops)

return(tees, pops)


    1. population growth calcu times

p1=2000 ## p2=45000 ## tiwanaku

ta1=150 ## ta2=800

    1. rendder times

te1=150 te2=1200

deltat=5 ## time step

    1. growth rate
  1. r1=0.0031
  1. r1=0.00225
  2. r1=1e-3 ## often in ancient cultures

rc1,tc_two1=calcu_t2_r(ta1,ta2,p1,p2)

print(" r  %",rc1)

print(" T2 ",int(tc_two1))

tee2=900 deetee2=tee2-ta1

r1=rc1 t_two=tc_two1

pee2=math.exp(r1*deetee2)*p1

print(pee2)

collapsepros1=2000/45000

    1. assumed pop collapse to 5%

tees0, pops0=calcu_population(p1/4, r1, deltat, te1, te2, 100000, 800, -r1, 1020,collapsepros1) tees1, pops1=calcu_population(p1/2, r1, deltat, te1, te2, 100000, 800, -r1, 1020,collapsepros1) tees2, pops2=calcu_population(p1, r1, deltat, te1, te2, 100000, 800, -r1, 1020,collapsepros1) tees3, pops3=calcu_population(p1*2, r1, deltat, te1, te2, 100000, 800, -r1, 1020,collapsepros1) tees4, pops4=calcu_population(p1*3, r1, deltat, te1, te2, 100000, 800, -r1, 1020,collapsepros1)

plt.plot(tees0,pops0, lw=2, color="violet", linestyle=":", label="500") plt.plot(tees1,pops1, lw=3, color="blue", linestyle="--", label="1000") plt.plot(tees2,pops2, lw=5, color="green", label="2000") plt.plot(tees3,pops3, lw=3, linestyle=":", color="orange", label="4000")

plt.legend(title="Initial population")

SMALL_SIZE = 16 MEDIUM_SIZE = 18 BIGGER_SIZE = 20

plt.rcParams.update({'font.size': MEDIUM_SIZE,}) plt.tick_params(labelsize=MEDIUM_SIZE)

plt.rc('font', size=SMALL_SIZE) # controls default text sizes plt.rc('xtick', labelsize=MEDIUM_SIZE) # fontsize of the tick labels plt.rc('ytick', labelsize=MEDIUM_SIZE)

plt.suptitle("Assumed Tiwanaku population") plt.title("Constant growth rate, shrink, sudden collapse") plt.xlabel("Year BC/AD", size=MEDIUM_SIZE) plt.ylabel("Population, estimated", size=MEDIUM_SIZE)

plt.grid()

  1. annot1="Initial population at "+str(ta1)+ " BC "+str(p1)
  1. annot2="Population at "+str(ta2)+ " AD "+str((p2+10)/1000000)+" million"

annot3="Growth rate "+str(round(r1*10000)/100)+ " %" annot4="Duplication time "+str(int(round(t_two)))+ " yr"

  1. plt.text(-10000, 4.0e6, "Assumptions", fontsize=12)
  1. plt.text(-10000, 3.5e6, annot1, fontsize=12)
  2. plt.text(-10000, 3.25e6, annot2, fontsize=12)

plt.text(200, 8.0e4, annot3, fontsize=20) plt.text(200, 7.0e4, annot4, fontsize=20)

plt.show()

Licensing

[edit]
I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current14:23, 31 December 2023Thumbnail for version as of 14:23, 31 December 20231,071 × 619 (94 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata