code: def nm2lt7(short_nm: float, long_nm: float, step_cminv: float = 20) -> Tuple[float, float, float]:
      
      short = 1e7 / short_nm
      long = 1e7 / long_nm
  
      N = int(np.ceil((short-long) / step_cminv)) + 1  # yes, ceil
  
      return short, long, N
docs: converts wavelength in nm to cm^-1
      minimum meaningful step is 20, but 5 is minimum before crashing lowtran
  
      short: shortest wavelength e.g. 200 nm
      long: longest wavelength e.g. 30000 nm
      step: step size in cm^-1 e.g. 20
  
      output in cm^-1