Пример #1
0
        public void Run(Clock clock, IClimateDynamicsState state, IDimensions dimensions)
        {
            var s = state;
            var t = clock.Current;

            if (clock.IsFirstTimestep)
            {
                s.temp[t] = 0.20;
            }
            else
            {
                var LifeTemp = Math.Max(s.LifeTempConst + s.LifeTempLin * s.ClimateSensitivity + s.LifeTempQd * Math.Pow(s.ClimateSensitivity, 2.0), 1.0);

                var delaytemp = 1.0 / LifeTemp;

                var temps = s.ClimateSensitivity / 5.35 / Math.Log(2.0);

                // Calculate temperature
                var dtemp = delaytemp * temps * s.radforc[t] - delaytemp * s.temp[t - 1];

                s.temp[t] = s.temp[t - 1] + dtemp;
            }
        }
Пример #2
0
        public void Run(Clock clock, IClimateDynamicsState state, IDimensions dimensions)
        {
            var s = state;
            var t = clock.Current;

            if (clock.IsFirstTimestep)
            {
                s.temp[t] = 0.20;
            }
            else
            {
                var LifeTemp = Math.Max(s.LifeTempConst + s.LifeTempLin * s.ClimateSensitivity + s.LifeTempQd * Math.Pow(s.ClimateSensitivity, 2.0), 1.0);

                var delaytemp = 1.0 / LifeTemp;

                var temps = s.ClimateSensitivity / 5.35 / Math.Log(2.0);

                // Calculate temperature
                var dtemp = delaytemp * temps * s.radforc[t] - delaytemp * s.temp[t - 1];

                s.temp[t] = s.temp[t - 1] + dtemp;
            }
        }