Skip to content
/ pyjams Public

A general Python package with miscellaneous utility functions used in several other packages.

License

Notifications You must be signed in to change notification settings

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 meteorology. 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 Deprecated, moved to package mcplot. 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 Deprecated, moved to package mcplot. 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 date strings to English date format YYYY-MM-DD hh:mm:ss
date2fr Convert date strings to French date format DD/MM/YYYY hh:mm:ss
date2num Return numeric time values given datetime objects or strings
date2us Convert date strings 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 Deprecated, moved to package pyeee. Parameter screening using Morris' method of Elementary Effects, same as screening
elementary_effects Deprecated, moved to package pyeee. Morris measures mu, stddev and mu*
en2date Convert date strings to standard date format DD.MM.YYYY hh:mm:ss
en2fr Convert date strings to French date format DD/MM/YYYY hh:mm:ss
en2us Convert date strings 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 date strings to standard date format DD.MM.YYYY hh:mm:ss
fr2en Convert French date strings to English date format YYYY-MM-DD hh:mm:ss
fr2us Convert French date strings 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 Deprecated, moved to package ncio. 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 Deprecated, moved to package mcplot. Matthias Cuntz' standard plotting class
means Calculate daily, monthly, yearly, etc. means of data
morris_sampling Deprecated, moved to package pyeee. Sampling of optimised trajectories for Morris measures / Elementary Effects
mrair2eair Partial pressure of water vapour from mixing ratio and total pressure
ncinfo Deprecated, moved to package ncio. Extract information from netCDF file
ncio Deprecated, moved to package ncio. netCDF4 functions to copy a netcdf file while doing some transformations on variables and dimensions
ncread Deprecated, moved to package ncio. Read variables from netCDF file
num2date Return datetime objects given numeric time values
pack Pack array with mask like Fortran intrinsic pack
position Deprecated, moved to package mcplot. Position arrays of subplots to be used with add_axes
readnetcdf Deprecated, moved to package ncio. 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 Deprecated, moved to package pyeee. Parameter screening using Morris' method of Elementary Effects
shair2eair Partial pressure of water vapour from specific humidity and total pressure
Deprecated, moved to package mcplot. signature2plot Write a copyright notice on a plot
sread Read strings from a file into 2D string array
str2tex Deprecated, moved to package mcplot. 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 Deprecated, moved to package mcplot. 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 date strings to standard date format DD.MM.YYYY hh:mm:ss
us2en Convert date strings to English date format YYYY-MM-DD hh:mm:ss
us2fr Convert date strings 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 date strings to English date format YYYY-MM-DD hh:mm:ss
date2fr Convert date strings to French date format DD/MM/YYYY hh:mm:ss
date2num Return numeric time values given datetime objects or strings
date2us Convert date strings 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 date strings to standard date format DD.MM.YYYY hh:mm:ss
en2fr Convert date strings to French date format DD/MM/YYYY hh:mm:ss
en2us Convert date strings to American date format MM/DD/YYYY hh:mm:ss
fr2date Convert French date strings to standard date format DD.MM.YYYY hh:mm:ss
fr2en Convert French date strings to English date format YYYY-MM-DD hh:mm:ss
fr2us Convert French date strings to American date format MM/DD/YYYY hh:mm:ss
num2date Return datetime objects given numeric time values
us2date Convert date strings to standard date format DD.MM.YYYY hh:mm:ss
us2en Convert date strings to English date format YYYY-MM-DD hh:mm:ss
us2fr Convert date strings 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 Deprecated, moved to package pyeee. Parameter screening using Morris' method of Elementary Effects, same as screening
elementary_effects Deprecated, moved to package pyeee. 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 Deprecated, moved to package pyeee. Sampling of optimised trajectories for Morris measures / Elementary Effects
sce Shuffled-Complex-Evolution algorithm for function min(max)imisation
screening Deprecated, moved to package pyeee. 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 Deprecated, moved to package mcplot. Write a, B, iii), ... on a plot
color Deprecated, moved to package mcplot. Collection of color palettes and continuous color maps
int2roman Integer to Roman numeral conversion
mcPlot Deprecated, moved to package mcplot. Matthias Cuntz' standard plotting class
position Deprecated, moved to package mcplot. Position arrays of subplots to be used with add_axes
roman2int Roman numeral to integer conversion
signature2plot Deprecated, moved to package mcplot. Write a copyright notice on a plot
str2tex Deprecated, moved to package mcplot. Convert strings to LaTeX strings in math environment used by matplotlib's usetex
text2plot Deprecated, moved to package mcplot. Write text on a plot
Special Files
Function/module Short description
infonetcdf Deprecated, moved to package ncio. Extract information from netCDF file, same as ncinfo
ncinfo Deprecated, moved to package ncio. Extract information from netCDF file
ncio Deprecated, moved to package ncio. netCDF4 functions to copy a netcdf file while doing some transformations on variables and dimensions
ncread Deprecated, moved to package ncio. Read variables from netCDF file
readnetcdf Deprecated, moved to package ncio. 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- Matthias Cuntz, Juliane Mai, Stephan Thober, and Arndt Piayda

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