cn2_profile#
This module manages atmospheric Cn2 profiles.
The class Cn2Profile is the base class: it allows to describe a profile as a set of layers each one with specified J, outer scale \(L_0\), wind speed and wind direction and located at a specified altitude h above the ground
Cn2Profile allows to specify the zenith angle z and the wavelength and
The following relations are used, where the index i identifies the i-th layer and the airmass is \(X=\sec z\).
- class arte.atmo.cn2_profile.Cn2Profile(layersJs, layersL0, layersAltitude, layersWindSpeed, layersWindDirection)#
Bases:
object- Parameters:
layersJs (
ndarray) – array of layers Js in meters**(1/3)layersL0 (
ndarray) – array of layers outer-scale L0 in meterslayersAltitude (
ndarray) – array of layers altitude at Zenith in meterslayersWindSpeed (
ndarray) – array of layers wind speed in meters per secondlayersWindDirection (
ndarray) – array of layers wind direction in degrees, clockwise from North
Every array must be 1D and have the same size, defining the number of layers of the profile
All parameters must be defined at zenith
Methods
airmass()from_fractional_j(r0AtZenith, ...)Cn2 profile constructor from total r0 at zenith and fractional J of each layer
from_r0s(layersR0, layersL0, layersAltitude, ...)Cn2 profile constructor from r0 values of each layer
r0()r0s()seeing()tau0()theta0()fractional_j
layers_distance
mean_wind_speed
number_of_layers
outer_scale
set_wavelength
set_wind_direction
set_wind_speed
set_zenith_angle
wavelength
zenith_angle
zenith_angle_to_airmass
- DEFAULT_AIRMASS = 1.0#
- DEFAULT_LAMBDA = 5e-07#
- airmass()#
- Returns:
airmass – airmass at specified zenith angle
- Return type:
float
- fractional_j()#
- classmethod from_fractional_j(r0AtZenith, layersFractionalJ, layersL0, layersAltitude, layersWindSpeed, layersWindDirection)#
Cn2 profile constructor from total r0 at zenith and fractional J of each layer
- Parameters:
r0AtZenith (float) – overall r0 at zenith [m]
layersFractionalJ (
ndarray) – array of J values for each layer. Array must sum up to 1layersL0 (
ndarray) – array of layers outer-scale L0 in meterslayersAltitude (
ndarray) – array of layers altitude at Zenith in meterslayersWindSpeed (
ndarray) – array of layers wind speed in meters per secondlayersWindDirection (
ndarray) – array of layers wind direction in degrees, clockwise from North
Every array must be 1D and have the same size, defining the number of layers of the profile
All parameters must be defined at zenith
- classmethod from_r0s(layersR0, layersL0, layersAltitude, layersWindSpeed, layersWindDirection)#
Cn2 profile constructor from r0 values of each layer
- Parameters:
layersR0 (
ndarray) – array of layers r0 in meters at 500nmlayersL0 (
ndarray) – array of layers outer-scale L0 in meterslayersAltitude (
ndarray) – array of layers altitude at Zenith in meterslayersWindSpeed (
ndarray) – array of layers wind speed in meters per secondlayersWindDirection (
ndarray) – array of layers wind direction in degrees, clockwise from North
Every array must be 1D and have the same size, defining the number of layers of the profile
All parameters must be defined at zenith
- layers_distance()#
- mean_wind_speed()#
- number_of_layers()#
- outer_scale()#
- r0()#
- Returns:
r0 – Fried parameter at defined wavelength and zenith angle
- Return type:
Quantityequivalent to meters
- r0s()#
- seeing()#
- Returns:
seeing – seeing value at specified lambda and zenith angle defined as 0.98 * lambda / r0
- Return type:
Quantityequivalent to arcsec
- set_wavelength(wavelengthInMeters)#
- set_wind_direction(windDirectionInDeg)#
- set_wind_speed(windSpeed)#
- set_zenith_angle(zenithAngleInDeg)#
- tau0()#
- Returns:
tau0 at specified lambda and zenith angle [sec]
- Return type:
tau0 (float)
- theta0()#
- Returns:
- isoplanatic angle at specified lambda and zenith
angle [arcsec]
- Return type:
theta0 (float)
- wavelength()#
- wind_direction()#
- Returns:
wind – wind direction of each layer [deg, clockwise from N]
- Return type:
Quantitycontaining an array.
- wind_speed()#
- Returns:
windspeed of each layer in m/s
- Return type:
(array)
- zenith_angle()#
- static zenith_angle_to_airmass(zenithAngleInDeg)#
- class arte.atmo.cn2_profile.EsoEltProfiles#
Bases:
objectMethods
Median
Q1
Q2
Q3
Q4
- L0 = 25#
- classmethod Median(*args, **kwargs)#
- classmethod Q1()#
- classmethod Q2()#
- classmethod Q3()#
- classmethod Q4()#
- class arte.atmo.cn2_profile.MaoryStereoScidarProfiles2021#
Bases:
objectMethods
P10
P25
P50
P75
P90
- L0 = 25#
- classmethod P10()#
- classmethod P25()#
- classmethod P50()#
- classmethod P75()#
- classmethod P90()#
- class arte.atmo.cn2_profile.MaorySteroScidarProfiles#
Bases:
objectMethods
P10
P25
P50
P75
P90
- classmethod P10()#
- classmethod P25()#
- classmethod P50()#
- classmethod P75()#
- classmethod P90()#
- class arte.atmo.cn2_profile.MiscellaneusProfiles#
Bases:
objectMethods
- classmethod ERIS()#
From Doc. No.: VLT-SPE-ESO-11250-4110
- classmethod LBT()#
From G. Agapito, C. Arcidiacono, F. Quiros-Pacheco, S. Esposito, “Adaptive optics at short wavelengths - Expected performance and sky coverage of the FLAO system going toward visible wavelengths”, doi: 10.1007/s10686-014-9380-7
- classmethod MaunaKea()#
From Brent L. Ellerbroek, Francois J. Rigaut, “Scaling multiconjugate adaptive optics performance estimates to extremely large telescopes,” Proc. SPIE 4007, Adaptive Optical Systems Technology, (7 July 2000); doi: 10.1117/12.390314