MCPcopy Create free account
hub / github.com/TimSchell98/PyWorld3-03 / loopk_exogenous

Method loopk_exogenous

pyworld3/population.py:438–467  ·  view source on GitHub ↗

Run a sorted sequence to update one loop of the exogenous parameters. `@requires` decorator checks that all dependencies are computed previously.

(self, k)

Source from the content-addressed store, hash-verified

436
437 @requires(["io", "iopc", "ppolx", "so", "sopc", "f", "fpc"], ["pop"])
438 def loopk_exogenous(self, k):
439 """
440 Run a sorted sequence to update one loop of the exogenous parameters.
441 `@requires` decorator checks that all dependencies are computed
442 previously.
443 """
444
445 # industrial output
446 self.io11[k] = .7e11*np.exp((self.time[k] - self.year_min)*.037)
447 self.io12[k] = self.pop[k] * self.cio
448 self.io1[k] = clip(self.io12[k], self.io11[k], self.time[k], self.lt2)
449 self.io2[k] = .7e11 * np.exp(self.lt * .037)
450 self.io[k] = clip(self.io2[k], self.io1[k], self.time[k], self.lt)
451 self.iopc[k] = self.io[k] / self.pop[k]
452 # index of persistent pollution
453 self.ppolx[k] = 1 + ramp(self.ps, self.pt, self.time[k])
454 # service output
455 self.so11[k] = 1.5e11 * np.exp((self.time[k] - self.year_min) * .030)
456 self.so12[k] = self.pop[k] * self.cso
457 self.so1[k] = clip(self.so12[k], self.so11[k], self.time[k], self.lt2)
458 self.so2[k] = 1.5e11 * np.exp(self.lt * .030)
459 self.so[k] = clip(self.so2[k], self.so1[k], self.time[k], self.lt)
460 self.sopc[k] = self.so[k] / self.pop[k]
461 # food
462 self.f11[k] = 4e11 * np.exp((self.time[k] - self.year_min) * .020)
463 self.f12[k] = self.pop[k] * self.cfood
464 self.f1[k] = clip(self.f12[k], self.f11[k], self.time[k], self.lt2)
465 self.f2[k] = 4e11 * np.exp(self.lt * .020)
466 self.f[k] = clip(self.f2[k], self.f1[k], self.time[k], self.lt)
467 self.fpc[k] = self.f[k] / self.pop[k]
468
469 def loop0_exogenous(self):
470 """

Callers 2

loop0_exogenousMethod · 0.95
loopk_populationMethod · 0.95

Calls 2

clipFunction · 0.85
rampFunction · 0.85

Tested by

no test coverage detected