The line should be changed to if self.crval2 > 0: - Because self.crval1 refers to the sampling of the LSF at a given wavelength, which is centred on zero, this condition is probably never fulfilled. So even if the LSF changes with wavelength, only a constant LSF is used.
https://github.com/thusser/spexxy/blob/14a8d121076b9e043bdf2e27222a65088f771ff9/spexxy/data/lsf.py#L489
The line should be changed to
if self.crval2 > 0:
- Becauseself.crval1
refers to the sampling of the LSF at a given wavelength, which is centred on zero, this condition is probably never fulfilled. So even if the LSF changes with wavelength, only a constant LSF is used.