public Atmosphere(EarthModel earth, bool loadFromStateFiles, float defaultValue = 0)
        {
            this.Earth = earth;

            SeaLevel = new SeaLevel(earth, loadFromStateFiles, defaultValue);
            MidLevel = new MidLevel(earth, loadFromStateFiles, defaultValue);
            TopLevel = new TopLevel(earth, loadFromStateFiles, defaultValue);
            JetLevel = new JetLevel(earth, loadFromStateFiles, defaultValue);

            if (loadFromStateFiles == false)
            {
                if (defaultValue == 0)
                {
                    TopLevel.LoadInitialConditions();

                    MidLevel.LoadInitialConditions();
                    CalculateAirMassType();

                    SeaLevel.LoadInitialConditions();
                }
                else
                {
                    AirMass = MatrixFactory.Init(defaultValue);
                }
            }
            else
            {
                AirMass = FileSupport.Load(Earth.UTC.Title, "M_00_MAP");
            }
        }
 public virtual void GetMin(AtmosphericLevel atmLevel)
 {
     P.MIN(atmLevel.P);
     T.MIN(atmLevel.T);
     H.MIN(atmLevel.H);
 }
 public virtual void GetMax(AtmosphericLevel atmLevel)
 {
     P.MAX(atmLevel.P);
     T.MAX(atmLevel.T);
     H.MAX(atmLevel.H);
 }
 public virtual void Add(AtmosphericLevel atmLevel)
 {
     P.ADD(atmLevel.P);
     T.ADD(atmLevel.T);
     H.ADD(atmLevel.H);
 }