public void Run(Clock clock, IScenarioUncertaintyState state, IDimensions dimensions) { var s = state; var t = clock.Current; Double yearsFromUncertaintyStart = t.Value - s.timeofuncertaintystart.Value; var sdTimeFactor = (yearsFromUncertaintyStart / 50.0) / (1.0 + (yearsFromUncertaintyStart / 50.0)); foreach (var r in dimensions.GetValues <Region>()) { s.ypcgrowth[t, r] = s.scenypcgrowth[t, r] + (t >= s.timeofuncertaintystart ? s.ecgradd[r] * sdTimeFactor : 0.0); s.pgrowth[t, r] = s.scenpgrowth[t, r] + (t >= s.timeofuncertaintystart ? s.pgadd[r] * sdTimeFactor : 0.0); s.aeei[t, r] = s.scenaeei[t, r] + (t >= s.timeofuncertaintystart ? s.aeeiadd[r] * sdTimeFactor : 0.0); s.acei[t, r] = s.scenacei[t, r] + (t >= s.timeofuncertaintystart ? s.aceiadd[r] * sdTimeFactor : 0.0); s.forestemm[t, r] = s.scenforestemm[t, r] + (t >= s.timeofuncertaintystart ? s.foremadd[r] * sdTimeFactor : 0.0); } }
public void Run(Clock clock, IScenarioUncertaintyState state, IDimensions dimensions) { var s = state; var t = clock.Current; Double yearsFromUncertaintyStart = t.Value - s.timeofuncertaintystart.Value; var sdTimeFactor = (yearsFromUncertaintyStart / 50.0) / (1.0 + (yearsFromUncertaintyStart / 50.0)); foreach (var r in dimensions.GetValues<Region>()) { s.ypcgrowth[t, r] = s.scenypcgrowth[t, r] + (t >= s.timeofuncertaintystart ? s.ecgradd[r] * sdTimeFactor : 0.0); s.pgrowth[t, r] = s.scenpgrowth[t, r] + (t >= s.timeofuncertaintystart ? s.pgadd[r] * sdTimeFactor : 0.0); s.aeei[t, r] = s.scenaeei[t, r] + (t >= s.timeofuncertaintystart ? s.aeeiadd[r] * sdTimeFactor : 0.0); s.acei[t, r] = s.scenacei[t, r] + (t >= s.timeofuncertaintystart ? s.aceiadd[r] * sdTimeFactor : 0.0); s.forestemm[t, r] = s.scenforestemm[t, r] + (t >= s.timeofuncertaintystart ? s.foremadd[r] * sdTimeFactor : 0.0); } }