Skip to main content

pyjams: a general Python package with a wide variety of miscellaneous utility functions.

Project description

A general Python package with a wide variety of miscellaneous utility functions.

Zenodo DOI PyPI version Conda version License Build status Coverage status

About pyjams

pyjams is a general Python package offering a wide variety of miscellaneous functions in different categories, such as reading different file formats, date conversion routines, or calculating Elementary Effects. It has several subpackages offering constants, special functions, or objective functions to be used with scipy.optimize.

The package modernises and makes available routines of the JAMS Python library, which was created 2009 by Matthias Cuntz while at the Department of Computational Hydrosystems, Helmholtz Centre for Environmental Research - UFZ, Leipzig, Germany, and continued while at Institut National de Recherche pour l’Agriculture, l’Alimentation et l’Environnement (INRAE), Nancy, France.

The complete documentation of pyjams is available at:

https://mcuntz.github.io/pyjams/

Installation

The easiest way to install is via pip:

pip install pyjams

or via conda:

conda install -c conda-forge pyjams
Requirements

Content

Modules and functions are currently provided in the following categories:

Functions and modules (alphabetical)

Function/module

Short description

abc2plot

Write a, B, iii), … on a plot

alpha_equ_h2o

Equilibrium fractionation between liquid water and vapour

alpha_kin_h2o

Kinetic fractionation of molecular diffusion of water vapour

argmax

Wrapper for numpy.argmax, numpy.ma.argmax, and max for Python iterables

argmin

Wrapper for numpy.argmin, numpy.ma.argmin, and min for Python iterables

argsort

Wrapper for numpy.argsort, numpy.ma.argsort, and sorted for Python iterables

closest

Index in array which entry is closest to a given number

color

Collection of color palettes and continuous color maps

const

Physical, mathematical, computational, isotope, and material constants

date2date

Convert date representations between different regional variants

date2dec

Return numeric time values given datetime objects or strings, same as date2num

date2en

Convert dates to English date format YYYY-MM-DD hh:mm:ss

date2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

date2num

Return numeric time values given datetime objects or strings

date2us

Convert dates to American date format MM/DD/YYYY hh:mm:ss

datetime

Class as cftime.datetime for non-CF-conform calendars

dec2date

Return datetime objects given numeric time values, same as num2date

directories_from_gui

Open dialog to select one directory

directory_from_gui

Open dialog to select several directories

division

Divide two arrays, return ‘otherwise’ if division by 0

div

Divide two arrays, return ‘otherwise’ if division by 0, same as division

eair2mrair

Mixing ratio from partial pressure of water vapour and total pressure

eair2rhair

Relative humidity from partial pressure of water vapour and temperature

eair2shair

Specific humidity from partial pressure of water vapour and total pressure

eair2vpd

Air vapour pressure deficit from partial pressure and temperature

ee

Parameter screening using Morris’ method of Elementary Effects, same as screening

elementary_effects

Morris measures mu, stddev and mu*

en2date

Convert dates to standard date format DD.MM.YYYY hh:mm:ss

en2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

en2us

Convert dates to American date format MM/DD/YYYY hh:mm:ss

esat

Saturation vapour pressure over water and ice

file_from_gui

Open dialog to select one file

files_from_gui

Open dialog to select one or several files

fr2date

Convert French dates to standard date format DD.MM.YYYY hh:mm:ss

fr2en

Convert French dates to English date format YYYY-MM-DD hh:mm:ss

fr2us

Convert French dates to American date format MM/DD/YYYY hh:mm:ss

fread

Read numbers from a file into 2D float array

fsread

Read numbers and strings from a file into 2D float and string arrays

functions

Special functions for testing optimisations, sensitivity analysis, several forms of the logistic function and its derivatives, and other functions to be used with scipy.optimize

gridcellarea

Area of grid cells on Earth

infonetcdf

Extract information from netCDF file, same as ncinfo

int2roman

Integer to Roman numeral conversion

kernel_regression

Multi-dimensional non-parametric kernel regression

kernel_regression_h

Determination of bandwidth for kernel regression

mad

Median absolute deviation test

mcPlot

