<commit_before>================
climlab
================

|docs| |DOI| |pypi| |Build Status| |coverage|

----------
 Python package for process-oriented climate modeling
----------

Author
--------------
| **<NAME>**
| Department of Atmospheric and Environmental Sciences
| University at Albany
| <EMAIL>


About climlab
--------------
``climlab`` is a flexible engine for process-oriented climate modeling.
It is based on a very general concept of a model as a collection of individual,
interacting processes. ``climlab`` defines a base class called ``Process``, which
can contain an arbitrarily complex tree of sub-processes (each also some
sub-class of ``Process``). Every climate process (radiative, dynamical,
physical, turbulent, convective, chemical, etc.) can be simulated as a stand-alone
process model given appropriate input, or as a sub-process of a more complex model.
New classes of model can easily be defined and run interactively by putting together an
appropriate collection of sub-processes.

Currently, ``climlab`` has out-of-the-box support and documented examples for

- Radiative and radiative-convective column models, with various radiation schemes:
    - RRTMG (a widely used radiative transfer code)
    - CAM3  (from the NCAR GCM)
    - Grey Gas
    - Simplified band-averaged models (4 bands each in longwave and shortwave)
- 1D diffusive energy balance models
- Seasonal and steady-state models
- Arbitrary combinations of the above, for example:
    - 2D latitude-pressure models with radiation, horizontal diffusion, and fixed relative humidity
- Orbital / insolation calculations
- Boundary layer sensible and latent heat fluxes


Links
-----

-  HTML documentation: http://climlab.readthedocs.io/en/latest/intro.html
-  Issue tracker: http://github.com/brian-rose/climlab/issues
-  Source code: http://github.com/brian-rose/climlab


Installation
----------------
Currently the only way to install is to build from source.
To get the latest stable version, do

``git clone https://github.com/brian-rose/climlab.git``

Then from the `climlab` directory, do

``python setup.py install``

    or, if you are developing new code

``python setup.py develop``

This will trigger the build process for the Fortran components,
assuming you have a Fortran compiler available on your system.

The Fortran compiler is necessary for the CAM3 and RRTMG radiation modules.
Other `climlab` components will be fully functional without it.

Dependencies
-----------------
Required
~~~~~~~~~~~~
- Python 2.7
- numpy
- scipy

Recommended for full functionality
~~~~~~~~~~~~
- a Fortran compiler (tested with both gcc/gfortran and ifort)
- netCDF4 Python package (for data i/o)
- numba Python package (used for acceleration of some components)

Anaconda Python is highly recommended and will provide everything you need.


Documentation and Examples
------------------
Full user manual is available here_.

The directory ``climlab/courseware/`` also contains a collection of Jupyter
notebooks (*.ipynb) used for teaching some basics of climate science,
and documenting use of the ``climlab`` package.
These are self-describing, and should all run out-of-the-box once the package is installed, e.g:

``jupyter notebook Insolation.ipynb``


.. _here: http://climlab.readthedocs.io



History
----------------------
The first versions of the code and notebooks were originally developed in winter / spring 2014
in support of an undergraduate course at the University at Albany.
See the original course webpage at
http://www.atmos.albany.edu/facstaff/brose/classes/ENV480_Spring2014/

The package and its API was completely redesigned around a truly object-oriented
modeling framework in January 2015.

It was used extensively for a graduate-level climate modeling course in Spring 2015:
http://www.atmos.albany.edu/facstaff/brose/classes/ATM623_Spring2015/
Many more examples are found in the online lecture notes for that course:
http://nbviewer.jupyter.org/github/brian-rose/ClimateModeling_courseware/blob/master/index.ipynb

Version 0.3 was released in February 2016. It includes many internal changes and
some backwards-incompatible changes (hopefully simplifications) to the public API.
It also includes the CAM3 radiation module.

Version 0.4 was released in October 2016. It includes comprehensive documentation,
an automated test suite, support for latitude-longitude grids, and numerous small enhancements and bug fixes.

Version 0.4.2 (released January 2017) introduces the RRTMG radiation scheme,
a much-improved build process for the Fortran extension,
and numerous enhancements and simplifications to the API.

Version 0.5 (released March 2017) provides bug fixes and full functionality for the RRTMG module,
an improved common API for all radiation modules, and better documentation.

The documentation_ was first created by <NAME> (Potsdam Institut for Climate Impact Research) as part of a thesis project in Spring 2016.

.. _documentation: http://climlab.readthedocs.io

Contact and Bug Reports
----------------------
Users are strongly encouraged to submit bug reports and feature requests on
github at
https://github.com/brian-rose/climlab


License
---------------
This code is freely available under the MIT license.
See the accompanying LICENSE file.

.. |pypi| image:: https://badge.fury.io/py/climlab.svg
   :target: https://badge.fury.io/py/climlab
.. |Build Status| image:: https://travis-ci.org/brian-rose/climlab.svg?branch=master
    :target: https://travis-ci.org/brian-rose/climlab
.. |coverage| image:: https://codecov.io/github/brian-rose/climlab/coverage.svg?branch=master
   :target: https://codecov.io/github/brian-rose/climlab?branch=master
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.163527.svg
   :target: https://doi.org/10.5281/zenodo.163527
.. |docs| image:: http://readthedocs.org/projects/climlab/badge/?version=latest
   :target: http://climlab.readthedocs.io/en/latest/intro.html
   :alt: Documentation Status
=======


Support
-----------------
Development of ``climlab`` is partially supported by the National Science Foundation under award AGS-1455071 to <NAME>.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.<commit_msg>Update Zenodo link for v0.5.1<commit_after>================
climlab
================

|docs| |DOI| |pypi| |Build Status| |coverage|

----------
 Python package for process-oriented climate modeling
----------

Author
--------------
| **<NAME>**
| Department of Atmospheric and Environmental Sciences
| University at Albany
| <EMAIL>


About climlab
--------------
``climlab`` is a flexible engine for process-oriented climate modeling.
It is based on a very general concept of a model as a collection of individual,
interacting processes. ``climlab`` defines a base class called ``Process``, which
can contain an arbitrarily complex tree of sub-processes (each also some
sub-class of ``Process``). Every climate process (radiative, dynamical,
physical, turbulent, convective, chemical, etc.) can be simulated as a stand-alone
process model given appropriate input, or as a sub-process of a more complex model.
New classes of model can easily be defined and run interactively by putting together an
appropriate collection of sub-processes.

Currently, ``climlab`` has out-of-the-box support and documented examples for

- Radiative and radiative-convective column models, with various radiation schemes:
    - RRTMG (a widely used radiative transfer code)
    - CAM3  (from the NCAR GCM)
    - Grey Gas
    - Simplified band-averaged models (4 bands each in longwave and shortwave)
- 1D diffusive energy balance models
- Seasonal and steady-state models
- Arbitrary combinations of the above, for example:
    - 2D latitude-pressure models with radiation, horizontal diffusion, and fixed relative humidity
- Orbital / insolation calculations
- Boundary layer sensible and latent heat fluxes


Links
-----

-  HTML documentation: http://climlab.readthedocs.io/en/latest/intro.html
-  Issue tracker: http://github.com/brian-rose/climlab/issues
-  Source code: http://github.com/brian-rose/climlab


Installation
----------------
Currently the only way to install is to build from source.
To get the latest stable version, do

``git clone https://github.com/brian-rose/climlab.git``

Then from the `climlab` directory, do

``python setup.py install``

    or, if you are developing new code

``python setup.py develop``

This will trigger the build process for the Fortran components,
assuming you have a Fortran compiler available on your system.

The Fortran compiler is necessary for the CAM3 and RRTMG radiation modules.
Other `climlab` components will be fully functional without it.

Dependencies
-----------------
Required
~~~~~~~~~~~~
- Python 2.7
- numpy
- scipy

Recommended for full functionality
~~~~~~~~~~~~
- a Fortran compiler (tested with both gcc/gfortran and ifort)
- netCDF4 Python package (for data i/o)
- numba Python package (used for acceleration of some components)

Anaconda Python is highly recommended and will provide everything you need.


Documentation and Examples
------------------
Full user manual is available here_.

The directory ``climlab/courseware/`` also contains a collection of Jupyter
notebooks (*.ipynb) used for teaching some basics of climate science,
and documenting use of the ``climlab`` package.
These are self-describing, and should all run out-of-the-box once the package is installed, e.g:

``jupyter notebook Insolation.ipynb``


.. _here: http://climlab.readthedocs.io



History
----------------------
The first versions of the code and notebooks were originally developed in winter / spring 2014
in support of an undergraduate course at the University at Albany.
See the original course webpage at
http://www.atmos.albany.edu/facstaff/brose/classes/ENV480_Spring2014/

The package and its API was completely redesigned around a truly object-oriented
modeling framework in January 2015.

It was used extensively for a graduate-level climate modeling course in Spring 2015:
http://www.atmos.albany.edu/facstaff/brose/classes/ATM623_Spring2015/
Many more examples are found in the online lecture notes for that course:
http://nbviewer.jupyter.org/github/brian-rose/ClimateModeling_courseware/blob/master/index.ipynb

Version 0.3 was released in February 2016. It includes many internal changes and
some backwards-incompatible changes (hopefully simplifications) to the public API.
It also includes the CAM3 radiation module.

Version 0.4 was released in October 2016. It includes comprehensive documentation,
an automated test suite, support for latitude-longitude grids, and numerous small enhancements and bug fixes.

Version 0.4.2 (released January 2017) introduces the RRTMG radiation scheme,
a much-improved build process for the Fortran extension,
and numerous enhancements and simplifications to the API.

Version 0.5 (released March 2017) provides bug fixes and full functionality for the RRTMG module,
an improved common API for all radiation modules, and better documentation.

The documentation_ was first created by <NAME> (Potsdam Institut for Climate Impact Research) as part of a thesis project in Spring 2016.

.. _documentation: http://climlab.readthedocs.io

Contact and Bug Reports
----------------------
Users are strongly encouraged to submit bug reports and feature requests on
github at
https://github.com/brian-rose/climlab


License
---------------
This code is freely available under the MIT license.
See the accompanying LICENSE file.

.. |pypi| image:: https://badge.fury.io/py/climlab.svg
   :target: https://badge.fury.io/py/climlab
.. |Build Status| image:: https://travis-ci.org/brian-rose/climlab.svg?branch=master
    :target: https://travis-ci.org/brian-rose/climlab
.. |coverage| image:: https://codecov.io/github/brian-rose/climlab/coverage.svg?branch=master
   :target: https://codecov.io/github/brian-rose/climlab?branch=master
.. |DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.439131.svg
   :target: https://doi.org/10.5281/zenodo.439131
.. |docs| image:: http://readthedocs.org/projects/climlab/badge/?version=latest
   :target: http://climlab.readthedocs.io/en/latest/intro.html
   :alt: Documentation Status
=======


Support
-----------------
Development of ``climlab`` is partially supported by the National Science Foundation under award AGS-1455071 to <NAME>.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
{'fraction_non_alphanumeric': 0.11116359628404976, 'fraction_numerical': 0.015194457565737679, 'mean_word_length': 3.9179248935346496, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 20, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1391926', 'n_tokens_mistral': 3674, 'n_tokens_neox': 3387, 'n_words': 1431}