File format for \((\text{n},~x\text{n}~\gamma)\) cross section data
A key point of the FAIR principles of Interoperability and Reusability is to have the data easily readable. To that purpose, the data format should be in a well defined format and, if possible, the software to read and interpret it should be available too. All this is stated in the metadata along with the data, but there’s still a requirement to have a well defined format.
Some data sets have a predefined format that can’t be changed (for example, raw data directly from the acquisition system), some others are totally up to the user (histograms data, final values, …). A wise choice in file data is needed.
In the context of nuclear data, several data format exist already.
- ENDF-6
The historical evaluated nuclear data format (ENDF) has been around since 1960 (with the latest update in 2011), and bears the stigma of history. Files are divided into material (MAT), data type (MF), reaction (MT) sections. The format uses fixed columns and other methods from old time when storage space was scarce and data was stored on tapes. It is particularly not human-readable. An excerpt from the 183W section of the JEFF 3.3 library related to \((\text{n},~\text{n}')\) reaction is given in Listing 22, and as you can see, it’s not easy to understand what’s going on…
7.418300+4 1.813786+2 1 0 2 17434 1451 1 0.000000+0 0.000000+0 0 0 0 67434 1451 2 1.000000+0 1.500000+8 3 0 10 37434 1451 3 0.000000+0 0.000000+0 0 0 375 1567434 1451 4 74-W -183 FZK/IRS,+ EVAL-OCT13 P.Pereslavtsev et al., + 7434 1451 5 PE03,PE04 DIST-DEC17 REV3-DEC17 20171231 7434 1451 6 ---JEFF-3.3 MATERIAL 7434 7434 1451 7 -----INCIDENT NEUTRON DATA 7434 1451 8 ------ENDF-6 FORMAT 7434 1451 9 ... MF=3 MT=4 TOTAL INELASTIC CROSS SECTION 7434 1451 156 7434 1451 157 Equal to the sum of the inelastic level excitation and 7434 1451 158 continuum cross sections. 7434 1451 159 ... ------------------------ C O N T E N T -------------------------- 7434 1451 379 7.418300+4 1.813786+2 0 0 0 07434 3 4 1 0.000000+0-4.648300+4 0 0 1 1007434 3 4 2 100 2 7434 3 4 3 4.673928+4 0.000000+0 5.000000+4 8.365700-2 6.000000+4 2.245610-17434 3 4 4 7.000000+4 3.113560-1 8.000000+4 3.734510-1 9.000000+4 4.205670-17434 3 4 5 9.962525+4 4.461144-1 1.000000+5 4.481090-1 1.200000+5 5.047930-17434 3 4 6 1.400000+5 5.293290-1 1.500000+5 5.417281-1 1.600000+5 5.563270-17434 3 4 7 1.800000+5 5.795610-1 2.000000+5 5.965609-1 2.081000+5 6.012058-17434 3 4 8 2.081533+5 6.012374-1 2.099572+5 6.036410-1 2.102000+5 6.049178-17434 3 4 9 2.500000+5 1.070499+0 2.933324+5 1.318352+0 2.936000+5 1.321558+07434 3 4 10 3.000000+5 1.398313+0 3.106493+5 1.463571+0 3.107000+5 1.463884+07434 3 4 11 3.111993+5 1.466763+0 3.112000+5 1.466767+0 4.000000+5 1.691896+07434 3 4 12 4.143000+5 1.719826+0 4.143670+5 1.719945+0 4.555000+5 1.816094+07434 3 4 13 4.555689+5 1.816244+0 4.896850+5 1.919803+0 4.897000+5 1.919849+07434 3 4 14 5.000000+5 1.949524+0 5.541384+5 2.045104+0 5.571000+5 2.050429+07434 3 4 15 5.986223+5 2.106552+0 6.000000+5 2.108461+0 6.033000+5 2.112859+07434 3 4 16 6.234000+5 2.138962+0 6.261935+5 2.142214+0 7.000000+5 2.237573+07434 3 4 17 7.439994+5 2.289433+0 7.441000+5 2.289683+0 7.500000+5 2.303002+07434 3 4 18 8.000000+5 2.388849+0 9.000000+5 2.510261+0 1.000000+6 2.614783+07434 3 4 19 1.100000+6 2.727683+0 1.200000+6 2.797268+0 1.300000+6 2.867075+07434 3 4 20 1.400000+6 2.895882+0 1.500000+6 2.937643+0 1.600000+6 2.970448+07434 3 4 21 1.700000+6 2.985648+0 1.800000+6 3.000151+0 1.900000+6 2.998522+07434 3 4 22 2.000000+6 3.001463+0 2.100000+6 3.019932+0 2.200000+6 3.021913+07434 3 4 23 2.300000+6 3.021152+0 2.400000+6 3.014486+0 2.500000+6 3.008775+07434 3 4 24 2.600000+6 2.993317+0 2.800000+6 2.964127+0 3.000000+6 2.937316+07434 3 4 25 3.200000+6 2.917485+0 3.400000+6 2.898280+0 3.500000+6 2.888906+07434 3 4 26 3.600000+6 2.884546+0 3.800000+6 2.876070+0 4.000000+6 2.867934+07434 3 4 27 4.200000+6 2.847658+0 4.400000+6 2.827546+0 4.500000+6 2.817547+07434 3 4 28 4.600000+6 2.810430+0 4.800000+6 2.796244+0 5.000000+6 2.782134+07434 3 4 29 5.500000+6 2.736055+0 6.000000+6 2.691355+0 6.500000+6 2.608172+07434 3 4 30 7.000000+6 2.407241+0 7.500000+6 2.035581+0 8.000000+6 1.775451+07434 3 4 31 8.500000+6 1.504183+0 9.000000+6 1.243975+0 1.000000+7 8.460758-17434 3 4 32 1.100000+7 6.561284-1 1.200000+7 5.358298-1 1.300000+7 4.556767-17434 3 4 33 1.400000+7 4.047817-1 1.450000+7 3.836709-1 1.500000+7 3.625604-17434 3 4 34 1.600000+7 3.338595-1 1.700000+7 3.121871-1 1.800000+7 2.900821-17434 3 4 35 1.900000+7 2.678049-1 2.000000+7 2.537605-1 2.000001+7 0.000000+07434 3 4 36 1.500000+8 0.000000+0 7434 3 4 37 0.000000+0 0.000000+0 0 0 0 07434 3 099999
- GNDS
To overcome the shortcoming of ENDF-6, a working group of the Working Party on International Nuclear Data Evaluation Cooperation was formed in 2012, to propose a new, more modern format, that would allow more flexibility and has fewer limitations. The Generalized Nuclear Database Structure (GNDS), released in 2020 [1], is before all a structure that can be implemented into XML, Json, …
The GNDS formatted version of the data presented in Listing 22 in ENDF format is given in Listing 23. It is somewhat more readable.
<reactionSuite projectile="n" target="W183" format="gnd version 1.2" temperature="0 K"> <styles> <style name="evaluated" version="3.3.1" library="JEFF"/> </styles> <documentations> </documentations> <summedReaction label="30" name="(z,n)" Q="-46483 eV" date="2013-10-01" ENDF_MT="4"> <crossSection nativeData="linear"> <linear xData="XYs" length="100" accuracy="0.001"> <axes> <axis index="0" label="energy_in" unit="eV" interpolation="linear,linear" frame="lab"/> <axis index="1" label="crossSection" unit="b" frame="lab"/> </axes> <data> 46739.28 0 5e4 0.083657 6e4 0.224561 7e4 0.311356 8e4 0.373451 9e4 0.420567 99625.25 0.4461144 1e5 0.448109 1.2e5 0.504793 1.4e5 0.529329 1.5e5 0.5417281 1.6e5 0.556327 1.8e5 0.579561 2e5 0.5965609 208100 0.6012058 208153.3 0.6012374 209957.2 0.603641 210200 0.6049178 2.5e5 1.070499 293332.4 1.318352 293600 1.321558 3e5 1.398313 310649.3 1.463571 310700 1.463884 311199.3 1.466763 311200 1.466767 4e5 1.691896 414300 1.719826 414367 1.719945 455500 1.816094 455568.9 1.816244 489685 1.919803 489700 1.919849 5e5 1.949524 554138.4 2.045104 557100 2.050429 598622.3 2.106552 6e5 2.108461 603300 2.112859 623400 2.138962 626193.5 2.142214 7e5 2.237573 743999.4 2.289433 744100 2.289683 7.5e5 2.303002 8e5 2.388849 9e5 2.510261 1e6 2.614783 1.1e6 2.727683 1.2e6 2.797268 1.3e6 2.867075 1.4e6 2.895882 1.5e6 2.937643 1.6e6 2.970448 1.7e6 2.985648 1.8e6 3.000151 1.9e6 2.998522 2e6 3.001463 2.1e6 3.019932 2.2e6 3.021913 2.3e6 3.021152 2.4e6 3.014486 2.5e6 3.008775 2.6e6 2.993317 2.8e6 2.964127 3e6 2.937316 3.2e6 2.917485 3.4e6 2.89828 3.5e6 2.888906 3.6e6 2.884546 3.8e6 2.87607 4e6 2.867934 4.2e6 2.847658 4.4e6 2.827546 4.5e6 2.817547 4.6e6 2.81043 4.8e6 2.796244 5e6 2.782134 5.5e6 2.736055 6e6 2.691355 6.5e6 2.608172 7e6 2.407241 7.5e6 2.035581 8e6 1.775451 8.5e6 1.504183 9e6 1.243975 1e7 0.8460758 1.1e7 0.6561284 1.2e7 0.5358298 1.3e7 0.4556767 1.4e7 0.4047817 1.45e7 0.3836709 1.5e7 0.3625604 1.6e7 0.3338595 1.7e7 0.3121871 1.8e7 0.2900821 1.9e7 0.2678049 2e7 0.2537605 20000010 0 1.5e8 0 </data> </linear> </crossSection> </summedReaction> </reactionSuite>
However, the GNDS format has one major issue: its versatility. It is very hard to write a full file or just one data set. There are many options, types, … It can be cumbersome to write/read, in particular for a physicist that just wants to format its final data into a standardized format for publication.
- Exfor
Exfor has a format for experimental nuclear data sets. Like ENDF, it relies on fixed length format.
Listing 24 is an example of the Exfor entry for refrence [2] and [3] (See Population of an isomer in (\text{n},~\text{n}') reactions).
ENTRY 21818 20180311 20190222 20190220 2270 SUBENT 21818001 20180311 20190222 20190220 2270 BIB 14 39 INSTITUTE (2GERKIG) Experimental site,R.P.,H.-U.F. (2GERHAM) B.A. REFERENCE (C,82ANTWER,,859,1982) AUTHOR (B.Anders,R.Pepelnik,H.-U.Fanger) TITLE Application of a novel 14 MeV neutron activation analysis system for cross section measurements with short-lived nuclides FACILITY (NGEN,2GERKIG) 14 MeV neutron generator KORONA at GKSS Geesthacht. INC-SOURCE (D-T) No details given. INC-SPECT (EN-RSV-HW) Neutron flux more that 3 x 10**10 n/cm2/s METHOD .Activation. The gamma line of the decay of the isomeric state is measured. DETECTOR (GELI) 18% Ge(Li) detector at 26.5 mm from the sample. (LONGC) Long counter to monitor the neutron source strength of about 3.E+12 n/sec. MONITOR (23-V-51(N,P)22-TI-51,,SIG) - value is given in 82ANTWER,,859 with comment that it is measured previously at KORONA relative to 27Al(n,alpha) and 27Al(n,p) reaction. Similar value is given in 21999.014 CORRECTION .Coincidence summing up of gamma-lines, .absorption of the gamma lines. ERR-ANALYS (ERR-T) Total error given. It is composed as follows * Gamma intensity errors. (ERR-1,0.3,3.) the error of the peak area estimated by the peak analysis program 0.3-3.0% (ERR-2,1.5,2.5) Summing correction errors, 1.5-2.5% (ERR-3) Absorption correction errors. 5% (ERR-4) Flux and gamma-ray efficiency calibration estimated to 3% * Errors due to half-lives, mass determinations and isotopic abundances are negligible. STATUS (TABLE) Data taken from 82ANTWER,,859,1982. HISTORY (19830120C) G.C. (20180311A) SD:Updated to new date formats,lower case. Comma in main ref. was added. ERR-ANALYS update. Data were update according to presentation in the Table. Two Subents (013,014) were added. REACTION code Subent 012 corrected. EN-RSL -> EN-RSL-HW. ENDBIB 39 COMMON 6 3 EN EN-RSL-HW MONIT MONIT-ERR ERR-3 ERR-4 MEV MEV MB MB PER-CENT PER-CENT 14.6 0.2 28.0 1.5 5. 3. ENDCOMMON 3 ENDSUBENT 46 SUBENT 21818007 20180311 20190222 20190220 2270 BIB 4 5 REACTION (74-W-183(N,INL)74-W-183-M,,SIG) SAMPLE (74-W-183,ENR=0.774) .W sample 77.4% enriched in W-183. DECAY-DATA (74-W-183-M,5.3SEC,DG,108.,0.18,DG,160.,0.049, DG,210.,0.009) STATUS (TABLE) Data taken from table 1 of 82ANTWER,,859,1982. ENDBIB 5 NOCOMMON 0 0 DATA 2 1 DATA ERR-T MB MB 127. 14. ENDDATA 3 ENDSUBENT 13 ENDENTRY 2
These formats suffer from their age (for ENDF and Exfor) or there versatility (for GNDS). Old formats are hard to read and write, the new GNDS has so many options, types, … that writing one little data set into the format is a challenge. In other words, GNDS is a good exchange format (it can easily be read by a software and the data can be transformed into other format). But we have to remember that Readability counts, therefore publishing our data, even a very little dataset, should be done with caution and using a format that is easy to write (for the producer) and to read and import into a database.
The good news, is that Exfor allows the export of data set in json format. Listing 25 is the Exfor data set used as example earlier, exported in json.
{
"format":"X4JSON.0.1.2"
,"now":"2023-04-26T14:02:12.000Z"
,"program":"EXFOR converter, by V.Zerkin, IAEA-NDS, 2007-2019 (ver.2020-05-11)"
,"input": { "files": [ { "name":"X4R8350_tdat.x4" ,"format":"EXFOR" ,"created":"2023-04-26T14:02:12.000Z" } ] }
,"output": { "files": [ { "name":"X4R8350_tdat.x4.x4t" ,"format":"JSON" ,"outBib":"0" ,"created":"2023-04-26T14:02:12.000Z" } ] }
,"datasets": [
{"id":"21818007"
,"subent": {"id":"21818007", "updated":"20180311" }
,"entry": {"id":"21818", "updated":"20180311" }
,"author1":"B.Anders+"
,"year":"1982"
,"ref1":{ "code":"C,82ANTWER,,859,1982" ,"std":"C,82ANTWER,,859,1982"
,"exp":"Conf: Conf.on Nucl.Data for Sci.and Technol.,Antwerp 1982, p.859 (1982)"
}
,"reaction": {
"code": "74-W-183(N,INL)74-W-183-M,,SIG"
,"C4Reaction":"(N,INL),SIG"
,"Proj":"N" ,"ProjZA":"1"
,"Target":"74-W-183" ,"TargZA":"74183"
,"ProdMeta":"M"
,"MF": 3 ,"MT": 4
,"ReactionType":"CS"
,"Quantity":"Cross section"
,"IndVarFamCode":"0 2"
,"ExpectedUnits":"B"
}
,"datasect": {
"xVariables": 1
,"formula":"Y = Y(X1)"
,"col": 10
,"row": 1
}
,"headers": [
{ "ii":1 ,"varType":"Data" ,"varVar":"variable"
,"nval":1 ,"minval":"127." ,"maxval":"127."
,"varSorted":"0.1" ,"what":"Y.Value"
,"dataType":"21" ,"numVar":"0.1"
,"x4Header":"DATA" ,"SAN":"007" ,"expansion":"Data: data"
,"x4Units":"MB" ,"hlpUnits":"millibarns"
,"BasicUnits":"B" ,"ConvFactor":"0.001"
}
, { "ii":2 ,"varType":"Error" ,"varVar":"variable"
,"nval":1 ,"minval":"14." ,"maxval":"14."
,"varSorted":"0.911" ,"what":"Y.Err+-"
,"dataType":"21" ,"numVar":"0.911"
,"x4Header":"ERR-T" ,"SAN":"007" ,"expansion":"Uncertainty: +-error"
,"x4Units":"MB" ,"hlpUnits":"millibarns"
,"BasicUnits":"B" ,"ConvFactor":"0.001"
}
, { "ii":3 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"0.3" ,"maxval":"0.3"
,"varSorted":"0.955" ,"what":"Y.pErr+-"
,"dataType":"21" ,"numVar":"0.955"
,"x4Header":"ERR-1" ,"SAN":"007" ,"expansion":"Uncertainty: +-partial error"
,"x4Units":"PER-CENT" ,"hlpUnits":"per-cent"
}
, { "ii":4 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"1.5" ,"maxval":"1.5"
,"varSorted":"0.955" ,"what":"Y.pErr+-"
,"dataType":"21" ,"numVar":"0.955"
,"x4Header":"ERR-2" ,"SAN":"007" ,"expansion":"Uncertainty: +-partial error"
,"x4Units":"PER-CENT" ,"hlpUnits":"per-cent"
}
, { "ii":5 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"5." ,"maxval":"5."
,"varSorted":"0.955" ,"what":"Y.pErr+-"
,"dataType":"21" ,"numVar":"0.955"
,"x4Header":"ERR-3" ,"SAN":"001" ,"expansion":"Uncertainty: +-partial error"
,"x4Units":"PER-CENT" ,"hlpUnits":"per-cent"
}
, { "ii":6 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"3." ,"maxval":"3."
,"varSorted":"0.955" ,"what":"Y.pErr+-"
,"dataType":"21" ,"numVar":"0.955"
,"x4Header":"ERR-4" ,"SAN":"001" ,"expansion":"Uncertainty: +-partial error"
,"x4Units":"PER-CENT" ,"hlpUnits":"per-cent"
}
, { "ii":7 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"1.5" ,"maxval":"1.5"
,"varSorted":"0.955" ,"what":"Y.pErr+-"
,"dataType":"21" ,"numVar":"0.955"
,"x4Header":"MONIT-ERR" ,"SAN":"001" ,"expansion":"Uncertainty: +-partial error"
,"x4Units":"MB" ,"hlpUnits":"millibarns"
,"BasicUnits":"B" ,"ConvFactor":"0.001"
}
, { "ii":8 ,"varType":"Data" ,"varVar":"constant"
,"nval":1 ,"minval":"14.6" ,"maxval":"14.6"
,"varSorted":"1.1" ,"what":"X1.Value"
,"dataType":"41" ,"numVar":"2.1"
,"x4Header":"EN" ,"SAN":"001" ,"expansion":"Incident energy: energy"
,"x4Units":"MEV" ,"hlpUnits":"MeV"
,"BasicUnits":"EV" ,"ConvFactor":"1.e+06"
}
, { "ii":9 ,"varType":"Error" ,"varVar":"constant"
,"nval":1 ,"minval":"0.2" ,"maxval":"0.2"
,"varSorted":"1.933" ,"what":"X1.hRes+-"
,"dataType":"41" ,"numVar":"2.933"
,"x4Header":"EN-RSL-HW" ,"SAN":"001" ,"expansion":"Uncertainty: +-half resolution"
,"x4Units":"MEV" ,"hlpUnits":"MeV"
,"BasicUnits":"EV" ,"ConvFactor":"1.e+06"
}
, { "ii":10 ,"varType":"Data" ,"varVar":"constant"
,"nval":1 ,"minval":"28." ,"maxval":"28."
,"varSorted":"" ,"what":"ZZZ"
,"dataType":"11" ,"numVar":"ZZZ"
,"x4Header":"MONIT" ,"SAN":"001" ,"expansion":"Assumed values: monitor"
,"x4Units":"MB" ,"hlpUnits":"millibarns"
,"BasicUnits":"B" ,"ConvFactor":"0.001"
}
]
,"data": [
[127.0,14.0,0.3,1.5,5.0,3.0,1.5,14.6,0.2,28.0]
]
}
]
}
The json format is not the easiet to read, but can be completely reformated in yaml, which is very human friendly, as seen in Listing 26
---
format: X4JSON.0.1.2
now: '2023-04-26T14:02:12.000Z'
program: EXFOR converter, by V.Zerkin, IAEA-NDS, 2007-2019 (ver.2020-05-11)
input:
files:
- name: X4R8350_tdat.x4
format: EXFOR
created: '2023-04-26T14:02:12.000Z'
output:
files:
- name: X4R8350_tdat.x4.x4t
format: JSON
outBib: '0'
created: '2023-04-26T14:02:12.000Z'
datasets:
- id: '21818007'
subent:
id: '21818007'
updated: '20180311'
entry:
id: '21818'
updated: '20180311'
author1: B.Anders+
year: '1982'
ref1:
code: C,82ANTWER,,859,1982
std: C,82ANTWER,,859,1982
exp: 'Conf: Conf.on Nucl.Data for Sci.and Technol.,Antwerp 1982, p.859 (1982)'
reaction:
code: 74-W-183(N,INL)74-W-183-M,,SIG
C4Reaction: "(N,INL),SIG"
Proj: N
ProjZA: '1'
Target: 74-W-183
TargZA: '74183'
ProdMeta: M
MF: 3
MT: 4
ReactionType: CS
Quantity: Cross section
IndVarFamCode: 0 2
ExpectedUnits: B
datasect:
xVariables: 1
formula: Y = Y(X1)
col: 10
row: 1
headers:
- ii: 1
varType: Data
varVar: variable
nval: 1
minval: '127.'
maxval: '127.'
varSorted: '0.1'
what: Y.Value
dataType: '21'
numVar: '0.1'
x4Header: DATA
SAN: '007'
expansion: 'Data: data'
x4Units: MB
hlpUnits: millibarns
BasicUnits: B
ConvFactor: '0.001'
- ii: 2
varType: Error
varVar: variable
nval: 1
minval: '14.'
maxval: '14.'
varSorted: '0.911'
what: Y.Err+-
dataType: '21'
numVar: '0.911'
x4Header: ERR-T
SAN: '007'
expansion: 'Uncertainty: +-error'
x4Units: MB
hlpUnits: millibarns
BasicUnits: B
ConvFactor: '0.001'
- ii: 3
varType: Error
varVar: constant
nval: 1
minval: '0.3'
maxval: '0.3'
varSorted: '0.955'
what: Y.pErr+-
dataType: '21'
numVar: '0.955'
x4Header: ERR-1
SAN: '007'
expansion: 'Uncertainty: +-partial error'
x4Units: PER-CENT
hlpUnits: per-cent
- ii: 4
varType: Error
varVar: constant
nval: 1
minval: '1.5'
maxval: '1.5'
varSorted: '0.955'
what: Y.pErr+-
dataType: '21'
numVar: '0.955'
x4Header: ERR-2
SAN: '007'
expansion: 'Uncertainty: +-partial error'
x4Units: PER-CENT
hlpUnits: per-cent
- ii: 5
varType: Error
varVar: constant
nval: 1
minval: '5.'
maxval: '5.'
varSorted: '0.955'
what: Y.pErr+-
dataType: '21'
numVar: '0.955'
x4Header: ERR-3
SAN: '001'
expansion: 'Uncertainty: +-partial error'
x4Units: PER-CENT
hlpUnits: per-cent
- ii: 6
varType: Error
varVar: constant
nval: 1
minval: '3.'
maxval: '3.'
varSorted: '0.955'
what: Y.pErr+-
dataType: '21'
numVar: '0.955'
x4Header: ERR-4
SAN: '001'
expansion: 'Uncertainty: +-partial error'
x4Units: PER-CENT
hlpUnits: per-cent
- ii: 7
varType: Error
varVar: constant
nval: 1
minval: '1.5'
maxval: '1.5'
varSorted: '0.955'
what: Y.pErr+-
dataType: '21'
numVar: '0.955'
x4Header: MONIT-ERR
SAN: '001'
expansion: 'Uncertainty: +-partial error'
x4Units: MB
hlpUnits: millibarns
BasicUnits: B
ConvFactor: '0.001'
- ii: 8
varType: Data
varVar: constant
nval: 1
minval: '14.6'
maxval: '14.6'
varSorted: '1.1'
what: X1.Value
dataType: '41'
numVar: '2.1'
x4Header: EN
SAN: '001'
expansion: 'Incident energy: energy'
x4Units: MEV
hlpUnits: MeV
BasicUnits: EV
ConvFactor: '1.e+06'
- ii: 9
varType: Error
varVar: constant
nval: 1
minval: '0.2'
maxval: '0.2'
varSorted: '1.933'
what: X1.hRes+-
dataType: '41'
numVar: '2.933'
x4Header: EN-RSL-HW
SAN: '001'
expansion: 'Uncertainty: +-half resolution'
x4Units: MEV
hlpUnits: MeV
BasicUnits: EV
ConvFactor: '1.e+06'
- ii: 10
varType: Data
varVar: constant
nval: 1
minval: '28.'
maxval: '28.'
varSorted: ''
what: ZZZ
dataType: '11'
numVar: ZZZ
x4Header: MONIT
SAN: '001'
expansion: 'Assumed values: monitor'
x4Units: MB
hlpUnits: millibarns
BasicUnits: B
ConvFactor: '0.001'
data:
- - 127
- 14
- 0.3
- 1.5
- 5
- 3
- 1.5
- 14.6
- 0.2
- 28
Even in yaml, the data from Exfor suffers from its origin (the old Exfor format). But we can get inspired by it to include metadata in our data set and facilitate their import into databases.
An example of yaml formatted metadata for one cross section file is below (other examples are given in Experimental (n, n’ \gamma) and (n, 2n \gamma) cross sections):
title: 183W(n, n' gamma[209.8 keV - 183L06L02])
date: '2024-03-18'
author: Greg Henning
reaction:
proj: N
target: 74-W-183
code: 74-W-183(N, INL)74-W-183,PAR,SIG,G
transition:
emitter: 183W
gamma energy: 209.8
energy unit: keV
label: 183L06L02
threshold energy: 308.0
icc: 2.620E-01
initial level:
excitation energy: 308.9
spin parity: 9/2 -
final level:
excitation energy: 99.1
spin parity: 5/2 -
columns:
- title: Neutron energy window, middle of range
unit: keV
- title: gamma cross section
unit: barns
- title: neutron energy window low range
unit: keV
- title: Uncertainty on neutron energy window low range
unit: keV
- title: neutron energy window high range
unit: keV
- title: Uncertainty on neutron energy window high range
unit: keV
- title: cross section parameter uncertainty
unit: barns
- title: cross section intrinsic uncertainty
unit: barns
- title: cross section total combined uncertainty
unit: barns
number of lines: 17
end of file: True
The choice of this format and content of meta data has been made for even-even Tungsten results [4] and [5] and the results presented in the current manuscript.
Summary on data format
As used in tungsten data sets, the combination of yaml and text files is a simple, easy to read, choice. That works well for small data sets (json would be a good format choice for publication too).
For larger data sets (histograms, matrices, …) the HDF5 [6] format would a good choice. HDF is a hierarchical format, and the data is stored in binary format. Therefore, it’s not directly readable by humans. However, it is a standard format that can be read by many software libraries, making it a good option.
The Tabular Data Package format [7] can also be used. It combines comma separated values (CSV) with added json metadata. Its specifications even include some general metadata associated with the dataset.
Footnotes