Matthias Cuntz’ standard plotting class

means

Calculate daily, monthly, yearly, etc. means of data

morris_sampling

Sampling of optimised trajectories for Morris measures / Elementary Effects

mrair2eair

Partial pressure of water vapour from mixing ratio and total pressure

ncinfo

Extract information from netCDF file

ncio

netCDF4 functions to copy a netcdf file while doing some transformations on variables and dimensions

ncread

Read variables from netCDF file

num2date

Return datetime objects given numeric time values

pack

Pack array with mask like Fortran intrinsic pack

position

Position arrays of subplots to be used with add_axes

readnetcdf

Read variables from netCDF file, same as ncread

rhair2eair

Partial pressure of water vapour from relative humidity and temperature

rhair2vpd

Air vapour pressure deficit from relative humidity and temperature

roman2int

Roman numeral to integer conversion

sce

Shuffled-Complex-Evolution algorithm for function min(max)imisation

screening

Parameter screening using Morris’ method of Elementary Effects

shair2eair

Partial pressure of water vapour from specific humidity and total pressure

signature2plot

Write a copyright notice on a plot

sread

Read strings from a file into 2D string array

str2tex

Convert strings to LaTeX strings in math environment used by matplotlib’s usetex

tee

Prints arguments on screen and in file, like Unix/Linux tee utility

text2plot

Write text on a plot

unpack

Unpack array using mask like Fortran intrinsic unpack

updatez

Update arrays in uncompressed numpy .npz format

updatez_compressed

Update arrays in compressed numpy .npz format

us2date

Convert dates to standard date format DD.MM.YYYY hh:mm:ss

us2en

Convert dates to English date format YYYY-MM-DD hh:mm:ss

us2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

vpd2eair

Partial pressure of water vapour from air vapour pressure deficit and temperature

vpd2rhair

Relative humidity from air vapour pressure deficit and temperature

xlsread

Read numbers and strings from Excel file into 2D float and string arrays, same as xread

xlsxread

Read numbers and strings from Excel file into 2D float and string arrays, same as xread

xread

Read numbers and strings from Excel file into 2D float and string arrays

Functions and modules per category

Array Manipulation

Function/module

Short description

argmax

Wrapper for numpy.argmax, numpy.ma.argmax, and max for Python iterables.

argmin

Wrapper for numpy.argmin, numpy.ma.argmin, and min for Python iterables.

argsort

Wrapper for numpy.argsort, numpy.ma.argsort, and sorted for Python iterables.

closest

Index in array which entry is closest to a given number.

pack

Pack array with mask like Fortran intrinsic pack

unpack

Unpack array using mask like Fortran intrinsic unpack

Ascii Files

Function/module

Short description

fread

Read numbers from a file into 2D float array

fsread

Read numbers and strings from a file into 2D float and string arrays

sread

Read strings from a file into 2D string array

Data Processing

Function/module

Short description

kernel_regression

Multi-dimensional non-parametric kernel regression

kernel_regression_h

Determination of bandwidth for kernel regression

mad

Median absolute deviation test

means

Calculate daily, monthly, yearly, etc. means of data

Date and Time

Function/module

Short description

date2date

Convert date representations between different regional variants

date2dec

Return numeric time values given datetime objects or strings, same as date2num

date2en

Convert dates to English date format YYYY-MM-DD hh:mm:ss

date2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

date2num

Return numeric time values given datetime objects or strings

date2us

Convert dates to American date format MM/DD/YYYY hh:mm:ss

datetime

Class as cftime.datetime for non-CF-conform calendars

dec2date

Return datetime objects given numeric time values, same as num2date

en2date

Convert dates to standard date format DD.MM.YYYY hh:mm:ss

en2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

en2us

Convert dates to American date format MM/DD/YYYY hh:mm:ss

fr2date

Convert French dates to standard date format DD.MM.YYYY hh:mm:ss

fr2en

Convert French dates to English date format YYYY-MM-DD hh:mm:ss

fr2us

Convert French dates to American date format MM/DD/YYYY hh:mm:ss

num2date

Return datetime objects given numeric time values

us2date

