Recent Releases of p-winds
p-winds - p-winds v2.0.1 beta
This is the beta version of p-winds version 2.0.1. The main changes in this version are:
- The addition of new functions in the
hydrogenandlinesmodules that include the capability to model transmission spectra in the Balmer-series lines of hydrogen. This implementation is based on the formulation laid out in Wyttenbach et al. (2020). Thanks to @jseideleso for contributing to this! - Other small improvements and bug corrections.
- Python
Published by ladsantos over 1 year ago
p-winds - p-winds v1.4.7
This is an important update to p-winds that corrects bugs and implement a cool new algorithm that has been requested in the past. Updating to this version is highly recommended.
Change log:
- Corrected a bug in the calculation of the Gaussian width of Voigt profiles in the
transitmodule. - Added the option to pass
gas_temperatureas an array (in function of radius from planet) instead of only afloatorint. This is useful if you have a model with self-consistently calculated temperatures and do not need to assume an isothermal profile. - Other small improvements to documentation and code reading.
- Python
Published by ladsantos almost 2 years ago
p-winds - p-winds v2.0 beta
This is the beta release of p-winds version 2.0. The newest addition is the brand new module fluid, which calculates self-consistent hydrodynamic simulations instead of assuming an isothermal Parker wind model. This version contains a wrapper for the ATES code, originally developed by Andrea Caldiroli. Please follow the installation instructions and documentation for details on how to use the new module.
Change log:
- Implemented the new module
fluid, which contains a wrapper for the hydrodynamic escape code ATES - General improvements in code comments and documentation
- Python
Published by ladsantos about 2 years ago
p-winds - p-winds v1.4.6
This is a fairly small, but useful update to p-winds. We added a new function in the tools module that generates a "generic" standard spectrum (standard_spectrum()) based on the stellar type and semi-major axis. The available stellar types are:
- 'mid-A' (based on HR 8799)
- 'early-F' (based on WASP-17)
- 'late-F' (based on HD 108147)
- 'early-G' (based on HD 149026)
- 'solar' (based on the Sun)
- 'young-sun' (based on iota Horologii)
- 'late-G' (based on TOI-193)
- 'active-K' (based on epsilon Eridanii)
- 'early-K' (based on HD 97658)
- 'late-k' (based on WASP-43)
- 'active-M' (based on Proxima Centauri)
- 'early-M' (based on GJ 436)
- 'late-M' (based on TRAPPIST-1)
Another important change: the environment variable that defines the location of the MUSCLES spectra is now $PWINDS_REFSPEC_DIR. Please modify your workflow accordingly.
If you use any of these, please cite the papers that produced the spectra. Enjoy it!
- Python
Published by ladsantos about 2 years ago
p-winds - p-winds version 1.4.5
Version 1.4.5 of p-winds improves documentation and changes the way that MUSCLES spectra are handled. Here is the changelog:
- Added almost all MUSCLES, Mega-MUSCLES and MUSCLES Extension stellar spectra are now supported in
tools.generate_muscles_spectrum()function. See the documentation for details. - Since there are many more spectra, starting on this version the MUSCLES fits files are not included in the
p-windspackage. Now the user needs to manually download them (either from the survey website or from this convenience Box link), and then set a$MUSCLES_DIRenvironment variable pointing to the location of the fits files. See installation instructions. - General bug fixes.
- Python
Published by ladsantos about 2 years ago
p-winds - p-winds v1.4.4
Version 1.4.4 of p-winds calculates the density profiles of exospheric metals! Here is the changelog:
- New module:
carbon.pyis used to calculate the distribution of neutral, singly-ionized and doubly-ionized carbon in an exoplanet's upper atmosphere. - New module:
oxygen.pyis used to calculate the distribution of neutral and singly-ionized oxygen in an exoplanet's upper atmosphere. - New module:
lines.pystores spectral line information. This information was previously stored inmicrophysics.py, but was moved to avoid bloating the latter module. Please pay attention to this new usage ofmicrophysics.py! As always, check the documentation to learn more. helium.pynow includes a functionion_fraction()that calculates the ion fraction of helium more quickly than thepopulation_fraction()function.- The function
make_spectrum_from_file()now has an option to scale an input spectrum by systemic distance and the semi-major axis of a planet around it. - New examples in the documentation: Roche lobe effects and exospheric metals.
- General bug fixes and updates to docstrings.
A paper describing the carbon and oxygen modules is being submitted for refereed publication soon. As always, please check the documentation of the code for guidance on the functions parameters!
- Python
Published by ladsantos almost 3 years ago
p-winds - p-winds v1.3.4
This is a patch to the stable version of p-winds. Here are the changes:
- Corrected a bug in
hydrogen.pywhere the code passed velocity and radii toparker.average_molecular_weight()in units of values at the sonic radius instead of km/s and Jupiter radii. This correction has only a small impact to the resulting models. - Improved rendering of the documentation in ReadTheDocs.
- Some small updates in the test suites.
- Python
Published by ladsantos almost 3 years ago
p-winds - p-winds v1.3.3
This patch corrects several small bugs in the code (see issue #36).
- Python
Published by ladsantos about 3 years ago
p-winds - p-winds v1.3.2
This patch contains several optimizations for p-winds and some new features. We highly recommend users to update. Changelog:
- Small optimization in
parker.pywhen runningstructure()andstructure_tidal() - Added options to return reaction rates in
hydrogen.pyandhelium.pywhen calculating the H ion fraction or He population fraction. See an example in the documentation (more specifically the Quickstart notebook). - Added a function to return the He ion fraction in
helium.py(does not calculate the singlet/triplet He atoms) - Removed an annoying warning that could appear when using MUSCLES spectra generated from
tools.py - Some functions that were previously implemented in
microphysics.pywere moved tolines.py. See the documentation to learn how this affects your own codes. - Significant optimization on
helium.population_fraction()that cuts down computation of He profiles by a factor of ~50% and improves numerical stability of the solution. - Added an option to manually set the grid resolution of the line-of-sight direction when using
transit.radiative_transfer_2d()with the parameterz_grid_size. Grids with lower resolution than the standard on in the code will accelerate the computation of the'formal'absorption profiles. It does not affect the'average'method.
- Python
Published by ladsantos about 3 years ago
p-winds - p-winds v1.3.1
This is a patch that corrects a critical bug in p-winds 1.3. In previous versions, there was an error in the calculation of density_r in structure_tidal() that yielded strange, but still reasonable results. The calculation in question is that of Eq. D10 in Vissapragada et al. (2022). The mistake was in the implementation of the second term of this equation. It has been corrected in this patch, version 1.3.1.
Please update your code to match this correction.
- Python
Published by ladsantos about 3 years ago
p-winds - p-winds v1.4.1 beta
This is a beta test of the version 1.4.1 of p-winds. There is quite a bit of new features. The code now calculates the density profiles of exospheric metals! Here is the changelog:
- New module:
carbon.pyis used to calculate the distribution of neutral, singly-ionized and doubly-ionized carbon in an exoplanet's upper atmosphere. - New module:
oxygen.pyis used to calculate the distribution of neutral and singly-ionized oxygen in an exoplanet's upper atmosphere. - New module:
lines.pystores spectral line information. This information was previously stored inmicrophysics.py, but was moved to avoid bloating the latter module. Please pay attention to this new usage ofmicrophysics.py! As always, check the documentation to learn more. helium.pynow includes a functionion_fraction()that calculates the ion fraction of helium more quickly than thepopulation_fraction()function.- New examples in the documentation: Roche lobe effects and exospheric metals.
- General bug fixes and updates to docstrings.
We encourage users to test this beta version and report bugs in the GitHub issues. As always, please check the documentation of the code for guidance on the functions parameters!
- Python
Published by ladsantos over 3 years ago
p-winds - p-winds v1.3.0
This is the stable version 1.3.0 of p-winds. Here is the changelog:
parker.pywas updated with two new functions:radius_sonic_point_tidal()andstructure_tidal(), which calculate the structure of the upper atmosphere while taking into account a correction due to tidal effects.hydrogen.pywas updated to allow the usage of the tidal correction implemented inparker.py.
As always, please check the documentation of the code for guidance on the functions parameters.
- Python
Published by ladsantos over 3 years ago
p-winds - p-winds v1.3.0 beta
This is a beta test of the version 1.3.0 of p-winds. Here is the changelog:
parker.pywas updated with two new functions:radius_sonic_point_tidal()andstructure_tidal(), which calculate the structure of the upper atmosphere while taking into account a correction due to tidal effects.hydrogen.pywas updated to allow the usage of the tidal correction implemented inparker.py.
We encourage users to test this beta version and report bugs in the GitHub issues. As always, please check the documentation of the code for guidance on the functions parameters!
- Python
Published by ladsantos almost 4 years ago
p-winds - p-winds v1.2.4
Changelog:
- Added option to scale MUSCLES spectra to arbitrary stellar radii
- Implemented a
v_guessroutine inhydrogen.pyto facilitate the convergence of structure solutions
- Python
Published by ladsantos almost 4 years ago
p-winds - p-winds v1.2.3
This new version is a patch to v1.2.
New in this version:
* In helium.py, corrected a mistake in the equation that calculates the charge exchange process that produces He singlet (term_19). This change should have a minimal impact on models that have more extended atmospheres, but they likely have more impact on more compact atmospheres where the charge exchange process is important near the planet's surface. Many thanks to Andrew Allan for picking up on this issue!
- Python
Published by ladsantos about 4 years ago
p-winds - p-winds v1.2.2
This new version is an update based on the referee report of the manuscript submitted to Astronomy & Astrophysics.
New in this version (compared to v.1.1):
* hydrogen.py requires a first guess for the mean molecular weight as input, but it can be self-consistently calculated by setting relax_solution to True
* hydrogen.py does not require a value for the average H ion fraction anymore
* parker.sound_speed() now takes as input only temperature and mean molecular weight
* parker has a new function to calculate the average mean molecular weight as in Eq. A.3 in Lampón et al. (2020)
* relax_solution now checks for changes in the entire population profile instead of only the outer layer, both in the hydrogen and helium modules
* Corrected the implementation of turbulence broadening to reflect the same formulation of Lampón et al. (2020)
* Fixed a bug in the exact photoionization calculation
* Corrected a mistake in the calculation of the Guassian broadening term in the Voigt profiles
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds patch v1.1.3
Version 1.1.3 contains an important patch for v1.1.0.
New in this version: * Corrected a mistake in the calculation of the Gaussian term in the Voigt profile * Fixed a bug in the exact photoionization calculation * Added future warnings for changes in v1.2
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds patch v1.2.1 *beta*
This is a patch for the pre-release version of p-winds 1.2.
New in this version: * Corrected the implementation of turbulence broadening to reflect the same formulation of Lampón et al. (2020) * Fixed a bug in the exact photoionization calculation * Corrected a mistake in the calculation of the Guassian broadening term in the Voigt profiles
Remember to always check the documentation!
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds v1.2 *beta*
This is the pre-release version of p-winds 1.2.
New in this version:
* hydrogen.py requires a first guess for the mean molecular weight as input, but it can be self-consistently calculated by setting relax_solution to True
* hydrogen.py does not require a value for the average H ion fraction anymore
* parker.sound_speed() now takes as input only temperature and mean molecular weight
* parker has a new function to calculate the average mean molecular weight as in Eq. A.3 in Lampón et al. (2020)
* relax_solution now checks for changes in the entire population profile instead of only the outer layer, both in the hydrogen and helium modules
Remember to always check the documentation!
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds patch v1.1.1
Version 1.1.1 contains an important patch for v1.1.0.
New in this version:
* Corrected a bug in the calculation of constants k1 and k2 in hydrogen.ion_fraction().
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds v1.1
We have recently received the referee report of our manuscript submitted for peer-review on Astronomy & Astrophysics. The paper has been recommended for publication after a revision, which we are currently working on. p-winds version 1.1 includes several important updates following up on the referee report and on another paper our team is currently working on.
New in this version:
* Changed some nomenclature to use H fraction instead of H/He or H/He fraction, which is more accurate. This implicates in some syntax changes when calling functions like parker.sound_speed(), hydrogen.ion_fraction(), and helium.population_fraction(). In case of doubt, always check the documentation!
* Implementation of an exact calculation for the photoionization of H instead of using the approximation of Oklopčić & Hirata (2018). Suffices to pass the parameter exact_phi=True in the function hydrogen.ion_fraction(). No further extra coding is necessary, everything happens under the hood.
* The calculation of photoionization rates of H and He using monochromatic fluxes now accepts as input the average ionizing photon energy or wavelength. Default values are based on the solar spectrum.
* SciPy requirement updated to v1.5 or higher.
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds v1.0
After a long period of development, we are proud to release the first stable, production-level version of p-winds! The code was extensively tested in research-grade applications, and a manuscript is going to be submitted for peer-reviewing very soon.
New in this version: - A few improvements in the documentation
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds v0.6.4-beta release
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.6.4-beta version:
- Added a function in the
tools.pymodule to make host star spectra from the MUSCLES Treasury Survey. - Added a warning about future syntax changes in the
transit.pymodule.
- Python
Published by ladsantos over 4 years ago
p-winds - p-winds 0.6.2-beta release
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.6.2-beta version:
- Removed dependency on
pillowand addedflatstarinstead flatstarhandles all the jobs to create arrays for ray tracing- In previous versions, the calculated optical depths with
transit.pywere wrong, and now they are correct - Added options to supersample the ray tracing array to avoid hard pixel edges
- Added limb darkening to
transit.py - Added planetary wind broadening to the radiative transfer in
transit.py - The functions of
transit.pynow take new extra inputs and yield different outputs as well. Check the documentation for details.
- Python
Published by ladsantos almost 5 years ago
p-winds - p-winds v0.5.4-beta
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.5.4-beta version:
helium.pynow usesodeint()instead ofsolve_ivp()as default to solve the steady-state distribution of helium because it yields results 2.6 times faster.hydrogen.pystill usessolve_ivp()because it is faster thanodeint()in that case.
- Python
Published by ladsantos almost 5 years ago
p-winds - p-winds v0.5.3-beta
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.5.3-beta version:
- Fixed a bug that could yield negative integration values using the Simpson's rule of
scipy.
- Python
Published by ladsantos almost 5 years ago
p-winds - v0.5.2 beta version
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.5-beta version:
Transit simulation Radiative transfer to calculate the in-transit signal of the Helium triplet in 1.083 microns
New in the 0.5.2-beta version:
Added the necessary configuration to allow conda-forge and Travis CI routines
- Python
Published by ladsantos almost 5 years ago
p-winds - 0.5 beta release
p-winds is a Python implementation of Parker wind models for planetary atmospheres.
New in the 0.5-beta version: - Transit simulation - Radiative transfer to calculate the in-transit signal of the Helium triplet in 1.083 microns
- Python
Published by ladsantos almost 5 years ago
p-winds - 0.4 alpha release
In this new alpha version, the way the helium profile is calculated changed quite a bit. Now, helium.py takes as input the structure of the upper atmosphere calculated in prior with hydrogen.py or any other atmospheric escape calculation. This is important to make helium.py independent of the Parker modeling.
- Python
Published by ladsantos almost 5 years ago
p-winds - 0.3 alpha release
This is the final alpha release, where the steady-state population of helium was implemented. The next release will either be important patches and eventually the beta version.
- Python
Published by ladsantos about 5 years ago
p-winds - Patch 2 for the alpha release
This patch corrects two major issues with the code: 1) The velocities beyond the sonic point are now consistent with a planetary outflow (previously, it was consistent with an accretion flow beyond the sonic radius). 2) The calculation of the sound speed now allows the user to set an ionization fraction, which in turn changes the mean molecular weight of the atmosphere.
- Python
Published by ladsantos about 5 years ago
p-winds - Very first alpha release
This is the very first alpha release of p-winds, which calculates the steady-state distribution of ionized and atomic hydrogen in a planet's upper atmosphere.
- Python
Published by ladsantos about 5 years ago