Source code for NuRadioReco.utilities.ice

"""
(old) implementation of ice models

Only returns one of two values depending on whether the depth is below
or above 0 (assumed to be the ice-air) interface.

.. Warning::
    This function is used internally in some modules, but should not
    be used in new user code. Please use the `NuRadioMC.utilities.medium`
    module instead

"""
import logging

logger = logging.getLogger('NuRadioReco.utilities.ice')

[docs] def get_refractive_index(depth, site='southpole'): """ Get refractive index for depth For sites that are not at the poles, always returns the refractive index of air (1.000293). Otherwise, returns 1.3 .. Warning:: This function is only used internally. New user code should use the ice models in `NuRadioMC.utilities.medium` instead Parameters ---------- depth : float The depth site : str, optional The site to use. For sites on land (not in-ice), the refractive index returned is always that for air. Returns ------- n : float The refractive index. For land-based sites, this is always n_air=1.000293; for in-ice sites, returns n_ice=1.3 or n_air depending on the depth. """ if site.lower() in ['lofar', 'auger', 'ska']: return 1.000293 else: if not site.lower() in ['southpole', 'mooresbay', 'summit', 'greenland', 'sp']: logger.warning(f"Site '{site}' unknown, assuming in-ice detector") if depth <= 0: return 1.3 else: return 1.000293