Fiber Acceptance Fraction Calculations¶
Overview¶
Fiber acceptance refers to the fraction of photons incident on the focal plane from an astrophysical source that enter the fiber. The fiber acceptance fraction is also referred to as the “fiberloss”, and depends on:
- The source profile on the sky, modeled as a sum of point-like, disk (Sersic n=1), and bulge (Sersic n=4) components.
- The atmospheric PSF, modeled with a Moffat function with an adjustable beta value, and assuming a Kolmogorov exponent (-1/5) for the wavelength dependence of the astmospheric seeing FWHM.
- The instrumental PSF which has both blur and offset components and generally depends on position in the focal plane and wavelength.
- The mapping of sky coordinates to physical coordinates at the fiber entrance face, which are expressed via radial and azimuthal plate scales, and generally transform a round fiber into an elliptical view of the sky.
Further details specific to DESI are provided in DESI-doc-2720. The
jupyter notebook in docs/nb/FiberlossExamples.ipynb
was used to create the
plots for this document and provide code examples for fiberloss calculations.
Configuration¶
The fiberloss calculation combines many different aspects of the simulation,
so its configuration data is spread among different components: atmosphere
,
instrument
, source
and observation
.
Details of how fiberloss should be calculated are specified in the
instrument.fiberloss
configuration. There are currently two supported
methods selected by the value of instrument.fiberloss.method
:
- The
table
method reads fiberloss arrays for different object types (QSO, LRG, etc) from files during initialization. Thesource.type
parameter is then used to select the appropriate array. This mode is fast but inflexible. Configuration parameters related to the source profile, atmospheric seeing, the instrumental PSF, and plate scales are not used to calculate the fiberloss with this method. - The
galsim
method calculates fiberloss arrays on the fly using the galsim external package to build and convolve models of the source and the atmospheric and instrumental PSFs. Models are built in physical sky coordinates, using the plate scales to transform the on-sky source and atmospheric models. This mode is the most flexible and slowest, and uses all of the relevant configuration parameters. - The
fastsim
method is based on an interpolation of fiber acceptance values pre-computed withgalsim
using the scriptfitgalsim
, which assumes a fixed axis ratio of 0.7 (for extended objects), a fixed Moffat PSF model with beta=3.5 (but variable FWHM) for the atmosphere, and a fixed fiber diameter of 107um. The interpolation parameters/axis are source profile (point source, exponential disk, De Vaucouleurs bulge), sigma (atmosphere+telescope blur, in um on focal surface), fiber offset from source (in um on focal surface), and half light radius (in arcsec) from extended source. This interpolation is performed with the classfastfiberacceptance.FastFiberAcceptance
. The accuracy is about 1 percent when the assumptions above are valid.
Refer to the comments in the sample configuration files for more information about the available parameters.
GalSim Dependency¶
The GalSim package is only required when the galsim
method is selected.
As of GalSim version 2.0, this package can be easily install using either
conda or pip.
Fiberloss arrays calculated with GalSim can be saved for later table-based simulations. For example, first run the QuickSpecSim script to use GalSim to calculate and save the fiberloss for a specific configuration of the source, atmosphere, etc, with:
quickspecsim -c desi-elg --save-fiberloss desi-elg-fiberloss
Next, update your configuration file to select the table
method and read
the new tabulated fiberloss array:
instrument:
...
fiberloss:
method: table
format: ascii.ecsv
paths:
elg: .../desi-elg-fiberloss.ecsv
API¶
Refer to the specsim.fiberloss
documentation for details on the
API for performing fiberloss calculations. The source code of the
QuickFiberLoss script provides a simple example of calculating
fiberloss arrays with GalSim, starting from arrays of galaxy sizes and shapes.
GalSim Accuracy and Speed¶
The accuracy and speed of the GalSim calculations are primarily determined by
the instrument.fiberloss.num_wlen
and instrument.fiberloss.num_pixels
configuration parameters. The first parameter determines the number of
wavelengths at which the calculations are performed, and the time scales
linearly with its value. Lower values are faster but require more interpolation
in wavelength, leading to larger errors. The second parameter determines the
resolution of the pixel grid used to cover a fiber in the calculations. The
timing is non-linear in this parameter, with the default value of 16 giving
a local optimum speed, with relative errors in fiberloss at the 1e-3 level.
The QuickFiberLoss command-line script is primarily intended for benchmarking different numerical parameters.