Convert dates to standard date format DD.MM.YYYY hh:mm:ss

us2en

Convert dates to English date format YYYY-MM-DD hh:mm:ss

us2fr

Convert dates to French date format DD/MM/YYYY hh:mm:ss

Grids and Polygons

Function/module

Short description

gridcellarea

Area of grid cells on Earth

Isotopes

Function/module

Short description

alpha_equ_h2o

Equilibrium fractionation between liquid water and vapour

alpha_kin_h2o

Kinetic fractionation of molecular diffusion of water vapour

Math

Function/module

Short description

division

Divide two arrays, return ‘otherwise’ if division by 0

div

Divide two arrays, return ‘otherwise’ if division by 0, same as division

ee

Parameter screening using Morris’ method of Elementary Effects, same as screening

elementary_effects

Morris measures mu, stddev and mu*

functions

Special functions for testing optimisations, sensitivity analysis, several forms of the logistic function and its derivatives, and other functions to be used with scipy.optimize

morris_sampling

Sampling of optimised trajectories for Morris measures / Elementary Effects

sce

Shuffled-Complex-Evolution algorithm for function min(max)imisation

screening

Parameter screening using Morris’ method of Elementary Effects

Meteorology

Function/module

Short description

eair2mrair

Mixing ratio from partial pressure of water vapour and total pressure

eair2rhair

Relative humidity from partial pressure of water vapour and temperature

eair2shair

Specific humidity from partial pressure of water vapour and total pressure

eair2vpd

Air vapour pressure deficit from partial pressure and temperature

esat

Saturation vapour pressure over water and ice

mrair2eair

Partial pressure of water vapour from mixing ratio and total pressure

rhair2eair

Partial pressure of water vapour from relative humidity and temperature

rhair2vpd

Air vapour pressure deficit from relative humidity and temperature

shair2eair

Partial pressure of water vapour from specific humidity and total pressure

vpd2eair

Partial pressure of water vapour from air vapour pressure deficit and temperature

vpd2rhair

Relative humidity from air vapour pressure deficit and temperature

Miscellaneous

Function/module

Short description

const

Physical, mathematical, computational, isotope, and material constants

directories_from_gui

Open dialog to select one directory

directory_from_gui

Open dialog to select several directories

file_from_gui

Open dialog to select one file

files_from_gui

Open dialog to select one or several files

int2roman

Integer to Roman numeral conversion

roman2int

Roman numeral to integer conversion

tee

Prints arguments on screen and in file, like Unix/Linux tee utility

Plotting

Function/module

Short description

abc2plot

Write a, B, iii), … on a plot

color

Collection of color palettes and continuous color maps

int2roman

Integer to Roman numeral conversion

mcPlot

Matthias Cuntz’ standard plotting class

position

Position arrays of subplots to be used with add_axes

roman2int

Roman numeral to integer conversion

signature2plot

Write a copyright notice on a plot

str2tex

Convert strings to LaTeX strings in math environment used by matplotlib’s usetex

text2plot

Write text on a plot

Special Files

Function/module

Short description

infonetcdf

Extract information from netCDF file, same as ncinfo

ncinfo

Extract information from netCDF file

ncio

netCDF4 functions to copy a netcdf file while doing some transformations on variables and dimensions

ncread

Read variables from netCDF file

readnetcdf

Read variables from netCDF file, same as ncread

updatez

Update arrays in uncompressed numpy .npz format

updatez_compressed

Update arrays in compressed numpy .npz format

xlsread

Read numbers and strings from Excel file into 2D float and string arrays, same as xread

xlsxread

Read numbers and strings from Excel file into 2D float and string arrays, same as xread

xread

Read numbers and strings from Excel file into 2D float and string arrays

License

pyjams is distributed under the MIT License. See the LICENSE file for details.

Copyright (c) 2012-2022 Matthias Cuntz, Juliane Mai, Stephan Thober, and Arndt Piayda

The project structure of pyjams has borrowed heavily from welltestpy by Sebastian Müller.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyjams-2.1.tar.gz (2.0 MB view hashes)

Uploaded Source

Built Distribution

pyjams-2.1-py3-none-any.whl (718.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page