input: def plot_power_vs_wavelength(logfile: str, calib_folder: str) -> None:
      """
      This script performs a series of calculations and plots based on input data. Before running
      this script, ensure that eval_spectrum.py and calibration.py have been executed 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 emitted 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')
      # Plots generated with details as specified in the instruction text file.
      """
output:     
      import pandas as pd
      import numpy as np
      import matplotlib.pyplot as plt
      from scipy.constants import h, c, k
  
      # Load the logfile and calibration data
      log_data = pd.read_csv(logfile)
      calib_data = pd.read_csv(calib_folder + '/calibration_data.csv')
  
      # Perform calibration
      log_data['calibrated_power'] = log_data['power'] * calib_data['calibration_factor']
  
      # Calculate absorbed power
      log_data['absorbed_power'] = log_data['calibrated_power'] - log_data['emitted_power']
  
      # Calculate reflectivity
      log_data['reflectivity'] = 1 - (log_data['absorbed_power'] / log_data['calibrated_power'])
  
      # Calculate dissipated power
      log_data['dissipated_power'] = log_data['absorbed_power'] * (1 - log_data['reflectivity'])
  
      # Calculate thermal resistance
      log_data['thermal_resistance'] = log_data['dissipated_power'] / log_data['temperature_difference']
  
      # Plot absorbed power vs emitted power
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_data['absorbed_power'], label='Absorbed Power')
      plt.plot(log_data['wavelength'], log_data['emitted_power'], label='Emitted Power')
      plt.xlabel('Wavelength (nm)')
      plt.ylabel('Power (W)')
      plt.title('Absorbed Power vs Emitted Power')
      plt.legend()
      plt.show()
  
      # Plot absorbed power vs reflectivity
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_data['absorbed_power'], label='Absorbed Power')
      plt.plot(log_data['wavelength'], log_data['reflectivity'], label='Reflectivity')
      plt.xlabel('Wavelength (nm)')
      plt.ylabel('Reflectivity')
      plt.title('Absorbed Power vs Reflectivity')
      plt.legend()
      plt.show()
  
      # Plot dissipated power vs wavelength
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_data['dissipated_power'], label='Dissipated Power')
      plt.xlabel('Wavelength (nm)')
      plt.ylabel('Power (W)')
      plt.title('Dissipated Power vs Wavelength')
      plt.legend()
      plt.show()
  
      # Display thermal resistance on the plot
      plt.figure(figsize=(10, 6))
      plt.plot(log_data['wavelength'], log_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.show()
  