A lightweight interface to grab and organize differential cross sections from EXFOR, using the x4i3 library.
Project description
exfor-tools
Some lightweight tools to grab data from the EXFOR database using the x4i3 library, and organize it for visualization and use in model calibration and uncertainty quantification.
use case
You have a reaction model $f(x,\alpha)$ and you would like to find some data $y(x)$ to constrain the $\alpha$. Here $x$ can be energy, angle, type of reaction, projectile and target, etc. You would like to do this in a statistically rigorous way, in which you take into account various types of uncertainties, including systematic uncertainties that introduce correlations between $y(x_i)$ and $y(x_j)$. You would also like to do this with large data sets comprised of many different experiments. In other words, you would like to curate a data set $y$ -- composed of reaction observables like differential cross sections -- and have the information required to construct a covariance matrix for it. And you would like it to be sorted into computationally convenient data structures that you can use for visualization, or comparison to your model. You've come to the right place.
scope
Currently, exfor_tools supports most reactions in EXFOR, but only a small subset of the observables/quantities. Feel free to contribute! If it doesn't meet your needs check out the project it's built on, which is far more complete: x4i3.
quick start
pip install exfor-tools
Package hosted at pypi.org/project/exfor-tools/. Otherwise, for development, simply clone the repo and install locally:
git clone git@github.com:beykyle/exfor_tools.git --recurse-submodules
pip instal exfor_tools -e
examples and tutorials
Check out the tutorials:
These demonstrate how to query for and parse exfor entries, and curate and plot data sets. In the first one, you will produce this figure:
updating the EXFOR data base
First, download your desired version <exfor-YYYY.zip> from here: https://nds.iaea.org/nrdc/exfor-master/list.html. The latest is recomended. Then:
bash update_database.sh </path/to/exfor-XXXX.zip> --db-dir </path/where/db/should/go/>
This will extract and process the data to </path/where/db/should/go/unpack_exfor-YYYY/X4-YYYY-12-31>, setting the environment variable $X43I_DATAPATH accordingly. x4i3 uses this environment variable to find the database on import, so you should add this to your environment setup. If you use bash, this will look something like this:
echo export X43I_DATAPATH=$X43I_DATAPATH >> ~/.bashrc
This functionality for modifying the database used by x4i3 is provided in x4i3_tools, which is included as a submodule.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file exfor_tools-0.3.1.tar.gz.
File metadata
- Download URL: exfor_tools-0.3.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca905f9fa5949257955a8168db626d6e44794f41212d1b900780b101cdbbc294
|
|
| MD5 |
605d76bfd9f2c47a6b0845619b1a3360
|
|
| BLAKE2b-256 |
7039ae3495f2a57f45cf46ea6ec25552c0e75c2e93f411ef058395c3ae5cf541
|
Provenance
The following attestation bundles were made for exfor_tools-0.3.1.tar.gz:
Publisher:
pypi-publish.yml on beykyle/exfor_tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exfor_tools-0.3.1.tar.gz -
Subject digest:
ca905f9fa5949257955a8168db626d6e44794f41212d1b900780b101cdbbc294 - Sigstore transparency entry: 268769722
- Sigstore integration time:
-
Permalink:
beykyle/exfor_tools@4819eebd2a1df6b867bf20a09011f204e2c571ba -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/beykyle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4819eebd2a1df6b867bf20a09011f204e2c571ba -
Trigger Event:
release
-
Statement type:
File details
Details for the file exfor_tools-0.3.1-py3-none-any.whl.
File metadata
- Download URL: exfor_tools-0.3.1-py3-none-any.whl
- Upload date:
- Size: 20.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8928cdb4c0908951a7e69efd4273ecd6cf58dc6cc9bbd1c13f39c740a3321da4
|
|
| MD5 |
03bac5f79f8e180a32f65530d8f24197
|
|
| BLAKE2b-256 |
1b32986c2914e99ab585be677e433933ecfd485aa54191e01d258f2eba72df63
|
Provenance
The following attestation bundles were made for exfor_tools-0.3.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on beykyle/exfor_tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
exfor_tools-0.3.1-py3-none-any.whl -
Subject digest:
8928cdb4c0908951a7e69efd4273ecd6cf58dc6cc9bbd1c13f39c740a3321da4 - Sigstore transparency entry: 268769724
- Sigstore integration time:
-
Permalink:
beykyle/exfor_tools@4819eebd2a1df6b867bf20a09011f204e2c571ba -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/beykyle
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@4819eebd2a1df6b867bf20a09011f204e2c571ba -
Trigger Event:
release
-
Statement type: