Skip to content
Snippets Groups Projects
Commit 7b920109 authored by Clemens Spensberger's avatar Clemens Spensberger
Browse files

Made dynlib source-packagable and bin-packagable again.

Hence also python setup.py install [--prefix=path] works again.
Adapted documentation to indicate finalised structure.
parent 72dfcec9
No related branches found
No related tags found
No related merge requests found
include compile
include src/*.f95
include lib/fortran/*.f95
include test/tests
include examples/*.py
include doc/Makefile
include doc/source/conf.py
include doc/source/*.rst
dynlib
======
Dynlib comprises a collection of easy-to-use Fortran functions that provide
interesting atmospheric and oceanographic diagnostics to be used with gridded
data sets. The collection is complemented by python utilities that further
simplify the work with the Fortran functions.
Features
--------
- High-performance diagnostics and detection algorithms written in Fortran
- Input/Output library for netCDF, matlab and python data files
- A highly customisable plotting library based on matplotlib, that pads some of
the sharp edges of matplotlib and provides a large collection of sensible
defaults for automatic plotting
Installation
------------
dynlib is available on all UiB Linux machines. Put the lines::
export SHARED='/Data/gfi/users/local'
export PATH="$PATH:$SHARED/bin"
export PYTHONPATH="$SHAREDLIB/lib/python2.7/site-packages"
into your ``~/.bashrc`` to use it.
If you want to start developing new tools for dynlib, you will need to install
your personal version of the library. Follow the developer section in the
dynlib documentation.
Contribute
----------
- Issue Tracker: github.com/dynlib/dynlib/issues
- Source Code: github.com/dynlib/dynlib
Support
-------
If you are having issues, please let us know: dynlib@gfi.uib.no.
License
-------
The project license is not determined yet.
dynlib
======
Dynlib comprises a collection of easy-to-use Fortran functions that provide
interesting atmospheric and oceanographic diagnostics to be used with gridded
data sets. The collection is complemented by python utilities that further
simplify the work with the Fortran functions.
Features
--------
- High-performance diagnostics and detection algorithms written in Fortran
- Input/Output library for netCDF, matlab and python data files
- A highly customisable plotting library based on matplotlib, that pads some of
the sharp edges of matplotlib and provides a large collection of sensible
defaults for automatic plotting
Installation
------------
dynlib is available on all UiB Linux machines. Put the lines::
export SHARED='/Data/gfi/users/local'
export PATH="$PATH:$SHARED/bin"
export PYTHONPATH="$SHAREDLIB/lib/python2.7/site-packages"
into your ``~/.bashrc`` to use it.
If you want to start developing new tools for dynlib, you will need to install
your personal version of the library. Follow the developer section in the
dynlib documentation.
Contribute
----------
- Issue Tracker: github.com/dynlib/dynlib/issues
- Source Code: github.com/dynlib/dynlib
Support
-------
If you are having issues, please let us know: dynlib@gfi.uib.no.
License
-------
The project license is not determined yet.
README
\ No newline at end of file
dynlib.diag
===========
The diag module contains a set of diagnostic functions.
.. automodule:: dynlib.diag
:members:
:undoc-members:
Fortran subroutines
-------------------
.. autofunction:: dynlib.diag.accgrad_eigs
.. autofunction:: dynlib.diag.def_3d
.. autofunction:: dynlib.diag.def_angle
.. autofunction:: dynlib.diag.def_angle_nat
.. autofunction:: dynlib.diag.def_nat_shearless
.. autofunction:: dynlib.diag.def_shear
.. autofunction:: dynlib.diag.def_stretch
.. autofunction:: dynlib.diag.def_tend_adv
.. autofunction:: dynlib.diag.def_tend_adv3d
.. autofunction:: dynlib.diag.def_tend_beta
.. autofunction:: dynlib.diag.def_tend_prescor
.. autofunction:: dynlib.diag.def_tend_tilt
.. autofunction:: dynlib.diag.def_total
.. autofunction:: dynlib.diag.div
.. autofunction:: dynlib.diag.dot_def_angle
.. autofunction:: dynlib.diag.dot_uv
.. autofunction:: dynlib.diag.geop_from_montgp
.. autofunction:: dynlib.diag.grad_shear_nat
.. autofunction:: dynlib.diag.isoline_angle
.. autofunction:: dynlib.diag.isoline_to_deformation_angle
.. autofunction:: dynlib.diag.okuboweiss
.. autofunction:: dynlib.diag.rotation_strain_ratio
.. autofunction:: dynlib.diag.shear_nat
.. autofunction:: dynlib.diag.stretch_stir
.. autofunction:: dynlib.diag.tend_def_total_pres
.. autofunction:: dynlib.diag.v_geo_from_montgp
.. autofunction:: dynlib.diag.vor
Python functions
----------------
......@@ -11,7 +11,8 @@ Contents:
.. toctree::
:maxdepth: 2
test
diag
utils
......
File moved
......@@ -17,7 +17,7 @@ version = version.strip()
# Are there local uncommitted changes?
changes = subprocess.check_output("git diff", shell=True)
if len(changes) > 0:
warnings.warn('Installing a non-committed version! Be sure you know what you are doing!')
warnings.warn('Packaging/Installing a non-committed version! Be sure you know what you are doing!')
version += '+'
# Override the build_py class to
......@@ -27,13 +27,12 @@ class build_py(_build_py):
def run(self):
subprocess.call("./compile", shell=True)
_build_py.run(self)
self.copy_file('dynlib.so', os.path.join(self.build_lib, 'dynlib.so'), preserve_mode=True)
self.copy_file('lib/dynfor.so', os.path.join(self.build_lib, 'dynlib/dynfor.so'), preserve_mode=True)
return
def finalize_options(self):
self.set_undefined_options('build', ('build_lib', 'build_lib'))
self.build_lib = os.path.join(self.build_lib, 'dynlib')
_build_py.finalize_options(self)
return
......@@ -46,11 +45,10 @@ setup(cmdclass={'build_py': build_py},
author='Clemens Spensberger',
author_email='csp001@uib.no',
url='https://wikihost.uib.no/gfi/index.php/Dynlib',
packages=['dynpie', 'tests', ],
py_modules=['test', ],
package_dir={'dynpie': '.'},
package_data={'dynpie': ['default/*.py', ] },
scripts=['scripts/dynlib_init.py', ]
packages=['dynlib'],
package_dir={'dynlib': 'lib'},
#py_modules=['test', ],
scripts=['bin/dynlib_init.py', ]
)
# the end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment