Skip to main content

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

Metadata

Release files for huxt 5.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for huxt 5.0.3
File Size Uploaded
huxt-5.0.3.tar.gz 54.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for huxt 5.0.3
File Interpreter ABI Platform
huxt-5.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 108.8 MB

Release files / huxt-5.0.3.tar.gz

Download URL huxt-5.0.3.tar.gz
Size 54.4 MB
Tags Source
SHA-256 checksum
How to use checksums
82a13d97fa93dd3102f1ab5cfc3e520dedbc66b8dd9d35e84ad996cd972b19e9
BLAKE2b-256 checksum
How to use checksums
d24b4cba04ba14c8e44fa3d9b70f52cb5903ba3d3f5cc70b1bb0014fb74f3d7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release files / huxt-5.0.3-py3-none-any.whl

Download URL huxt-5.0.3-py3-none-any.whl
Size 54.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4dfdae5b8cf7e1d167e63972af2572cdeac7eeca8203afa3ea665b3f9f223e10
BLAKE2b-256 checksum
How to use checksums
47ff74e465aa2be64389e47003aa804d34e276cd3545f7eb77746a76567445a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Release history Release notifications | RSS feed

This release

5.0.3 This release

2 release files

5.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page