From 3ff1af98e035aa0bf9ca84f7731a67d66400a3fe Mon Sep 17 00:00:00 2001 From: yosata Date: Sun, 13 Nov 2022 16:15:41 +0100 Subject: [PATCH] Added uncertainty calculation independent of refractivity model and small bugfixes --- AstroAtmosphere.egg-info/PKG-INFO | 257 ++++++++++++++++++ AstroAtmosphere.egg-info/SOURCES.txt | 19 ++ AstroAtmosphere.egg-info/dependency_links.txt | 1 + AstroAtmosphere.egg-info/requires.txt | 5 + AstroAtmosphere.egg-info/top_level.txt | 1 + .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 423 bytes .../__pycache__/ciddorModel.cpython-39.pyc | Bin 0 -> 14529 bytes .../dispersionModels.cpython-39.pyc | Bin 0 -> 28792 bytes .../__pycache__/misc.cpython-39.pyc | Bin 0 -> 11604 bytes .../__pycache__/neoslalib.cpython-39.pyc | Bin 0 -> 11457 bytes .../__pycache__/observatories.cpython-39.pyc | Bin 0 -> 1909 bytes .../refractionModels.cpython-39.pyc | Bin 0 -> 18835 bytes .../refractivityModels.cpython-39.pyc | Bin 0 -> 17079 bytes AstroAtmosphere/dispersionModels.py | 67 +++++ AstroAtmosphere/misc.py | 6 +- dist/AstroAtmosphere-1.5.tar.gz | Bin 0 -> 61904 bytes scripts/__pycache__/ADC.cpython-38.pyc | Bin 0 -> 5512 bytes scripts/__pycache__/ADC.cpython-39.pyc | Bin 0 -> 5512 bytes 18 files changed, 353 insertions(+), 3 deletions(-) create mode 100644 AstroAtmosphere.egg-info/PKG-INFO create mode 100644 AstroAtmosphere.egg-info/SOURCES.txt create mode 100644 AstroAtmosphere.egg-info/dependency_links.txt create mode 100644 AstroAtmosphere.egg-info/requires.txt create mode 100644 AstroAtmosphere.egg-info/top_level.txt create mode 100644 AstroAtmosphere/__pycache__/__init__.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/ciddorModel.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/dispersionModels.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/misc.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/neoslalib.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/observatories.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/refractionModels.cpython-39.pyc create mode 100644 AstroAtmosphere/__pycache__/refractivityModels.cpython-39.pyc create mode 100644 dist/AstroAtmosphere-1.5.tar.gz create mode 100644 scripts/__pycache__/ADC.cpython-38.pyc create mode 100644 scripts/__pycache__/ADC.cpython-39.pyc diff --git a/AstroAtmosphere.egg-info/PKG-INFO b/AstroAtmosphere.egg-info/PKG-INFO new file mode 100644 index 0000000..dded458 --- /dev/null +++ b/AstroAtmosphere.egg-info/PKG-INFO @@ -0,0 +1,257 @@ +Metadata-Version: 2.1 +Name: AstroAtmosphere +Version: 1.5 +Summary: Collection of equations for refractive index, refraction and dispersion calculations of atmospheric air. +Home-page: https://gitlab.astro-wise.org/micado/atmosphericmodel +Author: Joost van den Born +Author-email: born@astron.nl +License: GNU General Public License v3 +Download-URL: https://gitlab.astro-wise.org/micado/atmosphericmodel/-/archive/v1.5/atmosphericmodel-v1.5.tar.gz +Keywords: REFRACTION,REFRACTIVITY,ATMOSPHERE,DISPERSION,CIDDOR +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 3 +Classifier: Operating System :: OS Independent +Classifier: Intended Audience :: Science/Research +Classifier: Topic :: Scientific/Engineering :: Astronomy +Description-Content-Type: text/markdown +Provides-Extra: slalib +License-File: LICENSE.txt + +# AstroAtmosphere + +**Note:** +It would be appreciated if a reference to the following work, for which this package was originally build, is included whenever this code is used for a publication: +*Quantification of the expected residual dispersion of the MICADO Near-IR imaging instrument*, van den Born & Jellema, 2020, MNRAS, DOI: [10.1093/mnras/staa1870](https://doi.org/10.1093/mnras/staa1870). + + +**Author info**: *Joost van den Born*, *born@astron.nl* + + +## Example + +A minimal working example to calculate the atmospheric dispersion at Cerro Armazones between 1.49 and 1.78 micron. + +```python +from AstroAtmosphere import * + +# Parameters at Cerro Armazones +T = 279.65 # k +P = 71200 # Pa +H = 0.22 +xc = 450 # ppm +lat = -24.5983 # degrees +h = 3064 # m +l1 = 1.49 # micron +l2 = 1.78 # micron +z0 = 30 + +# Initializing dispersion model +at = Observatory() + +# Calculating indices of refraction for l1 and l2 +n1 = at.n_tph(l=l1, T=T, p=P, RH=H, xc=xc) +n2 = at.n_tph(l=l2, T=T, p=P, RH=H, xc=xc) + +# Density of the atmosphere (following CIPM-81/91 equations) +rho = at.rho(p=P, T=T, RH=H, xc=xc) + +# Initializing refraction model and setting the reduced height +disp = dispersion(lat, h) +disp.setReducedHeight(P, rho) + +# Calculation of the atmopheric dipsersion +atm_dispersion = disp.cassini(n1, n2, z0) * 3.6e6 +print ('The dispersion is %.03f milli arc seconds' %(atm_dispersion)) +``` + +## Installation + +The package is available through Git-Lab and through PyPI. The package may be installed using the `setup.py` file, but easier is to install using `pip`. + +```bash +pip install AstroAtmosphere +``` + + +## Contents of the AstroAtmosphere package + +The package contains the following files: +- `/data/1976USSA.txt` : Data file of the 1976 US Standard Atmosphere. +- `ciddorModel.py` : Contains the `Observatory()` class to calculate the refractive index of atmospheric air, using the Ciddor (1996) model. +- `dispersionModels.py` : Contains various atmospheric models that can be used to calculate the atmospheric dispersion +- `misc.py` : Contains several miscellaneous functions, e.g. to quickly calculate the refractive index. +- `neoslalib.py` : Contains a Python native port of the `pyslalib.SLA_REFRO()` routine, translated from the original FORTRAN code. +- `observatories.py` : Contains a dictionary with the average atmospheric conditions for various large observatories around the world. +- `refractionModels.py` : Contains various atmospheric models that can be used to calculate the atmospheric refraction +- `refractivityModels.py` : Contains various functions from literature to calculate the refractive index. Some examples of works included are Ciddor (1996), Barrell & Sears (1939), SLALIB, Owens (1967) and Edlen (1966). + + + +## The Ciddor refractivity model + +The refractivity model from Ciddor, 1996, calculates the index of refraction of air using the following parameters: +- T - Temperature in Kelvin +- p - Pressure in Pascal +- RH - Relative humidity in fractional units +- xc - CO2 density in parts per million + +It is invoked by first initializing an `Observatory()` object. The atmospheric conditions can be parsed into the `n_tph()` function. + +```python +at = Observatory() +n = at.n_tph(l=0.55, T=273.15, p=101325, RH=0.2, xc=300) +``` + +Basic functionality of other refractivity models is included as well and is discussed below. + + +## The atmospheric refraction and atmospheric dispersion models + +If the atmospheric refraction is denoted as R(n), then atmospheric dispersion is defined as R(n1) - R(n2). Thus they are very similar in function and use. + + +The available models in this package: +- `refractionIntegral()` - Full integration using the refractive integral (requires detailed information about the atmosphere, e.g. `AstroAtmosphere/data/1976USSA.txt`) +- `planeParallel()` - Plane-parallel atmosphere refraction model +- `cassini()` - Cassini's homogeneous atmosphere refraction model +- `oriani()` - Oriani's theorem ( Atan(z) + Btan^3(z) ) +- `tan5()` - Oriani's theorem expanded ( Atan(z) + Btan^3(z) + Ctan^5(z) ) +- `corbard()` - Error function refraction model +- `matharExponential()` - Barometric exponential model by R. Mathar. + +The package also includes a python native port of the `SLA_REFRO()` FORTRAN routine, ported from pyslalib. See below for more information. + + +Input parameters for the spherical atmosphere models (all but the first): +- T - Temperature [K] +- p - Pressure [Pa] +- RH - Relative humidity +- xc - CO2 density [ppm] +- lat - Latitude [deg] +- h - Height above sea level [m] +- l - Wavelength(s) [μm] +- z - Zenith angle [deg] + +An example - To calculate the atmospheric refraction we set up a `refraction()` object. This requires the latitude and altitude of the observer. The atmospheric dispersion is calculated similarly, but by exchanging the `refraction()` object by a `dispersion()` object and parsing two refractive indices into the `cassini()` function. + +```python +# Density of the atmosphere (following CIPM-81/91 equations) +rho = at.rho(p=101325, T=273.15, RH=0.2, xc=300) + +# Initializing refraction model and setting the reduced height +ref = refraction(lat=30, h=2200) +ref.setReducedHeight(p=101325, rho=rho) + +# Calculating the atmospheric refraction +atm_ref = ref.cassini(n, zenith=30) +``` + + +## Analytical error propagation + +Full analytical error propagation is available for the Ciddor dispersion model (`Observatory.dn_tph()`), for the Cassini refraction model (`refraction.cassiniError()`) and for the Cassini dispersion model (`dispersion.cassiniError()`). +The results agree well with a Monte Carlo simulation, suggesting that if additional errors have not been considered, they are of neglible importance. + +Uncertainties that are considered: + +Ciddor dispersion model: + +| Param. | Description | Unit | +| ------ | ------ | ------ | +| dl | Wavelength | um | +| dT | Temperature | K | +| dP | Pressure | Pa | +| dRH | Relative Humidity | | +| dCO2 | CO2 density | ppm | + + +Cassini refraction model: + +| Param. | Description | Unit | +| ------ | ------ | ------ | +| dn | Refractive index | | +| dz | Zenith angle | deg | + +Cassini dispersion model: + + +| Param. | Description | Unit | +| ------ | ------ | ------ | +| dl1, dl2 | Wavelength(s) | um | +| dT | Temperature | K | +| dP | Pressure | Pa | +| dRH | Relative Humidity | | +| dCO2 | CO2 density | ppm | +| dz | Zenith angle | deg | + +An example of its use is given in the code snippet here: +```python + # Initializing dispersion object +disp = dispersion(lat, h) +disp.setReducedHeight(P, rho) + +# Atmospheric dispersion +dispersion_obs = disp.cassini(n1, n2, zenith_obs) + +# Uncertainty in the atmospheric dispersion +dispersion_unc = disp.cassiniError(zenith_obs, l1, l2, T, P, H, xc, + dl1=0.001, dl2=0.001, dT=0.2, dP=30, dRH=0.03, dCO2=25, dz=1/3600) * 3.6e6 +``` + +## Other refractivity models + +The package also includes limited functionality of other refractivity models. These are not as extensive, work only under standard atmospheric conditions, or over a limited wavelength range, compared to the Ciddor model. + +Included are + +| Model name | Function | Remarks | +| ---------- | -------- | ------- | +| Barrell & Sears (1939) | `BarrellAndSears()` | Outdated model, especially poor for short wavelengths. | +| Ciddor (1996) | `Ciddor()` | Only at standard atmosphere. CO2 density can be changed. | +| Edlen (1953) | `Edlen1953()` | The equation by Edlèn, 1953, combined with modification from Barrel (1951), to include temperature, pressure and humidity dependence. | +| Edlen (1966) | `Edlen1966()` | Allows for any temperature, pressure, humidity and CO2 density.| +| Owens (1967) | `Owens()` | Allows for any temperature, pressure, humidity. | +| Bonsch & Potulski (1998) | `BonschPotulski()` | Allows for any temperature, pressure, humidity and CO2 density. | +| Birch & Downs (1994) | `BirchDowns()` | Only at standard atmosphere. Function requires wavelength only. | +| Peck & Reeder (1972) | `PeckReeder()` | Only at standard atmosphere. Function requires wavelength only. | +| Mathar (2006) | `Mathar()` | Allows for temperature, pressure and humidity specification. Works best at wavelengths above 1.4 μm. | +| Hohenkerk & Sinclair (1985) | `HohenkerkAndSinclair()` | Based on Barrell & Sears equation. Generally, gives slightly larger values.| +| Hohenkerk & Sinclair (1985) | `slalib()` | Uses pySLALIB to retrieve the refractive index at standard atmospheric conditions.| + +The last function extracts the refractive index from the `pyslalib.sla_refro()` function and thus requires [pyslalib](https://pypi.org/project/pySLALIB/). This is an optional dependency for the setup of AstroAtmosphere. + +## Quick functions + +Some functions can make use of the `observatories` dictionary as input. These include default average conditions of the atmosphere at these locations. When these are used, only the wavelength and zenith angle are required to calculate the refraction and dispersion. + + +```python + # Quick refractive index +nq = quick_refractive_index(l=1.49, conditions='STANDARD') + +# Quick refraction +rq = quick_refraction(l1, zenith_obs, conditions='STANDARD') + +# Quick dispersion +dq = quick_dispersion(l1, l2, zenith_obs, conditions='STANDARD') +``` + +Presently, several observatories are known. These can all be found in the `observatories` dictionary. Contact the author to add additional standard conditions. + +| Observatory | Flag | Notes | +| --------------------------------------------- | ----------------- | --------------------------------------------- | +| Standard conditions | `STANDARD` | | +| Cerro Armazones | `CERRO_ARMAZONES` | Location of the future ELT | +| Cerro Paranal | `CERRO_PARANAL` | Location of the VLT, VISTA, VST, NGTS and SSO | +| Roque de los Muchachos Observatory (La Palma) | `LA_PALMA` | GTC, INT, WHT, NOT, and others. | +| La Silla Observatory | `LA_SILLA` | ESO 3.6m telescope, NTG, BlackGEM and others. | +| Las Campanas Observatory | `LAS_CAMPANAS` | Site of the future GMT. | +| Mauna Kea Observatory (Hawaii) | `MAUNA_KEA` | Location of Keck, Subaru, Gemini North and others.| + +## Other + +This package also contains a python native port of the `SLA_REFRO()` routine of the pyslalib package, which was originally written in FORTRAN by P.T. Wallace. It can be called directly using `sla_refro()`. When using the same units as the other refraction functions, you might prefer using `slalib_refraction()` or `slalib_dispersion()`. Do note that this implementation is slower than the (compiled) FORTRAN implementation. + +Finally, the dispersion model used by Alexei Filippenko in 1982 is also included. This model is a combination of the (modified) Edlèn equation and a plane-parallel atmospheric geometry. This calculation can be accessed by calling the `Filippenko1982()` function. + + diff --git a/AstroAtmosphere.egg-info/SOURCES.txt b/AstroAtmosphere.egg-info/SOURCES.txt new file mode 100644 index 0000000..a701edf --- /dev/null +++ b/AstroAtmosphere.egg-info/SOURCES.txt @@ -0,0 +1,19 @@ +LICENSE.txt +MANIFEST.in +README.md +setup.cfg +setup.py +AstroAtmosphere/__init__.py +AstroAtmosphere/ciddorModel.py +AstroAtmosphere/dispersionModels.py +AstroAtmosphere/misc.py +AstroAtmosphere/neoslalib.py +AstroAtmosphere/observatories.py +AstroAtmosphere/refractionModels.py +AstroAtmosphere/refractivityModels.py +AstroAtmosphere.egg-info/PKG-INFO +AstroAtmosphere.egg-info/SOURCES.txt +AstroAtmosphere.egg-info/dependency_links.txt +AstroAtmosphere.egg-info/requires.txt +AstroAtmosphere.egg-info/top_level.txt +AstroAtmosphere/data/1976USSA.txt \ No newline at end of file diff --git a/AstroAtmosphere.egg-info/dependency_links.txt b/AstroAtmosphere.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/AstroAtmosphere.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/AstroAtmosphere.egg-info/requires.txt b/AstroAtmosphere.egg-info/requires.txt new file mode 100644 index 0000000..df548c0 --- /dev/null +++ b/AstroAtmosphere.egg-info/requires.txt @@ -0,0 +1,5 @@ +numpy +scipy + +[slalib] +pyslalib>=1.0.4 diff --git a/AstroAtmosphere.egg-info/top_level.txt b/AstroAtmosphere.egg-info/top_level.txt new file mode 100644 index 0000000..2d2753d --- /dev/null +++ b/AstroAtmosphere.egg-info/top_level.txt @@ -0,0 +1 @@ +AstroAtmosphere diff --git a/AstroAtmosphere/__pycache__/__init__.cpython-39.pyc b/AstroAtmosphere/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d6439ab452625f7b7978c2c9d3f5d6cb2f3b90f GIT binary patch literal 423 zcmZ8d%TB{E5VX@20#&4nFX%NK@DCtFrAS-~s>DmmC350LF*w=C>sIuD_#S?#S5Ex} zPPie^inTnWnO%Ei%Q!w}zD92kdBhp}+=~4Qytwq6W*!t%+^~$PKn)DP`{AJH!9Nar zJ?#0Q=R?o@mL=iF-^gw@K9wbW%}CkGR4`zoxwu7&Caqn9so)O83)M8uUt9S(a zBIZ>pQY;rWG>*i4Q5a1XC^2<4Qd@!5<)q7+TxmCx#l(UENg(8Ipx!=2OvzdNI|d@p cb)#LLpS7!Xbna&s1}?UrO=AyH5b^!>4d=6Vh5!Hn literal 0 HcmV?d00001 diff --git a/AstroAtmosphere/__pycache__/ciddorModel.cpython-39.pyc b/AstroAtmosphere/__pycache__/ciddorModel.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..81e704211738421804353b93157fb995db16a6dd GIT binary patch literal 14529 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 literal 0 HcmV?d00001 diff --git a/AstroAtmosphere/__pycache__/dispersionModels.cpython-39.pyc b/AstroAtmosphere/__pycache__/dispersionModels.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..afb81db5ee8dba53d9f3a86ae7f520b9d2176ff3 GIT binary patch literal 28792 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 A8UO$Q literal 0 HcmV?d00001 diff --git a/AstroAtmosphere/__pycache__/misc.cpython-39.pyc b/AstroAtmosphere/__pycache__/misc.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f4d92079669892cc93912bf18f86d310edccb84f GIT binary patch literal 11604 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 literal 0 HcmV?d00001 diff --git a/AstroAtmosphere/__pycache__/refractivityModels.cpython-39.pyc b/AstroAtmosphere/__pycache__/refractivityModels.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c82643e7eaf5dfbdfff180fb779a40d57c5aef1 GIT binary patch literal 17079 zcmdUW31Ab|x__3YNkdy&C}kA}*;*)Fq0lyIQc9u7PAf|VG3}(Mfiww|l+v1t?BIe3 zA_|BgAmGBTP`ZGE2wqV^1r1&nQK2G&AfO=de&0-5QUvt<-@EVLf7+RI=FB=a%2{?xcI;&8r%6EEZCR#}dmkKp}y)pU7|f{*0YyaqKT z-7w~0{9rdDc=k& zT0WL<#Xo>r13r##&9^}&l>Ru@Y{HI&5Q{}CYQx-<9bB*h~gY3X6Cxb(;&ORnOuc-r=!3uSn@cNMc^VV z(dK9_eQ-Rd=MrLLIftV#5?!+kEKbf`I}hq6hr?>gGv!*%Tt2386_`0rFxi;d$z|)~ zV!I~9rgJ76&pGrx;$yq^#7u>SnJik1xrUeoQ=!>q7M!@~TKD5{W#s~r1M;nQlM5FC zBTN&`RUD9nBl-0^k1*kZxQQl* zy-48hGCj?2#uCK`@IEuzZ1rauX3iH(c_L7YjWCsLnfEF+YBqSad~zdR)%+r zeHm2419w@1`1{JhM*ClV^vF{tLk&d(uTD5=%;E`KB@@$XX;ZY3B^vLr){`q6Y+wvhE`7n>% zwoWFr#2nY=#60W-62y$N+nuhM-h$ncYo8P|!YquB8B)+Yrnfz>sL*V4Ib((tT8x*wC~bP4vlVdfa2c8Bpk#TlH@juKBp zFX^P&c#(7hu|8)AJ!x}|JP?0$=5YuQpsnV8Y+oMjYVD7>2^}H_$wq~jyFt@s;10YJ zJi@OrC?Axo0$-@R0u?LWa$Y@NDfD(Lc{#74t7hN?#2au=$p>JJ9R2*gy)e590sQ+rJ5lD(zET)k%mU4XXvx{~W8U=clmUGW3WUOdGGr!^M2N;FcXkrJZ zaO3^Yu1FPWVEU0oX(A#=s)RrvuyJaVVd92Y_hIuV*nr&iR#UwUORs5=S6WQ{d) z4yYAIi1i?@>q(_xG}K9@6S(l=l!|Z)vPMO+hOmmH4X^gSF7qduK ziA9nt0J2OA3HKNzoG8mg2}g2I>Zg^)yEVYd29Qw!B)RyYFqvB;VJBo$Fzz*^JA|!X zSPk3_csY88;67x!v?g(EUEh{6x0YJU0^Naph<99&I|%sQ*yQgc%`$lKenRi=2|nn} z#S>Bhv7Ii67n8vM3A1s#kKJmu7h7zM>jS)YILx;3b}k|=sb_p-6r`9lnu~{!OyG*m zoXP661NZW*MLeNCi2&YJ;K-^sjrBg#{2o`BrXiN=ZbZSDUa5}Z66A^We);6{l?Q)b3NIXS$ zp3oF`JbuI{b5yuL(Q#MW4-nCrkoh6>cQ(UG)>0#HFAr3ZbP=VDvZpeNSV1S;tBE2R zL-b$!qh;3dgRgMmVgnOuV!_=2L9Tp)EJk2qZIj~D?dEuym7 z3X}rzE(cMcwpp1_rzfrB;H$H%GmN#4`AnsJD`y3Vj3J4cvhu;|by)z}i})9_$W= zQqjirg%2|sTnu%Sl#0Y2K1zj?i%;TQb}k_fjrdQ8>A)43O%pBF5-t~Z1rMc}%gVDm z%vt>gauEeCm&2JH6XT>7r=>7jFq?R&4!k|j8Evu0kbOwTFZDyW;^N}yJX3)w+U$(6 znTwrPvkS(eSdC4{jd7TH!Bkp%C%V8@XuS`=!qj9X`zRL0cQKRE>wlYDVaoei$X)|k zr_a>sVIWiQf3dwQihU+hMbVyJ?5CmIThC}Y#>m1~HGlf`Ek_L^H(?1=SNwF*C~=>euNfJ+nfe}YpC*AYK4uiPm;t*t z8HLWYgx!}TMh_lQZe&vyrax^}4>YphvQDjDvgZebK;oTsc0HQ6Xzja(8oHA78#UF) zn25Y9Z}Rw&!y!j8#OYBCDaK(Eb(S1OZxaqQ*ihPv?`@c_npO3{( z4l8uT6W`N6_HR=`IqTHXGElu*73>gL&r`u zIB8&A(_5YWHZj>CQhUvNSBydznr73|#q+5uz3||@ueAp!D7A}X-k(%%3VF;G+ zvlcmzqn~7IfTHoIXpeK4JXQha0tb`}JaB!l0~t$oR>nqLc!^i_|7vZx74@wPQZ1lV zz`I?KV9B~bn@F%k{A5LF!9apxMa=UdTt5&$tPYU3uk{e>V?8u7RrwOEMG)z=x4l>r z{7DHSVS;MAaS?gY&dl()+HEAVZ$)(?%9};$ES}jd}*uTe|v=c!_ zw)C}j<$ugtWe|D-xrHR0A{*RQ;TLuNIsz0@sJlpWU8yFL;2r)wZ7)JL5z_*If===y zkSvwV{BEE>qB~HX9_@MPQTHSDo;Z-G(i2U3sZH*+?L`&b$Jgg`U8aEgUu)aLXAG4$ zp!6qTt>`2kV$K^6X*JAj=FOt7xCim(T14mm_2>;~|8hN0#Fi@&qo14V22X$VXa^a~ zCXH(LW0EUZRKR{}aL~v?kIxwu^M==|lr$E*Y@rr%pZ($YRkn;1uLmRwD;P)SP? zfR6P&HRKH@Ka}`3ze9zWm%&Q|LrYnv;r+@2cole?g7+uogkq$8fJ?Sq&TDa2xK%4) z!qFl6MH;yMMBYY<3Vf|@4VhaQ7v!ecfv5tJ5mXlJjUG0XOd{|{m|os`BPdIaF{UAu z9u4>>6f49R$(yTo2N71egGKY|p7&rRhG3Op?uKsi>^7nPBKH=}y|PeuD6lTvbXfA< zrkkt?s7dZqr~?!ltc$u(gpT4``E?%JOnU*`vk3Z7*peKvh(ZEs$XnYT-rC{<3-~tz zjx>!EaYI;Q@Y*^lRKZiwAZtL{fPTHAIpV~Bic;3uZZ!Ii@Mv8)Gm6VCa&g5LR{^GQ zS}m-=1%3}7aK2eU{0TulYmpf~F>n6M;su|_V};^GQ09ReDz z0+UUA1iN5i7MscHU5zMY#E?@hn7@`NwVEfyuFJ5QE2rv;-nL+UoAyY^||+9zr{=TUbKFfku5vFW^eziIwKob=|Z$9 z-YD6nA8;Fmg6G>AB}euPSNzAmG{Ee&Nw<{#s2cOp{8Y)Wb;@RBPg_r4U-$b2Bir{< z#f$SAUNh9(ymjjq8>{}L`B2Z(hMGTcC1o%)LMN~kne2_{jFO`};)!R<$It0#L_k(y zb9j__cBe0i=Su;XDTmh9V1Zn0iIP3c#6Qb!llVufo_j zC=}KlA>XF5EP@1=`3l^jE8Y+6Qe%1%QXi;0XmEB$GMEc^Tz-*FR7Rm`A^^%2+lBFH zM4;AYFP69zIw9omv_P7J{q@cmGAtuKEjy!kG$sn*I0V#d*<5WXJ0g<91b2HcxMQ(7 zU2t8Akt~Uk5?}RUwm$K6M2jil4%VBKF)(c;0M_HK(qcj4b)bA0x|hvi+15gn%|@#Q zH!a~@rtxNxC-mx=RVO6iYQr-Z7FkUM3~bcov^Z(VF!O{W3p^d-2uF!`!46a2coR}u zz;$U2e*V5!pqU6_d=HBUZq}nn5xt|ie#oToK8_a;F-btJdP7eRx3AM) zXfCi91EIx)9}!(^yC9uN)PSP7A!eZfyGsfK!p_(j+8b`7Stt<`AuP0K0(1%&$xVyR z0UZSi65h-y%!xfNB=UihK~sphPwV6DSXrJGL2GC+lAd)JoK~?o(BC29YBu^L9h!Rl|!)DTmtcXA%pJvxk?;nk4j7s z^Y|kL&1~a6P}xjlX?yLEX=a;8ZE_+H&QuZ^bT`o_^r6}M(rilLy+;WgmO#tRIew)` zeG$c=M^S9OBWxq~npP*vIxFNM@?h9@%@kUk{opV4NBJPiK!w=1UeJc3#AK(4!b?!X zISQ*_Jd%u1D#rT>54vQ$ayhbwRv2)EJZmH5Mg7jYCOL<53dS1e64|8%l!O z9c2)ocn8#RA}qgo3Sl(*^gthi)e|MbNLPZtAv>273~ zl3mvnS*m|-=le?bB&YKJG8mCXxzTy{!Wf6$T4J&x zLQrx$=g=&%ev2*N-qo2WSR6=h%(dEcV+u{s!vw?=r8a3L9pYnYDJZ()NV5ny$3-V} zjgRhLREVraz>UZiLy6pYD2UQx>a?hdKENWQMdLM(!kWdJxP^$oG=&zM zr4amE+zjMCK{`X5s+BIzB8$r>(HCOMt8zir!r=eN(8e99y!SU)@eud2AAJHdbx2d| z!+==!RgWoq8ZwzQog&ZiuX0V}vB5qe-3Y7x@#N@) z{4!|kP8b3%ykX!MGGlo&-&V396I8}Xe^xbgK}@#3GhCnj(vGU)j_X;24Q_*>&813~ zab|0vvoF)JZ+>{M=IoX?E7%Oz*eVxAe?)LuV&%!*a@!}SEw8{h#nhzIKU!;cvBoQhULUm#;gMGc ze%bSf^cB_2ZJe;{(hFDhEc_46i}uHLRcy_LaeYU*@yM1W@=@lA#)l} z(z6atI9ICcGS> zU+6B+g?QGKM)2Ck_)u<=N zDLcJ1xnm2hfz4U7xu4dmt7dy5qQ;!>|C*lt*yBcN)z`mOGSzQ^pH2LyUdNW}d&zga zWug5nj62i5QHM8D*<)X+zTf!6BYO6wLsRD2J5$Fd@BU@-{)VroFs{q874lcl>|m=d zU0V3lws6{)CbOUGbZyVumF$z%-=AL>_(BS6^KFOnor)VfnC^onRa?ullG*fSZ7&7p zEh=Y!j9#HsoZQ`$eK?`jhZ9C`lH%3*odu)ixAt;bjhH$|LG72DhZ0hKcg^tmte!wB zMT=FBPrZCf&zjEqv`59-p?H|5k5{!g{!t~n>L1+J@}a(xb>6+L$Jc8&reNH~W-*;M zb3m%&!Ur>#bevetdj8n#(NC{@t7jXxbsc=>a63Ia;hy$=NERjtoOt}{$scMeF>d*d z%+TiH0lV19PS0JasP1E6FU@@XaHo%#S2No>!|7HH!m3$^4?CN7JErQ{?4|0gxMkM} zsfvExKC(+v-)fdJFmJnEKV8pM$t#}?`Q~UP+gkJKp-UePtYkMLhuwJl!>Sb4x?Ai+ zS*q@|PV>ajQL|SAsa9UGZce^6MaTTw$x6Q;b)%f#QUap!bxeXD8LKO}bLpSkHzW zUjOW`rBm_5%Qp?a@boo8s@94xL!BIu>Y=DMadRzW_3Vcl&DgcQKi08!E#J2szm-R-Y*5XEJ`K(2(oIR3*-?i7hNR{85FlbZuf^Bnq0E3oHThji**^7F1 zUL7<#>+Eo_my2`CH|uUyvJal=^%q?(-)u&2H22Epb6dLugBE7I^vr@D zFIThCoVljoWMI(cDF?pabgW3v9D;UF{_-e2tLa-@b|&LZ!l0S^v)^0GhwNgNyPE#A z=5gM@RyBMh>Fr{;+m=*5bSx$W1S#JYH|4^J%T;X2FNLoqmQ2)R+@*}?uWLFFs%HCs z-u*@EB2eq3q~51y#GkBWW5ygg*!Jf5O4g}i?#B0Dh^=IOj{TAJM9)pMQ*)d*_CLbq zfiNnU>{*+(T*qep`exR~jz=rl2cLd^W%SS13Z{R%&Ah_qT`Snm4bT2?QNDpN!L#|z z&K(JZo|$rNhHLd19Sd1>TC-~G!#dVK);ecEmyQ)|&Ekb`Rj=Vw*!4Gh+vDY71TVFz zYQ-;+z@ViM-I_D~RZ|Mv(&FaDC(a*AW{z#I79LwQX$Nc7@1rA%&%RA!dp5kC(>G~8 zVbFrr)1R}f4>d63LmT?Pb=V9xuUb&ux^Rx3wbm9L{iAUYJv%jeQE{7QmvwA-`dgzm zYbVlvK5@ZxGKVnerCu%U=Z}L_4)s2?`6TDju_d1-%C@~Y99-!MIR(nvy8g}C zBlBpThreCezj(^}O13TKP|jlQwiGrvs#p2WC%FnXF(LD{)m^KSS@UUgZ=S0jwu61S zx^0)`U3QkUH{Zao&vGfT=H=$mgh9?__QvW2V9>Q!7ueq22(eN#`MCc-dSz9yub9vuSI(GS!=wn&wIhCw%;vQ3e;peo1?J488jVS;IDR<|6ANYM`H48o#+9Y&b`&6bG z@N?v$kLFb|>ywKf{k`O@j{U~iY0y5I;MJG8eveAy(_<5_{E57_Uw%VPkrBPx1McS z^2>;oDV?j>+)ozIf4TcY9UJ$GcDkeV8U*lD%Y{aJ-L%eKQ!a7MH-X>3Su|f}*}hB1 z-V5m8(tM#KFt5v&2>a~$DeP9yDEaErt2@|NCm-JP$&?bpppk}7?c>e@gC1S6X5Ngz z{W|upqs_o$BOq3^?|t*`&9!e;u@DCbiUwxtbl1{*&kn-g6 z{WDYWW-j-h{@ugia8|>?#m-e-cChT2O>gC-9x7)aZJO8es<|IwP?S33-B)h3G_aaT zX6d|aW;JViX=Z6v_<21$uxRA&N1BYPVw0aOX*B4$ojTTNW7kLL{gOuenKZk(8S%hpLup@z&6_oJ zW)%e6!F>nRit>{wEIT9o%ZB^8Q{^FOBSJkxF$8~fz% z<-h*8x{5tEV_V$$^GSpN`Xvv)`li0eF1Dd`myZ9a0<;#Wvdc;ub-KyuEw~Y{yS#Ls$JD=$nGbsYrg@4&lsBYNV7j?Rk4oY${DM5 zVD5*vfBsJN(${rt&G&7?tKLkZb*|3Y)O^A9;Z)aoDb%@-gp!sbkp-S}q;ZVx*33 zDhqxhx7F1Y_O)}WN>EWU+o}8b#Kvw~s2p*zjLxwM<8jpOgCgWs7IHR8h~w*+uyQpH4$f`XGT)5j=8yU^ng#Kb6N{GAVYE zt7NdP6z>cOP4O*H5dYw1+$Y>cT+ir%?pUb@Jd_ z3VEYj3Ptcug`&|-g|hVxg`?;bwAhs~INpOM~Gz`fcF ziK9RfoGCjeeK>nh$31=XSwB(vULj`csSRMMm8&0_B0FR7?o5snu<64Xny4BXD&1prKQ8+p3_NAeCU2k8Ad(a{JpDBMAIVlL9;tN$}8Paj_eLFHx z5Y!aEV5dY{!YKFwl{oNSJEiZhps(ruOLt%gv*>GUDWY@NPoD1=gu`$#m$i<-e4pPp z_JrgP@3-6-ayJJJzO}+e*3I)*ivo(BxpZRhk;^qOv8PY@$D9`y>|_Twj7`JQ3r9MR-gjaqeU&kl-T+z9vf$cCxAaMg zpMX2ww@7SjP^4V^qBQc)H&l0Y6(Yp`$~&5|s`^t3J;Z*0V?tVh6yZ_dIfr;_Fx{^U z!9&*72NW6VQQ3+L9VJp=hCYZEKVB6-TNA%l5%a^v)KW3iO-zsyqx)i5L}cVr8Z1$- zh^pc)`Ru5eSVxHM(dghAE3%qXX%S*}x<;#Qr){Z?)+TD>w4JpPnx@(mtzJ7>)=(3Q HzefKB6NY9O literal 0 HcmV?d00001 diff --git a/AstroAtmosphere/dispersionModels.py b/AstroAtmosphere/dispersionModels.py index f577013..7886c50 100644 --- a/AstroAtmosphere/dispersionModels.py +++ b/AstroAtmosphere/dispersionModels.py @@ -387,6 +387,73 @@ class dispersion(Observatory): return np.degrees(_dispersionError) + def independentCassiniError(self, n1, n2, zenith, dn1=0, dn2=0, dz=0, + lat=None, h=None): + ''' + Calculates the uncertainty in the atmospheric dispersion, + following the Cassini model, without assumptions about the + refractivity model. + This involves a much shorter use the chain rule. + + Not taken into account is the errror propagation in the scale height + of the atmosphere, from my results this should give a small or even + negligible difference. + + Parameters + ---------- + n1 : float + Refractive index at the first wavelength of interest at the + observer + n2 : float + Refractive index at the second wavelength of interest at the + observer + zenith : float + Angle of observation in degrees. + zenith = 0 means the observation is directly overhead. + dn1 : float + Uncertainty in the provided value of the refractive index + at the first wavelength + dn2 : float + Uncertainty in the provided value of the refractive index + at the second wavelength + dz : float (default: 0) + Uncertainty in the zenith angle, in degrees. + lat : float (default: None) + If entered, overrides the latitude attribute of the class. + h : float (default=None) + If entered, overrides the altitude attribute of the class. + + Returns + ------- + dRR : float + Uncertainty in the atmospheric dispersion in degrees. + ''' + if lat == None: + lat = self.lat + else: + self.lat = lat + if h == None: + h = self.h + else: + self.h = h + + # Some precalculation and variable setting + _zenith = np.deg2rad(zenith) + _dz = np.deg2rad(dz) + _R = self.rc + _H = self.H + + # Partial derivatives for derivation to n1, n2, and z + _dddn1 = - _R * np.sin(_zenith) / ( (_R + _H) * np.sqrt(1 - (n1 * _R * np.sin(_zenith) / (_R + _H))**2 ) ) + _dddn2 = _R * np.sin(_zenith) / ( (_R + _H) * np.sqrt(1 - (n2 * _R * np.sin(_zenith) / (_R + _H))**2 ) ) + _dddz = (_R * np.cos(_zenith)) / (_R + _H) * ( n1 / np.sqrt(1-(n1**2 * _R**2 * np.sin(_zenith)**2)/(_R + _H)**2) - n2 / np.sqrt(1-(n2**2 * _R**2 * np.sin(_zenith)**2)/(_R + _H)**2) ) + + # Combining the partial derivatives + _dispersionError = np.sqrt( (_dddn1 * dn1)**2 + (_dddn2 * dn2)**2 + (_dddz * dz)**2) + + return np.degrees(_dispersionError) + + def corbard(self, n1, n2, zenith, reduced_height=None): ''' Corbard et al., 2019, mention an additional formula based on diff --git a/AstroAtmosphere/misc.py b/AstroAtmosphere/misc.py index 417470c..bb5fe29 100644 --- a/AstroAtmosphere/misc.py +++ b/AstroAtmosphere/misc.py @@ -336,7 +336,7 @@ def slalib_refraction(l, zenith, conditions='STANDARD', T=288.15, p=101325, _phi = np.deg2rad(lat) # From degrees to radians R = [] - if type(l) == float or type(l) == int: + if isinstance(l, float) or isinstance(l, int): l = [l] if use_pyslalib: try: @@ -345,13 +345,13 @@ def slalib_refraction(l, zenith, conditions='STANDARD', T=288.15, p=101325, print('pySLALIB package not found! Try installing it first.') for wl in l: # If using original slalib (e.g. PySLALIB) - Refrac = slalib.sla_refro(_zenith, h, T, _P, RH, wl, phi, tlr, eps) + Refrac = slalib.sla_refro(_zenith, h, T, _P, RH, wl, _phi, tlr, eps) R.append(np.degrees(Refrac)) # If using internal slalib port else: for wl in l: - Refrac = sla_refro(_zenith, h, T, _P, RH, wl, phi, tlr, eps) + Refrac = sla_refro(_zenith, h, T, _P, RH, wl, _phi, tlr, eps) R.append(np.degrees(Refrac)) if len(l) == 1: diff --git a/dist/AstroAtmosphere-1.5.tar.gz b/dist/AstroAtmosphere-1.5.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..0fb622480aac3090f8f13e18b25395b27b3db52c GIT binary patch literal 61904 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 literal 0 HcmV?d00001 diff --git a/scripts/__pycache__/ADC.cpython-38.pyc b/scripts/__pycache__/ADC.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f2a7b2c2cee738093c79b8c377a34c1ec957f06b GIT binary patch literal 5512 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 literal 0 HcmV?d00001 diff --git a/scripts/__pycache__/ADC.cpython-39.pyc b/scripts/__pycache__/ADC.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..82ea649b2f1d1d14d85cb6b05b1fd9488c4bbb30 GIT binary patch literal 5512 zcmai2Z)_Y#72nx^w|BPBe-qnrnw&&wd(g(UOIu3Q+99q}AUJ74+vI4oS>NoP*E!!^ zX4kFHnga=^6+(de0aZ{5$>|rG3L!usr3lmt0Ur<_Kp;LW6%yi0EyNcJ0xBW+z1h3- z`J9S9&6_vx&CbredGF0{&KnrWXn214?msU5dtB50OpWfxKw};yEP-&1vx-(=sP&4z zW)uvjozl3$&1)JrxAcOEmc?zfY_u$%;?6a#VDmK3pic2V-jCYh13Zg5%}4nlAG*d0 z89vNMAnD`myp|u^!MC)fJd5p8SgSne7pdL-bY}H2NPRVf1@)_(jTL# zaZH}VXcjj>ZLVR)&eD6S^Y@%S@%V!?JA;^jU?4k0NWOUX^!+nCG|Qa=NIn%?brFPX zv0k4+nMJt|x<{|dTfS%r4(Dw`@HPm(8L%GCZ?YZeGyKt)@oriy&!7! z<=V#d)4sSeeRgGGdZAWaU-PR`IDK|~xe|mcKA%1jt<}Q%iZ6m98n*I>x{r9IH2C$902h5V>v&GYI=ZG&a%t*=)0)y0yFP+ZGGG z)wY}i6T!G!tjVOd%C@mR*BR5m8(qA)ttVSIrcG!qy|qt<5fa1SFqU?HfRP2wjqF;g z)VxU0B;(Q0kIs^r&ximv@uHws6$8{cOGItc5V#w<7$E`i%E}2jfM%S<7+tT^J1q-1 ztRKHI{5D6(0((2Yza3UFM2{U{0m(Y6g$2kaU6S_tAtkGHY3!C|dNpL96gj3q@_=`W zNmR-z;t+9asXe9`rk*WR5Z`NxA*^sQ@GJaWEwLpH-7&@p8)1j=+Z<~dV^3EV4vR&K z(e`r`3~icnj_)8+uxKje9LfM?vuT&LvZiazRMX+CnU)6E$F!y)O;wv{!yqy}r8P5< zwfR2Dq+Ze&v}fOL_DANn71`3>g0nRT_O!B53fYmN-^$o8UD3tQWTtsQ_B9X61I_VhK#t2{IVy*?%;tnVASWiY=A@iN zkAuxa&>oT_a!hHbf0ybbU5%8tm}T?hnYu3ifR z3dp;2Gz#_ga@Cqx^D4on&vSS`ywb>($lr2awOsLYcdcyPom*+-kL4EplDA%oTH5wV zG)@raf@<;|e8d;IT1mAQYfl}6zWluWe6Va^LlbuoWbrKwo2;LNDt%vjk# zX~Y@P`Dh{Is&nOZ5JrWx%V#!R90Cd3NZ3BNzFrS1=jh9^9&8l!pb@i5q0dF;k34$w zLU-e0%<2Wxt-58<<(Umd8$@RnKij~EA~)DXmyKPvC7n@HlV+lHQCBz8(Lj7A>8x~( zSQl89X!K^E(PG=t7CJ6QDI`1%qS<3C!%W>_Dl6;#EQ=q}49n?=mol7JkO z1QLuToa*|(TC-#fQ;d+)d;` zkV48;P)zjN%V`gI0lh+UaE%>o9oB6XpqwC0-cWN%k~Cxwkj$ZTzv`{|t{Z1u7sz0} zLVUmLUS0PpiAEemS8O7AU z-T~6VlFs{LNkXV;(TC1Udp3zSj7)qIC0qo-=4h^l4FVpNgx~-;Kyj*oV#`1YBLZM3 zZAwWTrA;e7qY$65lo*ZHlJASHa>Wb7I32A7#Vb`m48`qGhz}B>6^J{D(7B5~Dl@oe zPPN!Zhn?NnWl5U15@<32+#0ZvGf+{s z`ZyS5dmw3?aEHsdTfEAeI%)&8Q9Yz|CUg%#X0>!S=@0}e0JaS5Noq+r7%6X*zkA2) zBX8aO+g$nO<>9U4pM7nvy!6v&escEeJ9AK89=Y$=&py(aEBi;UhxvcKGFPsBq4vt7 zKlbJY?I3#GyvO~`m*4pBT>0{E|M>9FAN$>0dEu{_H-Gh2V;;&6-TTHjE?xTKTzTu% z@69j$=k>XA@cNza4t{HO9uY>?i-&iQrbV1HIJ5F*V%!;0GcRV#z4rV7GrHRCj`x5^?Wm>Nh8oh1~)?=P?Ca97j*_ z2$4sLs0=`cN|5F52Nb8iLP6=GsIS0;LrxN?MFYb2L%U3c<{vJBMA|mIh$~>+grU&Z zrGA|O-{2m%Z6rL<6AZZ9R=QTdajglAC{2Y|^d+G})f9AW#3}BVXN8A@wn%3=@JZf^ z^$2HA)KFnsu%ivP>OYUVL3OX`9>*x3r@4}MYdA&@<0nYEXIZrSoin0}hFTWm3>Qs= z)Tl;qjcQsd0l6tGPeHd{EiRv=9Vb1`lYMVPmgu=L4!{VrQ23dxG?m7ulS`7G7{Cm# ziU=V<-Y+OGic=sltM)GRF^FG8X&oY~Opv5V3u`}Q0`efWch|tEMbac%%LPY!hW!MG zi=V_)n{ax%zDQ##**}x^7J3VM3wj$l+HUs))@S?r>8*a6>X*WJrc7akluVt+wQfl* z_=cqxEIxsG0bYqB_F8<38sr1Q_d}d@CLj!8)iRY?aR%Cg0TGcBlC4{EH)Bg7q#pC! z8pq9k4I_jTAeu=Tg8;|`b2>D`1f9!!j7SC~w5g1^0_Oi15oRRg0Bz_K)E9^YluEZz z;VpEtB*RLx&EY)@{Y+_H$FV8S;$z|o5JdN9h<}pEQ$)xTvE^0jE1r0o1iSIALi;Yr zUPDRlfreTuvg1dYAkCf&A4Oj$z+XZ`TB3wmV6(AhHqBewm?d5DXe*6Q3t13z#R~9m z0o%4Hq_6AEH2T;QM>1l;!3Bt7D4kr1k`_e)E-klwH+c_N$~0N;yrwcNVueCgs92%@ zZt|&J*Abs275PnqckU;S@>D*PG2DH`#w7mN%e zCGNrDB$2jiPQe^`ee+J-m)c-77u9gtiqusq;J#OBUCC*$aQ1qc!FskrO$@+4-hU7M)qPh=cJshGv;J6+5Z7{ CLc4wd literal 0 HcmV?d00001