The goals of the nepc project are to provide tools to:
- parse, evaluate, and populate metadata for electron scattering cross sections;
- build a NEPC MySQL database of cross sections;
- curate, access, visualize, and use cross section data from a NEPC database; and
- support verification and validation of electron scattering cross section data.
The database schema and Python module are designed for anyone interested in plasma chemistry with a background in physics at the graduate level.
Documentation for the nepc project: https://nepc.readthedocs.io.
The project is organized in the following directories:
- tests - unit and integration testing
- tests/data - data directory for the
nepc_testdatabase--an example NEPC database containing fictitious electron scattering cross section data used in unit and integration testing - tests/data/eda - example exploratory data analysis (EDA) of a NEPC database that is possible with the nepc Python module
- tests/data/curate - code used to curate fictitious cross section data in LXCat format and create various NEPC
Models for thenepc_testdatabase - docs - files used by Sphinx to generate the NEPC documentation
- nepc - the Python code for the nepc package and building a NEPC database
- nepc/mysql - the Python code for creating a NEPC database from data in
NEPC_CS_HOMEenvironment variable; also creates thenepc_testdatabase from data inNEPC_HOME/tests/data(must have theNEPC_HOMEenvironment variable set)
To install nepc with pip, run:
$ pip install nepcEstablish a connection to the database named nepc running on a
production server (you must set an environment variable NEPC_PRODUCTION that
points to the production server):
>>> cnx, cursor = nepc.connect()If you've built the nepc_test database on your local machine
(see instructions here), establish a connection to it:
>>> cnx, cursor = nepc.connect(local=True, test=True)Access the pre-defined plasma chemistry model, fict_min2, in the nepc_test database:
>>> fict_min2 = nepc.Model(cursor, "fict_min2")Print a summary of the fict_min2 model, including a stylized Pandas dataframe:
>>> fict_min2.summary()Plot the cross sections in fict_min2.
>>> fict_min2.plot(ylog=True, xlog=True, width=8, height=4) Additional examples of EDA using nepc are in tests/data/eda. Examples of scripts for
curating raw data for the nepc_test database, including parsing
LXCat formatted data,
are in tests/data/curate.
NEPC rhymes with the loser of the Cola War.
If NEPC were in the
CMU Pronouncing Dictionary,
its entry would be N EH P S IY ..
Approved for public release, distribution is unlimited.