atmospheric-inverse-methods-for-flux-optimization

Functions for optimizing surface fluxes of some tracer to be consistent with atmospheric measurements of that tracer.

https://github.com/psu-inversion/atmospheric-inverse-methods-for-flux-optimization

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 2 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary

Keywords

carbon-emissions inverse-problems python
Last synced: 6 months ago · JSON representation ·

Repository

Functions for optimizing surface fluxes of some tracer to be consistent with atmospheric measurements of that tracer.

Basic Info
Statistics
  • Stars: 4
  • Watchers: 3
  • Forks: 1
  • Open Issues: 3
  • Releases: 5
Topics
carbon-emissions inverse-problems python
Created about 7 years ago · Last pushed over 5 years ago
Metadata Files
Readme License Citation Zenodo

README.rst

Atmospheric Inverse Methods for Flux Optimization
=================================================

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3338692.svg
   :target: https://doi.org/10.5281/zenodo.3338692

Python package containing functions for the application of inverse
methods to the optimization of surface fluxes to be consistent with
atmospheric observations.

My use-case is primarily continental-scale biological carbon dioxide
flux optimization using atmospheric carbon dioxide mole fraction
observations.  A paper with more details is in preparation.

Similar work is being done, using similar methods with a different
approach, by the `NOAA/GMD CarbonTracker-Lagrange Inversion code
`_.
This code is designed to be run from within Python, where theirs is
designed as a series of scripts to be run from the command line.  I
feel the flexibility from the data structures I chose to use,
specifically inheriting from classes based on `scipy's LinearOperators
`_
allows greater flexibility in what this code can do.

Other software packages in Python that tackle similar problems include
`Data Assimilation with Python: a Package for Experimental Research
(DAPPER) `_ and `Python
Observing System Simulation Experiments (PyOSSE)
`_, both of which have more focus
on identical-twin OSSEs and Ensemble Kalman Filters.
These packages do not use standard Python packaging frameworks to
specify dependencies, and my reasons for prefering my package to the
CT-Lagrange inversion code also apply here.

Installation
------------

.. code::

    pip install "git+https://github.com/psu-inversion/atmospheric-inverse-methods-for-flux-optimization.git"

Documentation
-------------

Documentation, including both high-level theory and details on what 
each function does, is available at
https://psu-inversion.github.io/atmospheric-inverse-methods-for-flux-optimization/

Dependencies
------------

To install all dependencies required for development of the code, use

.. code::

   pip install -r requirements.txt

Testing
-------

To run all tests:

.. code::

    tox
    
To run only code correctness tests for the current interpreter:

.. code::

    python setup.py test

Collaboration
-------------

`The repository `_
is maintained within `the PSU Inversion GitHub organization `_.
Unexpected behavior can be reported with the expected response at
`the issue tracker `_.
Code you would like to be included in future versions of this
package can be submitted as 
`a pull request `_.

License
-------

By downloading this software you agree to the terms of use of the
`3-clause BSD license `_.

Owner

  • Name: Penn State Inversion working group
  • Login: psu-inversion
  • Kind: organization

Citation (CITATION.cff)

# YAML 1.2
# Metadata for citation of this software according to the CFF format (https://citation-file-format.github.io/)
---
cff-version: 1.0.3
message: If you use this software, please cite it using these metadata.
# FIXME title as repository name might not be the best name, please make human readable
abstract: |
    Python package containing functions for the application of
    inverse methods to the optimization of surface fluxes to be
    consistent with atmospheric observations.

    My use-case is primarily continental-scale biological carbon
    dioxide flux optimization using atmospheric carbon dioxide mole
    fraction observations. A paper with more details is in
    preparation.

    Similar work is being done, using similar methods with a different
    approach, by the NOAA/GMD CarbonTracker-Lagrange Inversion
    code. This code is designed to be run from within Python, where
    theirs is designed as a series of scripts to be run from the
    command line. I feel the flexibility from the data structures I
    chose to use, specifically inheriting from classes based on
    scipy's LinearOperators allows greater flexibility in what this
    code can do.

    Other software packages in Python that tackle similar problems
    include Data Assimilation with Python: a Package for Experimental
    Research (DAPPER) and Python Observing System Simulation
    Experiments (PyOSSE), both of which have more focus on
    identical-twin OSSEs and Ensemble Kalman Filters. These packages
    do not use standard Python packaging frameworks to specify
    dependencies, and my reasons for prefering my package to the
    CT-Lagrange inversion code also apply here.
title: 'Atmospheric Inverse Methods for Flux Optimization'
doi: 10.5281/zenodo.3338692
# FIXME splitting of full names is error prone, please check if given/family name are correct
authors:
- given-names: DWesl
  affiliation: "psu-inversion"
repository-code: https://github.com/psu-inversion/atmospheric-inverse-methods-for-flux-optimization
license: BSD-3-Clause
keywords:
  - "carbon dioxide"
  - "atmospheric trace gas flux inversion"

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 576
  • Total Committers: 2
  • Avg Commits per committer: 288.0
  • Development Distribution Score (DDS): 0.378
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Daniel Wesloh d****9@p****u 358
DWesl 2****l 218
Committer Domains (Top 20 + Academic)
psu.edu: 1

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 1
  • Total pull requests: 44
  • Average time to close issues: 3 days
  • Average time to close pull requests: 21 days
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 7.0
  • Average comments per pull request: 0.2
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • zmoon (1)
Pull Request Authors
  • DWesl (44)
Top Labels
Issue Labels
documentation (1)
Pull Request Labels
enhancement (12) bug (9) documentation (7) good first issue (2) help wanted (1)

Dependencies

.github/workflows/pythondocs.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
.github/workflows/pythonpackage.yml actions
  • actions/checkout v1 composite
  • actions/setup-python v1 composite
pyproject.toml pypi
requirements-examples.txt pypi
  • cf_units *
  • dask >=1.1.0
requirements.txt pypi
  • Sphinx *
  • numpy >=1.13
  • numpy >=1.13,<1.17
  • pandas *
  • pyfftw *
  • scipy <1.4
  • six *
  • tox *
  • unittest2 *
  • xarray *
setup.py pypi