Skip to content

mcuntz/pyjams

Repository files navigation

pyjams

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.