NuRadioMC.utilities.medium module
- class NuRadioMC.utilities.medium.southpole_simple[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.southpole_2015[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.ARAsim_southpole[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.ARA_2022[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.birefringence_medium(bir_model='southpole_A')[source]
Bases:
IceModelBirefringence
initiaion of a birefringent ice model with an interpolation of the data as described in: https://link.springer.com/article/10.1140/epjc/s10052-023-11238-y
- Parameters:
- bire_model: string
choose the interpolation to fit the measured refractive index data options include (A, B, C, D, E) description can be found under: NuRadioMC/NuRadioMC/utilities/birefringence_models/model_description
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_birefringence_index_of_refraction
(position)returns the birefringent index of refraction at any position, no density effects are included at this point.
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_birefringence_index_of_refraction(position)
returns the birefringent index of refraction at any position, no density effects are included at this point.
- Parameters:
- position: 3dim np.array [x, y, z]
position at which the ice model should be evaluated
- Returns:
- n: list [nx, ny, nz]
index of refraction for every direction
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.mooresbay_simple[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.mooresbay_simple_2[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.greenland_simple[source]
Bases:
IceModelSimple
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.greenland_firn[source]
Bases:
IceModel
This model can only be used with the radiopropa raytracer. Therefor, the model is implemented through radiopropa.
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
initiation of a double exponential ice model at summit, Greenland
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- z_firn: float, NuRadio length units
z coordinate of the transition from the upper exponential profile to the lower one
- The following parameters can be found without (lower)
- and with (upper) the suffix of `_firn`
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- get_index_of_refraction(position)[source]
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 3dim np.array
point
- Returns:
- n: float
index of refraction
- get_average_index_of_refraction(position1, position2)[source]
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 3dim np.array
point
- position2: 3dim np.array
point
- Returns:
- n_average: float
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)[source]
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 3dim np.array
point
- Returns:
- n_nabla: (3,) np.array
gradient of index of refraction at the point
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.greenland_perturbation[source]
Bases:
greenland_firn
initiation of a double exponential ice model at summit, Greenland
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- z_firn: float, NuRadio length units
z coordinate of the transition from the upper exponential profile to the lower one
- The following parameters can be found without (lower)
- and with (upper) the suffix of `_firn`
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 3dim np.array
point
- position2: 3dim np.array
point
- Returns:
- n_average: float
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 3dim np.array
point
- Returns:
- n_nabla: (3,) np.array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 3dim np.array
point
- Returns:
- n: float
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- class NuRadioMC.utilities.medium.uniform_ice(z_bottom=None)[source]
Bases:
IceModelSimple
uniform ice with refractive index of typical deep ice (1.78)
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
initiaion of a simple exponential ice model
The bottom defined here is a boundary condition used in simulations and should always be defined. Note: it is not the same as reflective bottom. The latter can be added using the add_reflective_layer function.
The z_shift is a variable introduced to be able to shift the exponential up or down along the z direction. For simple models this is almost never but it is used to construct more complex ice models which rely on exp. profiles also
- Parameters:
- z_air_boundary: float, NuRadio length units
z coordinate of the surface of the glacier
- z_bottom: float, NuRadio length units
z coordinate of the bedrock/bottom of the glacier.
- n_ice: float, dimensionless
refractive index of the deep bulk ice
- delta_n: float, NuRadio length units
difference between n_ice and the refractive index of the snow at the surface
- z_0: float, NuRadio length units
scale depth of the exponential
- z_shift: float, NuRadio length units
up or down shift od the exponential profile
Methods
add_reflective_bottom
(refl_z, refl_coef, ...)function which adds a reflective bottom to your ice model
get_average_index_of_refraction
(position1, ...)returns the average index of refraction between two points Overwrites function of the mother class
get_gradient_of_index_of_refraction
(position)returns the gradient of index of refraction at position Overwrites function of the mother class
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa.
get_index_of_refraction
(position)returns the index of refraction at position.
set_ice_model_radiopropa
(ice_model_radiopropa)If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
- add_reflective_bottom(refl_z, refl_coef, refl_phase_shift)
function which adds a reflective bottom to your ice model
- Parameters:
- refl_z: float, NuRadio length units
z coordinate of the bottom reflective layer
- refl_coef: float between 0 and 1
fraction of the electric field that gets reflected
- refl_phase_shift: float, NuRadio angukar units
phase shoft that the reflected electric field receives
- get_average_index_of_refraction(position1, position2)
returns the average index of refraction between two points Overwrites function of the mother class
- Parameters:
- position1: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- position2: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of average refraction are returned
- Returns:
- n_average: float of 1D numpy array (n,)
averaged index of refraction between the two points
- get_gradient_of_index_of_refraction(position)
returns the gradient of index of refraction at position Overwrites function of the mother class
- Parameters:
- position: 1D or 2D numpy array
Either one position or an array of positions for which the gradient of index of refraction is returned
- Returns:
- n_nabla: 1D (3,) or 2D (n,3) numpy array
gradient of index of refraction at the point
- get_ice_model_radiopropa()
Returns an object holding the radiopropa scalarfield and necessary radiopropa moduldes that define the medium in radiopropa. If no specific model is set by the user it returns the default implemented model using the ‘_compute_default_ice_model_radiopropa’ function.
This seperation allows having the posibility to set a more specific/adjusted radiopropa ice model in case they need it, without losing the access to the default model.
DO NOT OVERRIDE THIS FUNCTION
- Returns:
- ice: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules
- get_index_of_refraction(position)
returns the index of refraction at position. Overwrites function of the mother class
- Parameters:
- position: 1D (3,) or 2D (n,3) numpy array
Either one position or an array of positions for which the indices of refraction are returned
- Returns:
- n: float or 1D numpy array (n,)
index of refraction
- set_ice_model_radiopropa(ice_model_radiopropa)
If radiopropa is installed, this function can be used to set a specific RadioPropaIceWrapper object as the ice model used for RadioPropa.
DO NOT OVERRIDE THIS FUNCTION
- Parameters:
- ice_model_radioprop: RadioPropaIceWrapper
object holding the radiopropa scalarfield and modules