Skip to main content

Heliospheric Upwind eXtrapolation with Time-dependence. A computationally efficient solar wind model.

Project description

DOI

HUXt - a computationally efficient solar wind model

Introduction

This repository provides an implementation of the HUXt model (Heliospheric Upwind Extrapolation with time dependence) in Python, as described by [Owens et al. (2020)](https://doi.org/10. 1007/s11207-020-01605-3). This is a simple 1D incompressible hydrodynamic model, which essentially solves Burgers equation using the upwind numerical scheme. For more details on the model background, refer to Owens et al. (2020).

Installation

HUXt is written in Python 3.12.11 and has a range of dependencies, which are listed in the environment.yml file.

This simplest way to work with HUXt is to use conda, and we recommend using an up-to-date version of miniforge.

As of v5.0.0, HUXt can be installed via conda-forge. We recommend installing HUXt into a virtual environment and this can be done as:

>>> conda create --name huxt huxt
>>> conda activate huxt

Development Installation

If you are developing features in HUXt, it can be easier to work with an editable installation. To do this, it is easiest to clone this repository, and with the anaconda prompt in the HUXt root directory:

>>> pip install -e .

Installation through either method produces two command line tools. The first, huxt-open-examples starts JupyterLab and opens our examples notebook in a browser. The second huxt-make-ephemeris runs a script that updates the HUXt ephemeris file using JPL Horizons. This is intermittently necessary to update the ephemeris data for the STEREO-A and ACE spacecraft, as JPL Horizons only provides ephemeris data for these missions a few months into the future.

Testing

For testing with a development installation, a small test suite is included 'test_huxt.py', which compares a local version of HUXt against a simple analytical solution and some reference simulation data included in this repository. The test suite uses pytest, which is included in the huxt environment. Using the anaconda prompt from the root directory of HUXt, these tests can be performed by calling pytest from within the HUXt root directory:

pytest

The four tests should take around 1 minute to complete on a modest laptop. These tests are not an exhaustive test of all of the features in huxt, but they do cover the core functionality and expected common use cases. They are mostly useful for anyone developing HUXt, to check it is still working and how it differs from the latest available version. If you have installed HUXt via conda-forge, then the tests are completed as part of the conda-build process and not available to run locally.

Usage

Some examples of how to use HUXt can be found in HUXt_examples.ipynb, which can be opened using the huxt-open-examples command after installation.

HUXt requires an inner boundary condition for longitudinal solar wind speed profile. This can either be prescribed by the user or derived from other sources. For convenience, huxt_inputs.py provides some functions for downloading and generating Wang-Sheeley-Arge (WSA), and Potential Field Source Surface (PFSS) models, as well as from Coronal Tomography (CorTom). Examples of each is provided in the examples workbook. Routines for plotting and animating HUXt solutions can be found in huxt_analysis.py. Again, examples are provided in the workbook.

Contact

Please contact either Mathew Owens or Luke Barnard.

Citations

If you use HUXt in a publication or presentation, please cite the software using the Zenodo reference with DOI:10.5281/zenodo.4889326.

To cite this project, including the scientific basis and functionality of HUXt, please use:

Barnard and Owens. (2022), HUXt - An open source, computationally efficient reduced-physics solar wind model, written in Python, Frontiers in Physics 10.3389/fphy.2022.1005621

Owens et al. (2020), A Computationally Efficient, Time-Dependent Model of the Solar Wind for Use as a Surrogate to Three-Dimensional Numerical Magnetohydrodynamic Simulations, Sol Phys, DOI:10.1007/s11207-020-01605-3.svg

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huxt-5.0.2.tar.gz (54.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huxt-5.0.2-py3-none-any.whl (54.2 MB view details)

Uploaded Python 3

File details

Details for the file huxt-5.0.2.tar.gz.

File metadata

  • Download URL: huxt-5.0.2.tar.gz
  • Upload date:
  • Size: 54.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for huxt-5.0.2.tar.gz
Algorithm Hash digest
SHA256 9a8b9ff2756e69c09332b167acc969ef92422c584b5fe7cc353896d3c21ca057
MD5 3e8bd1375db30850457969d8a576b940
BLAKE2b-256 b62c567614ad52411ed268818c24503d3e04bf1905e158755650d7fd01bd660b

See more details on using hashes here.

File details

Details for the file huxt-5.0.2-py3-none-any.whl.

File metadata

  • Download URL: huxt-5.0.2-py3-none-any.whl
  • Upload date:
  • Size: 54.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for huxt-5.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 57e35951ffe8f5b7eb7373692f150e3c93eb5e7d8f9c0f3f3e2adda5c65e660d
MD5 e277915738f6841e22d28c85fc0a526a
BLAKE2b-256 20d92f7e6b867485649a1735b43b6091df8d98d88c54de5c88e0f59726ba2967

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page