Package: ePSproc
A post-processing suite for ePolyScat calculations, and general tool for photoionzation calculations.ePSproc scripts are designed for photoionization studies. The scripts were originally written for Matlab (2009 - 2016); a Python version is currently under (heavy) development (2019 to date), and is now the main/preferred version.Source code isavailable on Github.Ongoing documentation is onRead the Docs.For more background, and details on the Matlab version, see the software metapaper for ePSproc (Aug. 2016),ePSproc: Post-processing suite for ePolyScat electron-molecule scattering calculations, onAuthoreaorarXiv 1611.04043. For data platform and related experimental tools, seethe Photoelectron Metrolgy toolkit.Getting StartedTo get started, see the demo Jupyter notebooks for example usage:Base class usage demo(note this wraps most functionality as of Oct. 2020).Basic functional demo.MF $beta_{LM}$ parameters demo.ePSproc Matlab demo notebook(legacy Matlab code)Installation (Python)Basics:From source: simply downloadfrom Githuband use locally, or runpip installgit+https://github.com/phockett/ePSproc.git.From Pypipip install ePSprocSee theextended installation notes for more details & options.PythonFunctionality:Plot basic properties (cross-secions, anisotropy parameters) from ePSGetCrooutputs.Read raw photoionization matrix elements from ePS output files withdumpIdysegments.Process matrix elements:Plot matrix elements.Calculate MF-PADs from the matrix elements.Calculate MF, LF and AF $beta_{LM}$ from the matrix elements.Plot $beta_{LM}$ & PADs.Distirbution via PyPi (latest stable version).Docs on Read the Docs.Source:./epsproc: python version, code still under development../docs: documentation tree,HTML version on Read the Docs.Full function documentation.Matlab (legacy code)Functionality:Read raw photoionization matrix elements from ePS output files withdumpIdysegmentsCalculate MF-PADs from the matrix elements (ePSproc_MFPAD.m, see also ePSproc_NO2_MFPADs_demo.m)Plot MF-PADsPlot X-sects(Beta testing): Calculate MF-BLMs from matrix elements, see ePSproc_MFBLM.m(Under development): Calculate AF-BLMs from matrix elements.For more details seeePSproc Matlab demo notebook.ePSproc: Post-processing suite for ePolyScat electron-molecule scattering calculations.Source:/matlab: stable matlab code (as perrelease v1.0.1).a set of functions for processing (ePSproc*.m files)a script showing demo calculations, ePSproc_NO2_MFPADs_demo.m/docs/additional contains:the benchmark results from these calculations, ePSproc_NO2_testing_summary_250915.pdfadditional notes on ePS photoionization matrix elements, ePSproc_scattering_theory_ePS_notes_011015.pdf.ResourcesAn ongoing repository ofePS results can be found at ePSdata(as of Jan 2020, this replacesthe previous repository on OSF).ePolyScatFor details about ePolyScat (ePS), a tool for computation of electron-molecule scattering, see:ePS website & manual, maintained by R.R. Lucchese.Calculation of low-energy elastic cross sections for electron-CF4 scattering, F. A. Gianturco, R. R. Lucchese, and N. Sanna, J. Chem. Phys. 100, 6464 (1994),http://dx.doi.org/10.1063/1.467237Cross section and asymmetry parameter calculation for sulfur 1s photoionization of SF6, A. P. P. Natalense and R. R. Lucchese, J. Chem. Phys. 111, 5344 (1999),http://dx.doi.org/10.1063/1.479794Future aimsAdd capabilities, including more general processing, and for other phenomena (e.g. recombination matrix elements for high-harmonic generation, aligned-frame calculations)Tidy and streamline code (yep)Extend & update notes and benchmark calculationsPort to non-commercial run-time engines, e.g. pythonCitationIf you make use of ePSproc in your research, please cite it.Cite the software directly via either Github or Figshare repositories for the software (note same DOI for both):@misc{ePSprocGithub,
  title={ePSproc: Post-processing for ePolyScat},
  url={https://github.com/phockett/ePSproc},
  DOI={10.6084/m9.figshare.3545639},
  publisher={Github},
  howpublished = {\url{https://github.com/phockett/ePSproc}},
  author={Hockett, Paul},
  year={2016},
  commit = {30158eb3fbba41d0a4c3a973744f28b7187e6ee2}
}

@misc{ePSprocFigshare,
  title={ePSproc: Post-processing for ePolyScat},
  url={https://figshare.com/articles/ePSproc_Post-processing_for_ePolyScat_v1_0_0_/3545639/4},
  DOI={10.6084/m9.figshare.3545639},
  publisher={Figshare},
  author={Hockett, Paul},
  year={2016}
}… or the software paper (Authorea/arXiv):@article{ePSprocPaper,
  title={ePSproc: Post-processing for ePolyScat electron-molecule scattering calculations},
  url={https://www.authorea.com/users/71114/articles/122402-epsproc-post-processing-suite-for-epolyscat-electron-molecule-scattering-calculations},
  DOI={10.22541/au.156754490.06103020},
  journal = {Authorea/arXiv e-prints},
  publisher={Authorea/arXiv},
  author={Hockett, Paul},
  year={2016},
  archivePrefix = {arXiv},
  eprint = {1611.04043},
  primaryClass = {physics.comp-ph},
  eid = {arXiv:1611.04043},
  pages = {arXiv:1611.04043}
}(Citation styles for softwarefrom StackExchange.)AcknowledgementsSpecial thanks to R.R. Lucchese and coworkers forePolyScat.Thanks to the multiple collaborators and co-authors who encouraged and suggested the cavilier use of ePS “out of the box”, for many different problems incorporating electron scattering and photoionization. This spirit of “shoot first, ask questions later” indeed raised many questions which, eventually, necessitated proper use of ePS and careful post-processing of the results, and sharpened related foundational expertise - efforts well worth making.Thanks, finally, and of course, to those supporting scientific software development and infrastructure (and making it easy!), including Github, Read the Docs, Pypi, SciPy etc. etc. In particular the python version of this project makes use ofXarray, andMoble’s spherical functions (& quaternion).