Skip to content

lasergyro/pypspline3

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

129 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyPSPLINE

PyPSPLINE is a Python interface to the Fortran spline library PSPLINE.

build

The routines of the compact F77 interface are wrapped in Python classes. Internal documentation of the underlying Fortran routines can be found in the PSPLINE Help at F77_standard_software --> Compact_Splines .

Usage

The use of this package is demonstrated in a few scripts in the demo folder:

Prerequisites

A Fortran 90 and a C compiler.

I assume the platform to be UNIX. If you manage to build PSPLINE/pypspline on Windows, let me know.

Building PyPSPLINE

A minimal subset of PSPLINE required for 1D, 2D and 3D spline interpolation with periodic boundary conditions is included in this repository.

The setup relies on numpy.disttools as suggested in the f2py documentation. This will likely shift to meson once SciPy and NumPy have migrated as well.

For now, the build and installation process goes as follows:

pip install --user .

The f2py signature file src/fpspline.pyf was auto-generated using the included run_f2py.sh script and then hand-adjusted to line up with the assumptions made in the original.

For Arch Linux users, a PKGBUILD is available at aur/PKGBUILD.

History

This package was originally created by Alexander Pletzer and published on SourceForce as pypspline.

The old PyPSPLINE CVS repository was migrated to this Git repository. One needs the cvs and cvs2svn packages to do this on Arch Linux.

rsync -ai a.cvs.sourceforge.net::cvsroot/pypspline/ cvs2git-pypspline
cd cvs2git-pypspline
cvs2git --blobfile=blob.dat --dumpfile=dump.dat \
    --username=pletzer --default-eol=native \
    --encoding=utf8 --encoding=latin1 --fallback-encoding=ascii \
    .
cd ..
mkdir pypspline
cd pypspline
git init
cat ../cvs2git-pypspline/blob.dat ../cvs2git-pypspline/dump.dat | git fast-import
git remote add origin git@github.com:jonathanschilling/pypspline.git
git checkout
git push origin --mirror
mv pypspline{,_old}
mv pypspline_old/* .
rmdir pypspline_old
rm -r CVSROOT
git add .
git commit -m "one folder less"
git branch --set-upstream-to=origin/master master
git pull
git push

meson

https://scipy.github.io/devdocs/building/distutils_equivalents.html

About

1D to 3D splines with (optional) periodic boundary conditions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Fortran 85.8%
  • Python 13.9%
  • Other 0.3%