Concept.
X4Pro extends EXFOR-Relational database with experimental data points in original and computational form
and additional information for data renormalization.
The X4Pro database provides:
- access to all EXFOR meta-data and numerical data using only SQL commands,
i.e. no need in original EXFOR, EXFOR parser and converter
- data for renormalization: old and new monitor cross sections, old and new decay data
(gamma lines intensity of measured reaction and monitor product)
- experts' instructions for EXFOR data modifications
- EXFOR Subentries and Datasets in JSON-X5Z format (since 2022-08-30)
Tasks of the project:
1. Desing of database schema
2. Work out data and programming needs on typical examples
3. Develop new concept of EXFOR data corrections and define workflow
4. Envent/find out possible technical solutions for existing tasks, study problems, implement solutions
5. Prepare for test/demo examples for end-user, confirm working tools on platfroms/enviromnent:
a) X4Pro: local SQLite database and remote MariaDB database
b) python on Windows, Linux, MacOS (plot with Plotly and Mathplotlib)
c) gfortran, gcc on Windows, Linux, MacOS
d) retrieve ENDF data from Web server and plot together with EXFOR data
e) populate NoSQL database (CouchDB) using JSON-X5Z from X4Pro as data source
# | Dir | Description | SF:MF | Notes | Demo plot/output [code][modules] | Comment |
Part-1. Retrieve data from local EXFOR database
Python. Retrieve experimental data from X4Pro database and plot data using Plotly amd Matplotlib
|
||||||
0. | part1-0-sig | Cross sections |
SIG | Al-27(n,a):CS(Ei) |
Code: single .py file for copy/paste
2) data groupped Reaction-codes |
|
1. | part1-1-sig | Cross sections |
SIG | Al-27(n,a):CS(Ei) |
Coding: modular (several .py files)
2) data groupped Reaction-codes |
|
2. | part1-2-da | Angular distributions |
DA | O-16(a,el):DA(Ei) | Plotly/matplotlib | |
3. | part1-3-dap | Angular distributions (partial) |
PAR,DA | Li-6(he3,p):DA(θ) | Plotly/matplotlib | |
4. | part1-4-de | Emission spectra |
DE | Th-232(n,xn):DE(Eo) | Plotly/matplotlib | |
5. | part1-5-dae | Double differntial cross sections | DA/DE | F-19(n,xn):DAE(Eo) | Plotly/matplotlib | |
6. | part1-6-fy | Fission yeild (mass distribution) | FY | U-238(n,f):FY(A)|Ei14MeV
U-235(n,f):hist2(A,TKE) |
1) Plotly/matplotlib
2) Plotly: Contour-2D 3) Matplotlib: plot_surface-3D 4) Matplotlib-2d, 2 subplots |
|
7. | part1-7-covar | Covariance data stored in EXFOR | SIG | 1) 241Am(n,2n) correlations
ERR-T,MONIT-ERR,ERR-5 2) Reaction-reaction correlations |
1) Matplotlib-2d, 3 subplots 2) Matplotlib-2d, 1 subplot |
|
./ | Common modules: | |||||
Fortran. Retrieve X4Pro data from Fortan program via C subroutines | ||||||
8. | part1-fortran/ |
0) Simple example Fortran executing SQL
1) Double differntial cross sections 2) Cross sections 3) Cross sections |
-- DA/DE SIG SIG |
First 8 Entries from F-Area F-19(n,xn):DAE(Eo) Mn-55(n,a):CS(Ei) Mn-55(n,a):CS(Ei) →C4 |
No plots, output text only | |
9. | part1-fortran/
See also implemen- tation in Python: part3-7-legrs2da |
4) Retrieve LEG/RS and SIG from
the same Entry; calculate missing Legendre coefficient L[0]; calculate angular distributions |
LEG/RS SIG |
Cu-0(n,el):DA,,LEG/RS(Ei)
SIG→L[0] L[0..n],θ→DA(θ) |
FIND: SIG from <Entry, Reaction, Ei>
CALC: SIG/4π → L[0]; CALC(Ei): L[0..n],θ → DA(Ei,θ) |
|
part1-fortran/ | Common subroutines: | |||||
Part-2. Retrieve local EXFOR and remote ENDF data
Python. Retrieve and plot experimental (local EXFOR) and evaluated data (Web ENDF-API)
|
||||||
1. | part2-1-sig1 | Cross sections | SIG | Al-27(n,a):CS(Ei) |
1) using Plotly and Matrplotlib
2) data groupped Reaction-codes |
|
2. | part2-2-da1an | Angular distributions (Ei:fixed) | DA | Mn-55(a,el):DA(θ) | DA + MF4/MF34#new | |
3. | part2-3-da1ei | Angular distributions (Angle:fixed) | DA | C-12(a,el):DA(Ei) | Plotly/matrplotlib | |
4. | part2-4-de1eo | Emission spectra |
DE | Th-232(n,xn):DE(Eo) | Plotly/matplotlib | |
5. | part2-5-dae1eo | Double differntial cross sections | DA/DE | F-19(n,xn):DAE(Eo) | Plotly/matplotlib | |
6. | part2-6-fy | Fission yeild (mass distribution) | FY | U-238(n,f):FY(A)|Ei14MeV | Plotly/matplotlib | |
./ | Additional common modules: | |||||
Part-3. EXFOR data corrections and recalculations
(for experts)
Python.
EXFOR data corrections (automatic*, users, experts*) and calculations + plot with ENDF data
*Note. All input for corrections (monitor CS data, decay data, experts' operations) are stored in the database. |
||||||
1. | part3-1-auto1 | Automatically renormalize CS using old monitor CS and new standards |
SIG | Mn-55(n,a):CS(Ei) mon/std from database |
AUTO[0]
[0]: MONITOR, MONIT-REF, MONIT,.. |
|
2. | part3-2-user1 | Correct data by user's program | Ratio | pu239/u235(n,f):(Ei) | USER | |
3. | part3-3-expert1 | Apply experts corrections stored in X4Pro database |
SIG | Zn-64(n,p):CS(Ei) | EXPERT | |
4. | part3-4-auto2 | Automatically renormalize CS using
old monitor CS and new standards, old and new decay data |
SIG | V-51(n,p):CS(Ei) | AUTO[0][1][2]
[1]: DECAY-DATA [2]: DECAY-MON |
|
5. | part3-5-ratio2sig | Retrieve ratios, calculate CS and
uncertainties using latest standards |
Ratio | V-51(n,p)/U-238(n,f):(Ei)
Ratio→SIG |
CALC: Ratio×U-238(n,f) → SIG | |
6. | part3-6-daleg2sig | Retrieve Legendre coefficient L[0],
calculate cross sections and errors |
LEG | B-11(n,el):DA,,LEG(Ei)
L[0]→SIG |
CALC: L[0]×4π → SIG | |
7. | part3-7-legrs2da | Retrieve LEG/RS and SIG from
the same Entry; calculate missing Legendre coefficient L[0]; calculate angular distributions |
LEG/RS SIG |
Cu-0(n,el):DA,,LEG/RS(Ei)
SIG→L[0] L[0..n],θ→DA(θ) |
FIND: SIG from <Entry, Reaction, Ei>
CALC: SIG/4π → L[0]; CALC(Ei): L[0..n],θ → DA(Ei,θ) |
|
8. | part3-8-leg2r33 | Retrieve Legendre coefficient
calculate angular distributions store R33dat (draft of R33) |
LEG | Li-6(p,he3):LEG(Ei) | CALC(Ei): L[0..n],θ → DA(Ei,θ) | |
./ | Additional common modules: | |||||
Part-4. Export contents of X4Pro to NoSQL databases
(for NoSQL databases developers)
Python.
Retrieve data from X4Pro and store them as JSON in NoSQL-Document database
*Note. Since 2022-08-30 X4Pro includes two tables presenting Subentries and Datasets in JSON-X5Z format. |
||||||
1. | part4-0-couchdb | Retrieve JSON presentation of
Subent in X5Z format from Table x4pro_x4z, created a Dictionary "Entry" and store it as Document in CouchDB database |
-NA- | JSON files for each Subent
are retrieved row-by-row and collected into Python List |