def __init__(self, debug=False, debug_level=2):
        """
        Initialize the TelluricFitter class.

        :param debug: Flag to print a bunch of messages to screen for debugging purposes
        :param debug_level: An integer from 1-5 that controls how much gets printed. 1 is the least and 5 is the most.

        :return: An instance of TelluricFitter.
        """
        # Set up parameters
        self.parnames = ["pressure", "temperature", "angle", "resolution", "wavestart", "waveend",
                         "h2o", "co2", "o3", "n2o", "co", "ch4", "o2", "no",
                         "so2", "no2", "nh3", "hno3"]
        self.const_pars = [795.0, 273.0, 45.0, 50000.0, 2200.0, 2400.0,
                           50.0, 368.5, 3.9e-2, 0.32, 0.14, 1.8, 2.1e5, 1.1e-19,
                           1e-4, 1e-4, 1e-4, 5.6e-4]
        self.bounds = [[0.0, np.inf] for par in self.parnames]  #Basically just making sure everything is > 0
        self.fitting = [False] * len(self.parnames)
        self.normalization = [1.0 for par in self.parnames]

        #Latitude and altitude (to nearest km) of the observatory
        #  Defaults are for McDonald Observatory
        self.observatory = {"latitude": 30.6,
                            "altitude": 2.0}
        self.data = None
        self.resolution_bounds = [10000.0, 100000.0]

        homedir = os.environ['HOME']
        self.resolution_fit_mode = "gauss"
        self.fit_primary = False
        self.fit_source = False
        self.adjust_wave = "model"
        self.first_iteration = True
        self.continuum_fit_order = 7
        self.wavelength_fit_order = 3
        self.debug = debug
        self.debug_level = debug_level  #Number from 1-5, with 5 being the most verbose
        self.Modeler = MakeModel.Modeler(debug=self.debug)
        self.parvals = [[] for i in range(len(self.parnames))]
        self.chisq_vals = []
        self.ignore = []
        self.shift = 0  #The wavelength shift to make the model and data align
        self.air_wave = True
        self.source_fcn = smoothing_source_fcn
        self.source_args = [61, 4]
        self.source_kwargs = dict(lowreject=2, highreject=3, numiters=5)

        #Just open and close chisq_summary, to clear anything already there
        outfile = open("chisq_summary.dat", "w")
        outfile.close()

        # Set up the logger
        if debug:
            logger = logging.getLogger()
            logger.setLevel(logging.DEBUG)


    # ## -----------------------------------------------
dataset/ETHPy150Open kgullikson88/Telluric-Fitter/src/TelluricFitter.py/TelluricFitter.__init__/original