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 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/
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 | 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 |
- 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
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.