New Immissions/Updates:
boundless - educate - edutalab - empatico - es-ebooks - es16 - fr16 - fsfiles - hesperian - solidaria - wikipediaforschools
- wikipediaforschoolses - wikipediaforschoolsfr - wikipediaforschoolspt - worldmap -

See also: Liber Liber - Libro Parlato - Liber Musica  - Manuzio -  Liber Liber ISO Files - Alphabetical Order - Multivolume ZIP Complete Archive - PDF Files - OGG Music Files -

PROJECT GUTENBERG HTML: Volume I - Volume II - Volume III - Volume IV - Volume V - Volume VI - Volume VII - Volume VIII - Volume IX

Ascolta ""Volevo solo fare un audiolibro"" su Spreaker.
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Talk:World3 nonrenewable resource sector - Wikipedia, the free encyclopedia

Talk:World3 nonrenewable resource sector

From Wikipedia, the free encyclopedia

Python program used to simulate the nonrenewable resource sector:

#!/usr/bin/env python

import math
from dynamo import *


#levels
nr = "nr" #Nonrenewable resources
ic = "ic" #Industrial Captial
nrtd = "nrtd" #Nonrenewable resource technology initiated
#nruf2_l1 = "nruf2_l1" #Nonrenewable resource usage rate delay level
#nruf2_l2 = "nruf2_l2" #Nonrenewable resource usage rate delay level
#nruf2_l3 = "nruf2_l3" #Nonrenewable resource usage rate delay level


#rates
nrur = "nrur" #Nonrenewabel resource usage rate
icir = "icir" #Industrial capital investment rate
icdr = "icdr" #Industrial capital depreciation rate
#nruf2_r1 = "nruf2_r1" #Nonrenewable resource usage rate delay rate
#nruf2_r2 = "nruf2_r2" #Nonrenewable resource usage rate delay rate
#nruf2_r3 = "nruf2_r3" #Nonrenewable resource usage rate delay rate
nrate = "nrate" #Nonrenewable resource technology improvement rate



#axillaries
nruf = "nruf" #Nonrenewable resource usage factor
pcrum = "pcrum" #Per capita resource use multiplier
nrfr = "nrfr" #Nonrenewable resource fraction remaining
fcaor ="fcaor" #Fraction of capital allocated to obtaining resources
fcaor1 = "fcaor1" #Normal fcaor
fcaor2 = "fcaor2" #Alternative fcaor
pop = "pop" #Population
pop1 = "pop1" #Exponentially growing pop
io = "io" #Industrial output
iopc = "iopc" #Industrial output percapita
nruf2 = "nruf2" #Nonrenewable resource usage factor after recycle year
nrcm = "nrcm" #Resource technological change multiplier
icor = "icor" #Industrial capital output ratio


#constants
nri = 1e12 #Nonrenewable resources initial
nruf1 = 1 #Nonrenewable resource usage factor 1
popi = 1.65e9 #Initial population in 1900
gc = 0.012 #Population growth constant
zpgt = 2500 #Zero population growth time
pop2 = popi*math.exp(gc*(zpgt-1900)) #population at zpgt
ici = 2.1e11 #Industrial capital initial
fioaa = 0.12 #Fraction of industrial output allocated to agriculture
fioas = 0.12 #Fraction of industrial output allocated to services
fioac = 0.43 #Fraction of industrial output allocated to consumption
alic = 14.0 #Average life of industrial capital
pyear = 1995 #Year to switch nruf
tdd=10 #Technological development and implementation delay
dnrur=2e9 #Desired nonrenewable resource usage rate

#parameters
dt = 1.0
initial_time = 1900.0

#initial data
i = {}

#Initial levels
i[nr] = nri
i[ic] = ici
i[nrtd]=1.0
smooth3_init(i,nruf2,i[nrtd])

