Skip to content

Commit

Permalink
Merge pull request #58 from jklenzing/develop
Browse files Browse the repository at this point in the history
Merge from develop - 0.1.0-alpha
  • Loading branch information
jklenzing committed May 15, 2019
2 parents 5e61031 + f99afec commit 2367089
Show file tree
Hide file tree
Showing 20 changed files with 1,149 additions and 674 deletions.
43 changes: 43 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Description

Please include a summary of the change and which issue is fixed. Please also
include relevant motivation and context. List any dependencies that are required
for this change. Please see ``CONTRIBUTING.md`` for more guidelines.

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality
to not work as expected)
- [ ] This change requires a documentation update

# How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details for
your test configuration

- [ ] Test A
- [ ] Test B

**Test Configuration**:
* Operating system
* Version number
* Any details about your local setup that are relevant

# Checklist:

- [ ] Make sure you are merging into the ``develop`` (not ``master``) branch
- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
19 changes: 13 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,28 @@
language: python
python:
- "2.7"
- "3.4"
- "3.5"
- "3.6"
sudo: false
dist: xenial
matrix:
include:
- python: 2.7
- python: 3.4
- python: 3.5
- python: 3.6
- python: 3.7

addons:
apt:
packages:
- gfortran

before_install:
- pip install coveralls
- pip install future
- pip install matplotlib
install:
- source activate test-environment
- python setup.py install
- make -C sami2py/fortran compile
script:
- nosetests -vs --with-coverage --cover-package=sami2py

after_success:
- coveralls
76 changes: 76 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 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, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, 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 at sami2py.developers@gmail.com. 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.html

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
18 changes: 9 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ appreciated! Sami2py is a community-driven project and welcomes both feedback a
contributions.

Short version
=============
-------------

* Submit bug reports and feature requests through [GitHub](https://github.com/jklenzing/sami2py/issues)
* Make pull requests to the ``develop`` branch

Bug reports
===========
-----------

When [reporting a bug](https://github.com/jklenzing/sami2py/issues>) please
include:
Expand All @@ -22,7 +22,7 @@ include:
* Detailed steps to reproduce the bug

Feature requests and feedback
=============================
-----------------------------

The best way to send feedback is to file an issue at
`GitHub <https://github.com/jklenzing/sami2py/issues>`_.
Expand All @@ -35,7 +35,7 @@ If you are proposing a feature:
are welcome :)

Development
===========
-----------

To set up `sami2py` for local development:

Expand All @@ -54,15 +54,15 @@ To set up `sami2py` for local development:

Now you can make your changes locally. Tests for new instruments are
performed automatically. Tests for custom functions should be added to the
appropriately named file in ``sami2py/tests``. If no test file exists, then
you should create one. This testing uses nose, which will run tests on any
appropriately named file in ``sami2py/tests``. If no test file exists, then
you should create one. This testing uses nose, which will run tests on any
python file in the test directory that starts with ``test_``.

4. When you're done making changes, run all the checks to ensure that nothing
is broken on your local system

::

nosetests -vs sami2py

5. Update/add documentation (in ``docs``), if relevant
Expand Down
17 changes: 9 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# sami2py: sami2py is another model of the ionosphere python style

[![Build Status](https://travis-ci.com/jklenzing/sami2py.svg?branch=master)](https://travis-ci.org/jklenzing/sami2py)
[![Build Status](https://travis-ci.com/jklenzing/sami2py.svg?branch=master)](https://travis-ci.com/jklenzing/sami2py)
[![Coverage Status](https://coveralls.io/repos/github/jklenzing/sami2py/badge.svg?branch=master)](https://coveralls.io/github/jklenzing/sami2py?branch=master)
[![Documentation Status](https://readthedocs.org/projects/sami2py/badge/?version=latest)](http://sami2py.readthedocs.io/en/latest/?badge=latest)

# Overview

Sami2py is a python module that runs the SAMI2 model, as well as archives, loads and plots the resulting modeled values. SAMI2 is a model developed by the Naval Research Laboratory to simulate the motions of plasma in a 2D ionospheric environment along a dipole magnetic field [Huba et al, 2000]. SAMI2 solves for the chemical and dynamical evolution of seven ion species in this environment (H<sup>+</sup>, He<sup>+</sup>, N<sup>+</sup>, O<sup>+</sup>, N<sub>2</sub><sup>+</sup>, NO<sup>+</sup>, and O<sub>2</sub><sup>+</sup>).

The implementation used here includes several added options to the original release of SAMI2. A full list is included in ***add link to changes page***, but several of these include:
The implementation used here includes several added options to the original release of SAMI2. A full list is included in https://sami2py.readthedocs.io/en/latest/modifications.html, but several of these include:
- The ability to scale the neutral atmosphere in which the ions form through direct modification of the exospheric neutral temperature for extreme solar minimum conditions, as discussed by Emmert et al [2010].
- The ability to switch between HWM93, HWM07, and HWM14 as a user option.
This implementation is based on the version used in Klenzing et al [2013].
- The ability to switch input custom ExB drifts as a Fourier series.
This implementation is based on the matlab version used in Klenzing et al [2013].

# Installation

Expand Down Expand Up @@ -48,18 +49,18 @@ Note that the sami2 model runs for 24 hours to clear transients, then begins to
Now load the resultant data:

```
ModelRun = sami2py.model(tag='test', lon=0, year=2012, day=210)
ModelRun = sami2py.Model(tag='test', lon=0, year=2012, day=210)
```

Plotting features coming soon...

# How to Cite
When referring to this software package, please cite the original paper by Huba et al [2000] https://doi.org/10.1029/2000JA000035 as well as the package by Klenzing et al [2018]. ***add doi here***.
When referring to this software package, please cite the original paper by Huba et al [2000] https://doi.org/10.1029/2000JA000035 as well as the package by Klenzing et al [2019]. ***add doi here***.

Additionally, please include the following text in the acknowledgements: "This
work uses the SAMI2 ionosphere model written and developed by the Naval Research Laboratory."

# References
- Huba, J.D., G. Joyce, and J.A. Fedder, Sami2 is Another Model of the Ionosphere (SAMI2): A new low‐latitude ionosphere model, *J. Geophys. Res.*, 105, Pages 23035-23053, https://doi.org/10.1029/2000JA000035, 2000.
- Emmert, J.T., J.L. Lean, and J.M. Picone, Record‐low thermospheric density during the 2008 solar minimum, *Geophys. Res. Lett.*, 37, https://doi.org/10.1029/2010GL043671, 2010.
- Klenzing, J., Burrell, A. G., Heelis, R. A., Huba, J. D., Pfaff, R., and Simões, F.: Exploring the role of ionospheric drivers during the extreme solar minimum of 2008, *Ann. Geophys.*, 31, 2147-2156, https://doi.org/10.5194/angeo-31-2147-2013, 2013.
- Klenzing, J., A. G. Burrell, R. A. Heelis, J. D. Huba, R. Pfaff, and F. Simões, Exploring the role of ionospheric drivers during the extreme solar minimum of 2008, *Ann. Geophys.*, 31, 2147-2156, https://doi.org/10.5194/angeo-31-2147-2013, 2013.
Loading

0 comments on commit 2367089

Please sign in to comment.