add new parameters to a control file

        Parameters
        ----------
            template_file : str
                template file
            in_file : str(optional)
                model input file. If None, template_file.replace('.tpl','') is used
            pst_path : str(optional)
                the path to append to the template_file and in_file in the control file.  If
                not None, then any existing path in front of the template or in file is split off
                and pst_path is prepended.  Default is None

        Returns
        -------
        new_par_data : pandas.DataFrame
            the data for the new parameters that were added. If no new parameters are in the
            new template file, returns None

        Note
        ----
        populates the new parameter information with default values

def add_parameters(self,template_file,in_file=None,pst_path=None):
        """ add new parameters to a control file

        Parameters
        ----------
            template_file : str
                template file
            in_file : str(optional)
                model input file. If None, template_file.replace('.tpl','') is used
            pst_path : str(optional)
                the path to append to the template_file and in_file in the control file.  If
                not None, then any existing path in front of the template or in file is split off
                and pst_path is prepended.  Default is None

        Returns
        -------
        new_par_data : pandas.DataFrame
            the data for the new parameters that were added. If no new parameters are in the
            new template file, returns None

        Note
        ----
        populates the new parameter information with default values

        """
        assert os.path.exists(template_file),"template file '{0}' not found".format(template_file)
        assert template_file != in_file
        # get the parameter names in the template file
        parnme = pst_utils.parse_tpl_file(template_file)

        # find "new" parameters that are not already in the control file
        new_parnme = [p for p in parnme if p not in self.parameter_data.parnme]

        if len(new_parnme) == 0:
            warnings.warn("no new parameters found in template file {0}".format(template_file),PyemuWarning)
            new_par_data = None
        else:
            # extend pa
            # rameter_data
            new_par_data = pst_utils.populate_dataframe(new_parnme,pst_utils.pst_config["par_fieldnames"],
                                                        pst_utils.pst_config["par_defaults"],
                                                        pst_utils.pst_config["par_dtype"])
            new_par_data.loc[new_parnme,"parnme"] = new_parnme
            self.parameter_data = self.parameter_data.append(new_par_data)
        if in_file is None:
            in_file = template_file.replace(".tpl",'')
        if pst_path is not None:
            template_file = os.path.join(pst_path,os.path.split(template_file)[-1])
            in_file = os.path.join(pst_path, os.path.split(in_file)[-1])
        self.template_files.append(template_file)
        self.input_files.append(in_file)

        return new_par_data