Commit 8e4ec15c authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Always write the filtered functions with respect to wavelength in meters

parent 50491743
Loading
Loading
Loading
Loading
+24 −3
Original line number Diff line number Diff line
@@ -65,7 +65,19 @@ def main():
                scan_info = scan_single_file(config, split_input[0])
                result = scan_info['exit_code']
                if (result == 0):
                    write_output_file(config['output_files'], scan_info)
                    wl_factor = 1.0e6
                    wl_units = config['wl_units']
                    if (wl_units in ["nanometers", "nm"]):
                        wl_factor = 1.0e9
                    elif (wl_units in ["millimeters", "mm"]):
                        wl_factor = 1.0e3
                    elif (wl_units in ["centimeters", "cm"]):
                        wl_factor = 1.0e2
                    elif (wl_units in ["decimeters", "dm"]):
                        wl_factor = 1.0e1
                    elif (wl_units in ["meters", "m"]):
                        wl_factor = 1.0
                    write_output_file(config['output_files'], scan_info, wl_factor)
                    # INFO section
                    num_filtered_data = scan_info['num_filtered_data']
                    num_orig_data = scan_info['num_orig_data']
@@ -432,6 +444,7 @@ def scan_single_file(config, file_name):
        ieps1 = 0.0
        last_dreps = 0.0
        last_dieps = 0.0
        can_write = True
        while (file_line != ""):
            if (file_line.startswith('#')):
                result['header'] += file_line
@@ -557,6 +570,13 @@ def scan_single_file(config, file_name):
            file_line = input_file.readline()
            num_read_lines += 1
        # end of while loop
        if (wl1 <= config['wl_end'] and can_write):
            can_write = False
            wl_filtered.append(wl1 * wl_factor)
            reps_filtered.append(reps1)
            ieps_filtered.append(ieps1)
            reason.append(3)
            num_filtered_data += 1
        input_file.close()
        if (result['exit_code'] < 0):
            reason[-1] = 3
@@ -657,12 +677,13 @@ def match_multiple_files(config):
#
#  \param[in] file_name: `string` The name of the file to be written.
#  \param[in] scan_info: `dict` A dictionary with the scanned data file.
def write_output_file(file_name, scan_info):
#  \param[in] wl_factor: `float` Wavelength unit conversion to meters.
def write_output_file(file_name, scan_info, wl_factor):
    output_file = open(file_name, 'w')
    output_file.write(scan_info['header'])
    for i in range(len(scan_info['wl_filtered'])):
        file_line = "{0:.5E},{1:.5E},{2:.5E}\n".format(
            scan_info['wl_filtered'][i],
            scan_info['wl_filtered'][i] / wl_factor,
            scan_info['reps_filtered'][i],
            scan_info['ieps_filtered'][i]
        )