def calc_auxiliaries_and_rates(n,time):
    #first the auxiliaries
    n[nruf2] = smooth3_cur_value(n,nruf2)
    n[nruf] = clip(n[nruf2],nruf1,time,pyear)
    n[nrfr] = n[nr]/nri
    
    n[fcaor1] = table_lookup(n[nrfr],0.0,1.0,0.1,[1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.05, 0.05, 0.05, 0.05])
    n[fcaor2] = table_lookup(n[nrfr],0.0,1.0,0.1,[1.0, 0.9, 0.7, 0.5, 0.2, 0.1, 0.05, 0.05, 0.05, 0.05, 0.05])
    n[fcaor] = clip(n[fcaor2],n[fcaor1],time,pyear)

    n[pop1] = popi*math.exp(gc*(time-1900.0))
    n[pop] = clip(pop2,n[pop1],time,zpgt)

    n[icor] = table_lookup(n[nrtd],0.0,1.0,0.2,[6.0,3.3,3.1,3.06,3.02,3.0])
    n[io] = n[ic]*(1.0 - n[fcaor])/n[icor]
    n[iopc] = n[io]/n[pop]
    
    n[pcrum] = table_lookup(n[iopc],0.0,1600.0,200.0,[0.0, 0.85, 2.6, 4.4, 5.4, 6.2, 6.8, 7.0, 7.0])


    #then the rates
    n[nrur] = n[pop]*n[pcrum]*n[nruf]
    n[icir] = n[io]*(1.0-fioaa-fioas-fioac)
    n[icdr] = n[ic]/alic
    n[nrcm] = table_lookup(1.0-n[nrur]/dnrur,-1.0,0.0,1.0,[-0.05,0.0])
    n[nrate] = clip(n[nrtd]*n[nrcm],0.0,time,pyear)

    smooth3_next_rates(n, nruf2, n[nrtd], tdd)    

    
calc_auxiliaries_and_rates(i,initial_time)

def get_next_time_step(j,time):
    n = {}
    #nextize levels
    n[nr] = j[nr]+dt*(-j[nrur])
    n[ic] = j[ic]+dt*(j[icir]-j[icdr])
    n[nrtd] = j[nrtd]+dt*(j[nrate])

    smooth3_next_levels(n,j,nruf2,dt)    

    calc_auxiliaries_and_rates(n,time)
    return n

run_times(initial_time,dt,200,i,get_next_time_step)

Dynamo include:

import math

def print_sorted_keys(dict,width):
    keys = dict.keys()
    keys.sort()
    f = "%"+str(width)+"s"
    for key in keys[:-1]:
        print (f+",") % key,
    print f % keys[-1]

def print_sorted_values(dict,width):
    keys = dict.keys()
    keys.sort()
    f = "%"+str(width)+"s"
    for key in keys[:-1]:
        print (f+",") % dict[key],
    print f % dict[keys[-1]]

def run_times(initial_time,dt,times,initial,get_next_time_step):
    prev = initial

    width = 20
    f = "%"+str(width)+"s,"
    print f % "time",
    print_sorted_keys(initial,width)
    print f % initial_time,
    print_sorted_values(initial,width)
    
    for i in range(1,times+1):
        time = i*dt + initial_time
        next = get_next_time_step(prev,time)
        print f % time,
        print_sorted_values(next,width)

        prev = next
    print f % "time",
    print_sorted_keys(initial,width)


def step(value,time,currentTime):
    if currentTime >= time:
        return value
    else:
        return 0.0

def clip(after_cutoff,before,value,cutoff_value):
    if value < cutoff_value:
        return before
    else:
        return after_cutoff

def table_lookup(value,low,high,increment,list):
    if value <= low:
        return list[0]
    elif high <= value:
        return list[-1]
    else:
        trans = (value - low)/increment
        low_index = int(math.floor(trans))
        delta = trans - low_index
        return list[low_index]*(1.0-delta)+list[low_index+1]*delta
        
def smooth3_init(init_dictionary,name,value):
    init_dictionary[name+"_l1"] = value
    init_dictionary[name+"_l2"] = value
    init_dictionary[name+"_l3"] = value

def smooth3_next_levels(cur_dict, prev_dict, name, dt):
    cur_dict[name+"_l1"] = prev_dict[name+"_l1"]+dt*prev_dict[name+"_r1"]
    cur_dict[name+"_l2"] = prev_dict[name+"_l2"]+dt*prev_dict[name+"_r2"]
    cur_dict[name+"_l3"] = prev_dict[name+"_l3"]+dt*prev_dict[name+"_r3"]

def smooth3_next_rates(cur_dict, name, value, delay):
    cur_dict[name+"_r1"] = (value - cur_dict[name+"_l1"])/(delay/3.0)
    cur_dict[name+"_r2"] = (cur_dict[name+"_l1"] - cur_dict[name+"_l2"])/(delay/3.0)
    cur_dict[name+"_r3"] = (cur_dict[name+"_l2"] - cur_dict[name+"_l3"])/(delay/3.0)

def smooth3_cur_value(cur_dict, name):
    return cur_dict[name+"_l3"]
    

Static Wikipedia (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu