Tidalpy

Latest version: v0.5.4

Safety actively analyzes 626403 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.6.0

* Other Major Changes
* Remove support for the older non-cythonized `radial_solver` module.

0.5.4

Fixes:
* Fixed RadialSolver frequency warning message for dynamic liquid layers not displaying for correct layer types.

Additions:
* Added way to suppress warning messages in RadialSolver.
* To turn this suppression on, pass `warnings=False` to `RadialSolver.radial_solver`.

0.5.3

Fixes:
* RadialSolver: Fixed bug where solutions between liquid and solid layers were not propagating correctly.

Additions:
* New Love number benchmarks for Earth provided by [Nick Wagner](https://github.com/nlwagner) in `Benchmarks & Performance\RadialSolver\Earth Love Numbers.ipynb` (Jupyter Notebook).

Changes:
* Pre-allocated several cythonized arrays to nans to help with debugging.
* Provided more error messages to improve user experience.
* Cythonized non-dim function now takes in the planet's density and radius as variables to change.
* Improved the Tobie and Roberts benchmarks for radial solver.

Other:
* Updated to work with CyRK 0.8.7

0.5.2

Documentation
* Improved RadialSolver documentation regarding higher degree-l.
* Added info about issues that can arise from using non C-continguous arrays in cythonized functions.

Fixes:
* Added error message to `RadialSolver.radial_solver` if length of provided assumption tuples is not the same.
* Fixed issue where non C-continguous arrays were allowed in cythonized functions that required them.

0.5.1

* Removed Python 3.8 support due to issues with building SciPy.

0.5.0

_This version is likely to break code based on TidalPy v0.4.X and earlier_

Cythonizing TidalPy
* A major change starting with v0.5.0 is the switch from numba.njited functions to cython precompiled functions and
extension classes. The reasons for doing this are numerous. This transition will be completed in stages
with minor versions (v0.X.0) each bringing a new set of cythonized updates until all njited functions are retired.
* For this version:
* Converted `TidalPy.radial_solver.radial_solver` to cythonized `TidalPy.RadialSolver.radial_solver`.
* The old radial solver method will be removed in TidalPy version 0.6.0.
* Added new cython-based `TidalPy.utilities.classes.base_x` base cython extension class that other classes are built off of.
* Converted `TidalPy.rheology.complex_compliances.compliance_models` to cythonized `TidalPy.rheology.models`.
* Improved the new rheology methods to better handle extreme values of frequency and modulus.
* The old rheology solvers will be removed in a future release of python.
* Added several new cython-based helper functions in the utilities package.

Other Major Changes
* Added support for Python 3.11 and 3.12. TidalPy now runs on Python 3.8--3.12.
* Note that currently the Burnman package does not support 3.12 so that functionality is limited to python 3.8-3.11.
* Removed support for `solver_numba` in the `radial_solver` module.
* Removed some imports from main package and sub modules' `__init__` to avoid slow load times.
* Moved conversion tools from `TidalPy.toolbox.conversions` to `TidalPy.utilities.conversions`.
* Changed setup files so that cython code can be compiled.
* `special` - for high-performance, general, scientific functions.
* Moved TidalPy configs to a standard user directory by default. The specific location will depend on the OS.
* Default configs will be installed on the first `import TidalPy` call after installation.
* These defaults are stored in the `TidalPy.defaultc.py` as a string which is copy and pasted to the new `TidalPy_Configs.toml`.
* There is a new `TidalPy.clear_data()` function to delete all data stored in these locations. Data will be rebuilt the next time TidalPy is imported.
* New `TidalPy.set_config(config_path)` to change the active configuration file used by TidalPy.
* Note that `TidalPy.reinit()` should be called after changing the configurations.
* New `TidalPy.set_world_dir(world_dir_path)` to change which directory to pull world configs from.
* Moved away from the system of `default.py` configurations for sub modules. All default configs are stored in the same `TidalPy_Config.toml`
* Shifted from `json` to `toml` files for world configs.
* Store all world configs to a zip file for easier distribution.
* TidalPy now requires:
* CyRK>=0.8.6
* Cython>=3.0.0
* Moved `BurnMan` 3rd party dependence to a more dedicated `Extending` folder for future development.
* To make TidalPy lighter weight we are starting to remove a lot of 3rd party packages.

Minor Changes and New Features
* `complex_compliance` configurations are now stored in the top level `rheology` in all configs.
* For example, in prior TidalPy versions you would need to change the complex compliance model by editing `config['layers']['mantle']['rheology']['complex_compliance']['model'] = 'andrade'`. Now this would be: `config['layers']['mantle']['rheology']['model'] = 'andrade'`.
* Added unique frequency finder functions to the `modes` module.
* Moved most of the type hints behind the `typing.TYPE_CHECKING` flag.
* Moved non-critical files out of repository.
* Created a new `tides.heating` module and moved the volumetric heating calculations there.
* Expanded the performance suite to better track the `radial_solver` module.
* Moved `cache.py` to top-level.
* Turned off numba cacheing on several functions that may be used in the radial solver.
* rheology
* complex compliance functions
* radial_solver.numerical
* initial guess functions
* interface functions
* Converted radial_solver.numerical initial guess and interface functions output to np.ndarrays rather than numba lists.
* Removed `config_helper.py` and the functions defined within.
* New RadialSolver class now supports more than just boolean inputs.
* Future proofing to allow for a greater variety of layer types.
* Added exoplanet archive download functionality in `TidalPy.utilities.exoplanets`.

Bug Fixes
* Fixed floating point comparison bug in `multilayer_modes` solver.
* Fixed obliquity not being used issue in quick tides calculator.
* Fixed issue in incorrect TidalPy version being loaded into the package.

Performance Improvements
* Improved the performance of the stress and strain calculator by ~20%.
* Cythonize Performance Increases:
* New `RadialSolver.radial_solver` leads to a ~50x performance boost.
* New cythonized rheology models are 500% faster for arrays; 40,000% faster for scalars (not a typo!)

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.