Exemplo n.º 1
0
        public void Run(Clock clock, IImpactExtratropicalStormsState state, IDimensions dimensions)
        {
            var t = clock.Current;
            var s = state;

            foreach (var r in dimensions.GetValues <Region>())
            {
                double ypc   = s.income[t, r] / s.population[t, r] * 1000.0;
                double ypc90 = s.gdp90[r] / s.pop90[r] * 1000.0;

                s.extratropicalstormsdam[t, r]  = s.extratropicalstormsbasedam[r] * s.income[t, r] * Math.Pow(ypc / ypc90, s.extratropicalstormsdamel) * (Math.Pow(1.0 + (s.extratropicalstormspar[r] * (s.acco2[t] / s.co2pre)), s.extratropicalstormsnl) - 1.0);
                s.extratropicalstormsdead[t, r] = 1000.0 * s.extratropicalstormsbasedead[r] * s.population[t, r] * Math.Pow(ypc / ypc90, s.extratropicalstormsdeadel) * (Math.Pow(1.0 + (s.extratropicalstormspar[r] * (s.acco2[t] / s.co2pre)), s.extratropicalstormsnl) - 1.0);
            }
        }
        public void Run(Clock clock, IImpactExtratropicalStormsState state, IDimensions dimensions)
        {
            var t = clock.Current;
            var s = state;

            foreach (var r in dimensions.GetValues<Region>())
            {
                double ypc = s.income[t, r] / s.population[t, r] * 1000.0;
                double ypc90 = s.gdp90[r] / s.pop90[r] * 1000.0;

                s.extratropicalstormsdam[t, r] = s.extratropicalstormsbasedam[r] * s.income[t, r] * Math.Pow(ypc / ypc90, s.extratropicalstormsdamel) * (Math.Pow(1.0 + (s.extratropicalstormspar[r] * (s.acco2[t] / s.co2pre)), s.extratropicalstormsnl) - 1.0);
                s.extratropicalstormsdead[t, r] = 1000.0 * s.extratropicalstormsbasedead[r] * s.population[t, r] * Math.Pow(ypc / ypc90, s.extratropicalstormsdeadel) * (Math.Pow(1.0 + (s.extratropicalstormspar[r] * (s.acco2[t] / s.co2pre)), s.extratropicalstormsnl) - 1.0);
            }
        }