A general Python package with a wide variety of miscellaneous utility functions.
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/
The easiest way to install is via pip:
pip install pyjams
or via conda:
conda install -c conda-forge pyjams
- Requirements
- Modules and functions are currently provided in the following categories:
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 |
- 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
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.