From 1cf531ae02843752718094b1da3af222a6c7c27a Mon Sep 17 00:00:00 2001 From: Will Barnes Date: Tue, 27 Aug 2024 20:31:18 -0400 Subject: [PATCH] update readme --- CODE_OF_CONDUCT.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++ README.md | 60 ++++++++++++++++++------------------- 2 files changed, 102 insertions(+), 31 deletions(-) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..65708ae --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,73 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct/ + +[homepage]: https://www.contributor-covenant.org diff --git a/README.md b/README.md index 1c6a4e4..d88fd2b 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,45 @@ -# ebtel++ +# ebtelplusplus -[![Build Status](https://github.com/rice-solar-physics/ebtelplusplus/actions/workflows/tests.yml/badge.svg)](https://github.com/rice-solar-physics/ebtelPlusPlus/actions/workflows/tests.yml) +[![CI Status](https://github.com/rice-solar-physics/ebtelplusplus/actions/workflows/tests.yml/badge.svg)](https://github.com/rice-solar-physics/ebtelPlusPlus/actions/workflows/tests.yml) +[![Documentation Status](https://readthedocs.org/projects/ebtelplusplus/badge/?version=latest)](https://ebtelplusplus.readthedocs.io/en/latest/?badge=latest) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.12675386.svg)](https://doi.org/10.5281/zenodo.12675386) -ebtel++ is a C++ implementation of the two-fluid EBTEL model, as detailed in [Barnes et al. (2016)](http://adsabs.harvard.edu/abs/2016ApJ...829...31B), for doing efficient hydrodynamics of dynamically-heated solar coronal loops. The EBTEL model was originally developed by [Klimchuk et al. (2008)](http://adsabs.harvard.edu/abs/2008ApJ...682.1351K) and [Cargill et al. (2012)](http://adsabs.harvard.edu/abs/2012ApJ...752..161C). This code provides an enhanced description of plasma behavior above roughly 5 MK. Further generic details about EBTEL can be found in the [repository for the original IDL code](https://github.com/rice-solar-physics/EBTEL) and in the references listed below. +`ebtelplusplus` is an implementation of the enthalpy-based thermal evolution of loops (EBTEL) model for doing +efficient hydrodynamics of dynamically-heated solar coronal loops. +`ebtelplusplus` decouples the electron and ion energy equations such that the two populations can evolve separately. +This implementation also includes effects to due to cross-sectional area expansion. -## Citation - -If you use ebtel++ in any published work, please cite the following papers: - -* [Klimchuk et al. (2008)](http://adsabs.harvard.edu/abs/2008ApJ...682.1351K) -* [Cargill et al. (2012a)](http://adsabs.harvard.edu/abs/2012ApJ...752..161C) -* [Cargill et al. (2012b)](http://adsabs.harvard.edu/abs/2012ApJ...758....5C) -* [Barnes et al. (2016)](http://adsabs.harvard.edu/abs/2016ApJ...829...31B) +If you are looking for the original EBTEL implementation, the you can find the [repository for the IDL code here](https://github.com/rice-solar-physics/EBTEL). ## Installation -First, [make sure you have the needed dependencies](http://rice-solar-physics.github.io/ebtelPlusPlus/#dependencies). -Then, clone, compile, and run the code using the example configuration file in `config/ebtel.example.cfg.xml`, +The easiest way to install `ebtelplusplus` is through `pip`, -```Shell -$ git clone https://github.com/rice-solar-physics/ebtelPlusPlus.git -$ cd ebtelPlusPlus -$ scons -$ bin/ebtel++.run +```shell +pip install ebtelplusplus ``` -This will create a results file `ebtel++_results_file.txt` in the current directory. For more info about which parameters can be passed to `ebtel++.run`, +If you would like to compile and build the package from source, see [the instructions here](https://ebtelplusplus.readthedocs.org/latest/en/development.html). -```Shell -$ bin/ebtel++.run --help -``` +## Usage -For more information about how to setup the configuration file, see the [documentation](http://rice-solar-physics.github.io/ebtelPlusPlus/). +The code snippet below shows how to set up a simulation for a 40 Mm loop, lasting 2 hours, heated by a single +heating event lasting 200 s in which all of the energy is injected into the electrons, -## Help +```python +import astropy.units as u -* [Documentation](http://rice-solar-physics.github.io/ebtelPlusPlus/) -* [Report a bug](https://github.com/rice-solar-physics/ebtelPlusPlus/issues) -* [Contribute code](https://github.com/rice-solar-physics/ebtelPlusPlus/pulls) +import ebtelplusplus +from ebtelplusplus.models import HeatingModel, TriangularHeatingEvent -## Acknowledgement +heating = HeatingModel( + background=1e-6*u.Unit('erg cm-3 s-1'), + partition=1, + events=[TriangularHeatingEvent(0*u.s, 200*u.s, 0.1*u.Unit('erg cm-3 s-1'))] +) +results = ebtelplusplus.run(2*u.h, 40*u.Mm, heating) +``` + +## Citation -This code uses [`tinyxml2`](https://github.com/leethomason/tinyxml2) for parsing the XML configuration files for each simulation. -TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrated into other programs. -See the [GitHub repository](https://github.com/leethomason/tinyxml2) and [documentation](http://leethomason.github.io/tinyxml2/) for more information. +If you use `ebtelplusplus` in any published work, it is greatly appreciate if you follow the [citation instructions here](https://ebtelplusplus.readthedocs.org/latest/en/index.html#citation).