Trailing-Edge
-
PDP-10 Archives
-
decuslib20-06
-
decus/20-160/world3.dat
There are no other files named world3.dat in the archive.
TITLE WORLD3 - THE DYNAMICS OF GROWTH IN A FINITE WORLD 00000010
* EULER 00000020
NOTE LIMITS TO GROWTH BY DONELLA MEADOWS ET.AL. 00000030
NOTE THIS IS THE VERSION USED IN THE TECHNICAL REPORT 00000040
NOTE LAST REVISED DECEMBER 14,1972 00000050
NOTE 00000060
NOTE POPULATION SECTOR 00000070
NOTE 00000080
A POP.K=P1.K+P2.K+P3.K+P4.K 00000090
L P1.K=INTGRL(B.JK-D1.JK-MAT1.JK) 00000100
N P1=P1I 00000110
C P1I=65E7 00000120
R D1.KL=P1.K*M1.K 00000130
A M1.K=TABHL(M1T,LE.K,20,80,10) 00000140
T M1T=.0567,.0366,.0243,.0155,.0032,.0023,.001 00000150
R MAT1.KL=(P1.K)(1-M1.K)/15 00000160
L P2.K=INTGRL(MAT1.JK-D2.JK-MAT2.JK) 00000170
N P2=P2I 00000180
C P2I=70E7 00000190
R D2.KL=P2.K*M2.K 00000200
A M2.K=TABHL(M2T,LE.K,20,80,10) 00000210
T M2T=.0266,.0171,.0110,.0065,.0040,.0016,.0008 00000220
R MAT2.KL=(P2.K)(1-M2.K)/30 00000230
L P3.K=INTGRL(MAT2.JK-D3.JK-MAT3.JK) 00000240
N P3=P3I 00000250
C P3I=19E7 00000260
R D3.KL=P3.K*M3.K 00000270
A M3.K=TABHL(M3T,LE.K,20,80,10) 00000280
T M3T=.0562,.0373,.0252,.0171,.0118,.0083,.006 00000290
R MAT3.KL=(P3.K)(1-M3.K)/20 00000300
L P4.K=INTGRL(MAT3.JK-D4.JK) 00000310
N P4=P4I 00000320
C P4I=6E7 00000330
R D4.KL=P4.K*M4.K 00000340
A M4.K=TABHL(M4T,LE.K,20,80,10) 00000350
T M4T=.13,.11,.09,.07,.06,.05,.04 00000360
NOTE 00000370
NOTE DEATH RATE SUBSECTOR 00000380
NOTE 00000390
A D.K=(P1.K*M1.K)+(P2.K*M2.K)+(P3.K*M3.K)+(P4.K*M4.K) 00000400
S CDR.K=1000*D.K/POP.K 00000410
A LE.K=LEN*LMF.K*LMHS.K*LMP.K*LMC.K 00000420
C LEN=28 00000430
A LMF.K=TABHL(LMFT,FPC.K/SFPC,0,5,1) 00000440
T LMFT=0,1,1.2,1.3,1.35,1.4 00000450
A LMHS.K=CLIP(LMHS2.K,LMHS1.K,TIME.K,1940) 00000460
A LMHS1.K=TABHL(LMHS1T,EHSPC.K,0,100,20) 00000470
T LMHS1T=1,1.1,1.4,1.6,1.7,1.8 00000480
A LMHS2.K=TABHL(LMHS2T,EHSPC.K,0,100,20) 00000490
T LMHS2T=1,1.4,1.6,1.8,1.95,2.0 00000500
A EHSPC.K=NEW6.K 00000510
N NEW6=7.0810 00000520
L NEW6.K=INTGRL(NE6RAT.JK) 00000530
R NE6RAT.KL=(HSAPC.K-NEW6.K)/HSID 00000540
C HSID=20 00000550
A HSAPC.K=TABHL(HSAPCT,SOPC.K,0,2000,250) 00000560
T HSAPCT=0,20,50,95,140,175,200,220,230 00000570
A FPU.K=TABHL(FPUT,POP.K,0,16E9,2E9) 00000580
T FPUT=0,.2,.4,.58,.65,.72,.78,.80 00000590
A CMI.K=TABHL(CMIT,IOPC.K,0,1600,200) 00000600
T CMIT=.5,.05,-.1,-.08,-.02,.05,.1,.15,.2 00000610
A LMC.K=1-(CMI.K*FPU.K) 00000620
A LMP.K=TABHL(LMPT,PPOLX.K,0,100,10) 00000630
T LMPT=1.0,.99,.97,.95,.90,.85,.75,.65,.55,.40,.20 00000640
NOTE 00000650
NOTE BIRTH RATE SECTOR 00000660
NOTE 00000670
R B.KL=CLIP(D.K,(TF.K*P2.K*0.5/RLT),TIME.K,PET) 00000680
C RLT=30 00000690
C PET=4000 00000700
S CBR.K=1000*B.JK/POP.K 00000710
A TF.K=MIN(MTF.K,(MTF.K*(1-FCE.K)+DTF.K*FCE.K)) 00000720
A MTF.K=MTFN*FM.K 00000730
C MTFN=12 00000740
A FM.K=TABHL(FMT,LE.K,0,80,10) 00000750
T FMT=0,.2,.4,.6,.8,.9,1,1.05,1.1 00000760
A DTF.K=DCFS.K*CMPLE.K 00000770
A DCFS.K=CLIP(2.0,DCFSN*FRSN.K*SFSN.K,TIME.K,ZPGT) 00000780
C ZPGT=4000 00000790
C DCFSN=4 00000800
A FRSN.K=TABHL(FRSNT,FIE.K,-.2,.2,.1) 00000810
T FRSNT=.5,.6,.7,.85,1 00000820
A FIE.K=(IOPC.K-AIOPC.K)/AIOPC.K 00000830
A AIOPC.K=NEW5.K 00000840
N NEW5=40.876 00000850
L NEW5.K=INTGRL(NE5RAT.JK) 00000860
R NE5RAT.KL=(IOPC.K-NEW5.K)/IEAT 00000870
C IEAT=3 00000880
A SFSN.K=TABHL(SFSNT,DIOPC.K,0,800,200) 00000890
T SFSNT=1.25,1,.9,.8,.75 00000900
A DIOPC.K=O3.K 00000910
N O1=40.876 00000920
N O2=40.876 00000930
N O3=40.876 00000940
L O1.K=INTGRL(RO1.JK) 00000950
L O2.K=INTGRL(RO2.JK) 00000960
L O3.K=INTGRL(RO3.JK) 00000970
R RO1.KL=(IOPC.K-O1.K)/(SAD/3) 00000980
R RO2.KL=(O1.K-O2.K)/(SAD/3) 00000990
R RO3.KL=(O2.K-O3.K)/(SAD/3) 00001000
C SAD=20 00001010
A CMPLE.K=TABHL(CMPLET,PLE.K,0,80,10) 00001020
T CMPLET=3,2.1,1.6,1.4,1.3,1.2,1.1,1.05,1 00001030
A PLE.K=N3.K 00001040
N N1=28.351 00001050
L N1.K=INTGRL(RN1.JK) 00001060
R RN1.KL=(LE.K-N1.K)/(LPD/3) 00001070
N N2=28.351 00001080
L N2.K=INTGRL(RN2.JK) 00001090
R RN2.KL=(N1.K-N2.K)/(LPD/3) 00001100
N N3=28.351 00001110
L N3.K=INTGRL(RN3.JK) 00001120
R RN3.KL=(N2.K-N3.K)/(LPD/3) 00001130
C LPD=20 00001140
A FCE.K=CLIP(1.0,(TABHL(FCET,FCFPC.K,0,3,.5)),TIME.K,FCEST) 00001150
C FCEST=4000 00001160
T FCET=.75,.85,.9,.95,.98,.99,1 00001170
A FCFPC.K=N6.K 00001180
N N4=.098140 00001190
N N5=.098140 00001200
N N6=.098140 00001210
L N4.K=INTGRL(RN4.JK) 00001220
L N5.K=INTGRL(RN5.JK) 00001230
L N6.K=INTGRL(RN6.JK) 00001240
R RN4.KL=(LE.K-N4.K)/(LPD/3) 00001250
R RN5.KL=(N4.K-N5.K)/(LPD/3) 00001260
R RN6.KL=(N5.K-N6.K)/(LPD/3) 00001270
A FCAPC.K=FSAFC.K*SOPC.K 00001280
A FSAFC.K=TABHL(FSAFCT,NFC.K,0,10,2) 00001290
T FSAFCT=0,.005,.015,.025,.03,.035 00001300
A NFC.K=(MTF.K/DTF.K)-1 00001310
NOTE 00001320
NOTE CAPITAL SECTOR 00001330
NOTE 00001340
NOTE INDUSTRIAL SUBSECTOR 00001350
NOTE 00001360
A IOPC.K=IO.K/POP.K 00001370
A IO.K=(IC.K)(1-FCAOR.K)(CUF.K)/ICOR.K 00001380
A ICOR.K=CLIP(ICOR2,ICOR1,TIME.K,PYEAR) 00001390
C ICOR1=3 00001400
C ICOR2=3 00001410
L IC.K=INTGRL(ICIR.JK-ICDR.JK) 00001420
N IC=ICI 00001430
C ICI=2.1E11 00001440
R ICDR.KL=IC.K/ALIC.K 00001450
A ALIC.K=CLIP(ALIC2,ALIC1,TIME.K,PYEAR) 00001460
C ALIC1=14 00001470
C ALIC2=14 00001480
R ICIR.KL=(IO.K)(FIOAI.K) 00001490
A FIOAI.K=(1-FIOAA.K-FIOAS.K-FIOAC.K) 00001500
A FIOAC.K=CLIP(FIOACV.K,FIOACC.K,TIME.K,IET) 00001510
C IET=4000 00001520
A FIOACC.K=CLIP(FIOAC2,FIOAC1,TIME.K,PYEAR) 00001530
C FIOAC1=.43 00001540
C FIOAC2=.43 00001550
A FIOACV.K=TABHL(FIOACT,IOPC.K/IOPCD,0,2,.2) 00001560
T FIOACT=.3,.32,.34,.36,.38,.43,.73,.77,.81,.82,.83 00001570
C IOPCD=400 00001580
NOTE 00001590
NOTE SERVICE SUBSECTOR 00001600
NOTE 00001610
A ISOPC.K=CLIP(ISOPC2.K,ISOPC1.K,TIME.K,PYEAR) 00001620
A ISOPC1.K=TABHL(ISPCIT,IOPC.K,0,1600,200) 00001630
T ISPCIT=40,300,640,1000,1220,1450,1650,1800,2000 00001640
A ISOPC2.K=TABHL(ISPC2T,IOPC.K,0,1600,200) 00001650
T ISPC2T=40,300,640,1000,1220,1450,1650,1800,2000 00001660
A FIOAS.K=CLIP(FIOAS2.K,FIOAS1.K,TIME.K,PYEAR) 00001670
A FIOAS1.K=TABHL(FIAS1T,SOPC.K/ISOPC.K,0,2,.5) 00001680
T FIAS1T=.3,.2,.1,.05,0 00001690
A FIOAS2.K=TABHL(FIAS2T,SOPC.K/ISOPC.K,0,2,.5) 00001700
T FIAS2T=.3,.2,.1,.05,0 00001710
R SCIR.KL=(IC.K)(FIOAS.K) 00001720
L SC.K=INTGRL(SCIR.JK-SCDR.JK) 00001730
N SC=SCI 00001740
C SCI=1.44E11 00001750
R SCDR.KL=SC.K/ALSC.K 00001760
A ALSC.K=CLIP(ALSC2,ALSC1,TIME.K,PYEAR) 00001770
C ALSC1=20 00001780
C ALSC2=20 00001790
A SO.K=(SC.K*CUF.K)/(SCOR.K) 00001800
A SOPC.K=SO.K/POP.K 00001810
A SCOR.K=CLIP(SCOR2,SCOR1,TIME.K,PYEAR) 00001820
C SCOR1=1 00001830
C SCOR2=1 00001840
NOTE 00001850
NOTE JOB SECTOR 00001860
NOTE 00001870
A J.K=PJIS.K+PJAS.K+PJSS.K 00001880
A PJIS.K=(IC.K)(JPICU.K) 00001890
A JPICU.K=(TABHL(JPICUT,IOPC.K,50,800,50))*.001 00001900
T JPICUT=.37,.25,.2,.18,.16,.13,.12,.11,.1,.09,.08,.07,.07,.07,.07,.07 00001910
A PJSS.K=(SC.K)(JPSCU.K) 00001920
A JPSCU.K=(TABHL(JPSCUT,SOPC.K,50,800,50))*.001 00001930
T JPSCUT=101,.9,.7,.6,.5,.4,.35,.25,.2,.2,.2,.2,.15,.15,.15,.15 00001940
A PJAS.K=(JPH.K)(AL.K) 00001950
A JPH.K=TABHL(JPHT,AIPH.K,2,30,4) 00001960
T JPHT=2,.5,.4,.3,.27,.24,.2,.2 00001970
A LF.K=(P2.K+P3.K)*LFPF 00001980
C LFPF=.75 00001990
A LUF.K=J.K/LF.K 00002000
A LUFD.K=NEW2.K 00002010
N NEW2=.97478 00002020
L NEW2.K=INTGRL(NEWRAT.JK) 00002030
R NEWRAT.KL=(LUF.K-NEW2.K)/LUFDT 00002040
C LUFDT=2 00002050
A CUF.K=TABHL(CUFT,LUFD.K,1,11,2) 00002060
T CUFT=1,.9,.7,.3,.1,.1 00002070
NOTE 00002080
NOTE AGRICULTURAL SECTOR 00002090
NOTE 00002100
NOTE LOOP 1 - FOOD FROM INVESTMENT IN LAND DEVELOPMENT 00002110
NOTE 00002120
L AL.K=INTGRL(LDR.JK-LER.JK-LRUI.JK) 00002130
N AL=ALI 00002140
C ALI=.9E9 00002150
L PAL.K=INTGRL(-LDR.JK) 00002160
N PAL=PALI 00002170
C PALI=2.3E9 00002180
A LFC.K=AL.K/PALT 00002190
C PALT=3.2E9 00002200
A F.K=LY.K*AL.K*LFH*(1-PL) 00002210
C LFH=.7 00002220
C PL=.1 00002230
A FPC.K=F.K/POP.K 00002240
A IFPC.K=CLIP(IFPC2.K,IFPC1.K,TIME.K,PYEAR) 00002250
A IFPC1.K=TABHL(IFPC1T,IOPC.K,0,1600,200) 00002260
T IFPC1T=230,480,690,850,970,1070,1150,1210,1250 00002270
A IFPC2.K=TABHL(IFPC2T,IOPC.K,0,1600,200) 00002280
T IFPC2T=230,480,690,850,970,1070,1150,1210,1250 00002290
A TAI.K=IO.K*FIOAA.K 00002300
A FIOAA.K=CLIP(FIOAA2.K,FIOAA1.K,TIME.K,PYEAR) 00002310
A FIOAA1.K=TABHL(FIAA1T,FPC.K/IFPC.K,0,2.5,.5) 00002320
T FIAA1T=.4,.2,.1,.025,0,0 00002330
A FIOAA2.K=TABHL(FIAA2T,FPC.K/IFPC.K,0,2.5,.5) 00002340
T FIAA2T=.4,.2,.1,.025,.0,0 00002350
R LDR.KL=TAI.K*FIALD.K/DCPH.K 00002360
A DCPH.K=TABHL(DCPHT,PAL.K/PALT,0,1,.1) 00002370
T DCPHT=1E5,7400,5200,3500,2400,1500,750,300,150,75,50 00002380
NOTE 00002390
NOTE LOOP2 - FOOD FROM INVESTMENT IN AGRICULTURAL INPUTS 00002400
NOTE 00002410
A CAI.K=TAI.K*(1-FIALD.K) 00002420
A AI.K=NEW3.K 00002430
N NEW3=5477E6 00002440
L NEW3.K=INTGRL(NEWRAT.JK) 00002450
R NE3RAT.KL=(CAI.K-NEW3.K)/ALAI.K 00002460
A ALAI.K=CLIP(ALAI2,ALAI1,TIME.K,PYEAR) 00002470
C ALAI1=2 00002480
C ALAI2=2 00002490
A AIPH.K=AI.K*(1-FALM.K)/AL.K 00002500
A LYMC.K=TABHL(LYMCT,AIPH.K,0,1000,40) 00002510
T LYMCT=1,3,3.8,4.4,4.9,5.4,5.7,6.0,6.3,6.6,6.9,7.2, 00002520
X 7.4,7.6,7.8,8,8.2,8.4,8.6,8.8,9.0,9.2,9.4,9.6,9.8,10 00002530
A LY.K=LYF.K*LFERT.K*LYMC.K*LYMAP.K 00002540
A LYF.K=CLIP(LYF2,LYF1,TIME.K,PYEAR) 00002550
C LYF1=1 00002560
C LYF2=1 00002570
A LYMAP.K=CLIP(LYMAP2.K,LYMAP1.K,TIME.K,PYEAR) 00002580
A LYMAP1.K=TABHL(LYMP1T,IO.K/IO70,0,30,10) 00002590
T LYMP1T=1,1,.7,.4 00002600
A LYMAP2.K=TABHL(LYMP2T,IO.K/IO70,0,30,10) 00002610
T LYMP2T=1,1,.7,.4 00002620
C IO70=7.9E11 00002630
NOTE 00002640
NOTE LOOPS 1 & 2 - THE INVESTMENT ALLOCATION DECISON 00002650
NOTE 00002660
A FIALD.K=TABHL(FIALDT,(MPLD.K/MPAI.K),0,2,.25) 00002670
T FIALDT=0,.05,.15,.30,.50,.70,.85,.95,1 00002680
A MPLD.K=LY.K/(DCPH.K*SD) 00002690
C SD=.07 00002700
A MPAI.K=ALAI.K*LY.K*MLYMC.K/LYMC.K 00002710
A MLYMC.K=TABHL(MLYMCT,AIPH.K,0,600,40) 00002720
T MLYMCT=.075,.03,.015,.011,.009,.003,.007,.006,.005,.005,.005,.005, 00002730
X .005,.005,.005,.005 00002740
NOTE 00002750
A ALL.K=ALLN*LLMY.K 00002760
C ALLN=6000 00002770
A LLMY.K=CLIP(LLMY2.K,LLMY1.K,TIME.K,PYEAR) 00002780
A LLMY1.K=TABHL(LLMY1T,LY.K/ILF,0,9,1) 00002790
T LLMY1T=1.2,1,.63,.36,.16,.055,.04,.025,.015,.01 00002800
A LLMY2.K=TABHL(LLMY2T,LY.K/ILF,0,9,1) 00002810
T LLMY2T=1.2,1,.63,.36,.16,.055,.04,.025,.015,.01 00002820
R LER.KL=AL.K/ALL.K 00002830
A UILPC.K=TABHL(UILPCT,IOPC.K,0,1600,200) 00002840
T UILPCT=.005,.0081,015,.025,.04,.055,.07,.08,.09 00002850
A UILR.K=UILPC.K*POP.K 00002860
R LRUI.KL=MAX(0,(UILR.K,UIL.K)/UILDT) 00002870
C UILDT=10 00002880
L UIL.K=INTGRL(LRUI.JK) 00002890
N UIL=UILI 00002900
C UILI=8.2E6 00002910
NOTE 00002920
NOTE LOOP 4- LAND AND FERTILITY DEGRADATION 00002930
NOTE 00002940
L LFERT.K=INTGRL(LFR.JK-LFD.JK) 00002950
N LFERT=LFERTI 00002960
C LFERTI=600 00002970
A LFDR.K=TABHL(LFDRT,PPOLX.K,0,30,10) 00002980
T LFDRT=0,.1,.3,.5 00002990
R LFD.KL=LFERT.K*LFDR.K 00003000
NOTE 00003010
NOTE LOOP 5 - LAND FERTILITY REGENERATION 00003020
NOTE 00003030
R LFR.KL=(ILF-LFERT.K)/LFRT.K 00003040
C ILF=600 00003050
A LFRT.K=TABHL(LFRTT,FALM.K,0,.10,.02) 00003060
T LFRTT=20,13,8,4,2,2 00003070
NOTE 00003080
NOTE LOOP 6- DISCONTINUING LAND MAINTENANCE 00003090
NOTE 00003100
A FALM.K=TABHL(FALMT,PFR.K,0,4,1) 00003110
T FALMT=0,.04,.07,.09,1 00003120
A FR.K=FPC.K/SFPC 00003130
C SFPC=230 00003140
A PFR.K=NEW4.K 00003150
N NEW4=1.2290 00003160
L NEW4.K=INTGRL(NE4RAT.JK) 00003170
R NE4RAT.KL=(FR.K-NEW4.K)/FSPD 00003180
C FSPD=2 00003190
NOTE 00003200
NOTE NONRENEWABLE RESOURCE SECTOR 00003210
NOTE 00003220
L NR.K=INTGRL(-NRUR.JK) 00003230
N NR=NRI 00003240
C NRI=1E12 00003250
R NRUR.KL=(POP.K)(PCRUM.K)(NRUF.K) 00003260
A NRUF.K=CLIP(NRUF2,NRUF1,TIME.K,PYEAR) 00003270
C NRUF1=1 00003280
C NRUF2=1 00003290
A PCRUM.K=TABHL(PCRUMT,IOPC.K,0,1600,200) 00003300
T PCRUMT=0,.85,2.6,4.4,5.4,6.2,6.8,7,7 00003310
A NRFR.K=NR.K/NRI 00003320
A FCAOR.K=CLIP(FCAOR2.K,FCAOR1.K,TIME.K,PYEAR) 00003330
A FCAOR1.K=TABHL(FCAR1T,NRFR.K,0,1,.1) 00003340
T FCAR1T=1,.9,.7,.5,.2,.1,.05,.05,.05,.05,.05 00003350
A FCAOR2.K=TABHL(FCAR2T,NRFR.K,0,1,.1) 00003360
T FCAR2T=1,.9,.7,.5,.2,.1,.05,.05,.05,.05,.05 00003370
NOTE 00003380
NOTE PERSISTENT POLLUTION SECTOR 00003390
NOTE 00003400
R PPGR.KL=(PPGIO.K+PPGAO.K)*(PPGF.K) 00003410
A PPGF.K=CLIP(PPGF2,PPGF1,TIME.K,PYEAR) 00003420
C PPGF1=1 00003430
C PPGF2=1 00003440
A PPGIO.K=PCRUM.K*POP.K*FRPM*IMEF*IMTI 00003450
C FRPM=.02 00003460
C IMEF=.1 00003470
C IMTI=10 00003480
A PPGAO.K=AIPH.K*AL.K*FIPM*AMTI 00003490
C FIPM=.001 00003500
C AMTI=1 00003510
R PPAPR.KL=DP3.K/(PPTD/3) 00003520
N DP1=(11.489E6)(PPTD/3) 00003530
N DP2=(11.489E6)(PPTD/3) 00003540
N DP3=(11.489E6)(PPTD/3) 00003550
L DP1.K=INTGRL(PPGR.JK-RP1.JK) 00003560
L DP2.K=INTGRL(RP1.JK-RP2.JK) 00003570
L DP3.K=INTGRL(RP2.JK-RP3.JK) 00003580
R RP1.KL=DP1.K/(PPTD/3) 00003590
R RP2.KL=DP2.K/(PPTD/3) 00003600
R RP3.KL=DP3.K/(PPTD/3) 00003610
C PPTD=20 00003620
L PPOL.K=INTGRL(PPAPR.JK-PPASR.JK) 00003630
N PPOL=2.5E7 00003640
A PPOLX.K=PPOL.K/PPOL70 00003650
C PPOL70=1.36E8 00003660
A AHLM.K=TABHL(AHLMT,PPOLX.K,1,1001,250) 00003670
T AHLMT=1,11,21,31,41 00003680
A AHL.K=AHL70*AHLM.K 00003690
C AHL70=1.5 00003700
R PPASR.KL=PPOL.K/(AHL.K*1.4) 00003710
NOTE 00003720
NOTE SUPPLEMENTARY EQUATIONS 00003730
NOTE 00003740
S FCA.K=(.22)(F.K)/(.22*F.K+SO.K+IO.K) 00003750
S FCI.K=IO.K/(.22*F.K+SO.K+IO.K) 00003760
S FCS.K=SO.K/(.22*F.K+SO.K+IO.K) 00003770
NOTE 00003780
NOTE CONTROL CARDS FOR SIMULATION 00003790
NOTE 00003800
PARM DT=1 00003810
PARM START=1900 00003820
PARM STOP=1975 00003830
PARM PRTPER=1 00003840
PARM PLTPER=1 00003845
C PYEAR=1975 00003850
PRINT POP,IC,IO,IOPC,AL,NR 00003860
PLOT POP/IC/IO/IOPC/AL/NR 00003870