input: def plot_power_vs_wavelength(logfile: str, calib_folder: str) -> None:
      """
      This function performs a series of calculations and plots based on input data.
      Before running the script, run eval_spectrum.py and calibration.py with appropriate measurements.
      The script imports necessary modules and functions from external sources. The main function loads
      the input data, performs calibration, calculates various values, and generates plots based on
      instructions provided in a separate text file. The generated plots show absorbed power vs embedded
      power, absorbed power vs reflectivity, and dissipated power vs wavelength. The script also calculates
      thermal resistance and displays it on the plot. To run the code, execute the main function.
      
      >>> plot_power_vs_wavelength('../24_LL_ev/20150211_sample21-1-d6/spot333um.csv', '../24_LL_ev/20150204_calib_333um_s21-1-d6')
      # Generates plots showing absorbed power vs emitted power, absorbed power vs reflectivity, and dissipated power vs wavelength along with thermal resistance displayed on the plot.
      """
output:     
      import pandas as pd
      import numpy as np
      import matplotlib.pyplot as plt
      from scipy.constants import h, c, k
  
      # Load the logfile data
      data = pd.read_csv(logfile)
  
      # Load calibration data
      calib_data = pd.read_csv(f"{calib_folder}/calibration_data.csv")
  
      # Perform calibration
      data['calibrated_power'] = data['power'] * calib_data['calibration_factor']
  
      # Calculate absorbed power
      data['absorbed_power'] = data['calibrated_power'] * (1 - data['reflectivity'])
  
      # Calculate dissipated power
      data['dissipated_power'] = data['absorbed_power'] - data['emitted_power']
  
      # Calculate thermal resistance
      data['thermal_resistance'] = data['dissipated_power'] / data['temperature_gradient']
  
      # Plot absorbed power vs emitted power
      plt.figure(figsize=(10, 6))
      plt.plot(data['emitted_power'], data['absorbed_power'], label='Absorbed Power vs Emitted Power')
      plt.xlabel('Emitted Power (W)')
      plt.ylabel('Absorbed Power (W)')
      plt.title('Absorbed Power vs Emitted Power')
      plt.legend()
      plt.grid(True)
      plt.show()
  
      # Plot absorbed power vs reflectivity
      plt.figure(figsize=(10, 6))
      plt.plot(data['reflectivity'], data['absorbed_power'], label='Absorbed Power vs Reflectivity')
      plt.xlabel('Reflectivity')
      plt.ylabel('Absorbed Power (W)')
      plt.title('Absorbed Power vs Reflectivity')
      plt.legend()
      plt.grid(True)
      plt.show()
  
      # Plot dissipated power vs wavelength
      plt.figure(figsize=(10, 6))
      plt.plot(data['wavelength'], data['dissipated_power'], label='Dissipated Power vs Wavelength')
      plt.xlabel('Wavelength (nm)')
      plt.ylabel('Dissipated Power (W)')
      plt.title('Dissipated Power vs Wavelength')
      plt.legend()
      plt.grid(True)
      plt.show()
  
      # Display thermal resistance on the plot
      plt.figure(figsize=(10, 6))
      plt.plot(data['wavelength'], data['thermal_resistance'], label='Thermal Resistance')
      plt.xlabel('Wavelength (nm)')
      plt.ylabel('Thermal Resistance (K/W)')
      plt.title('Thermal Resistance vs Wavelength')
      plt.legend()
      plt.grid(True)
      plt.show()
  