The Janis database manages the storage of data extracted from the original text files in ENDF, GENDF, EXFOR, or NUBASE format.  This storage is not achieved by means of a traditional relational database but rather by a tree structure comprised of directories and files.  When the database is “imported” from the original format, this tree structure is created on disk.  During an import in Janis, a similar structure is built in memory.  Both structures consist of six levels:

·        Base

·        Datatype

·        Dataset

·        Category

·        Material

·        Datablock

 

Base Level

 

This level corresponds to the root of a Janis database.

 

Datatype Level

 

These are ten kinds of datatypes:

·        Radioactive data

·        Interaction Data (incident neutron)

·        Interaction Data (incident proton)

·        Interaction Data (incident gamma)

·        Interaction Data (incident alpha)

·        Interaction Data (incident deuteron)

·        Interaction Data (incident triton)

·        Interaction Data (incident HE3)

·        Interaction Data (incident electron)

·        Nuclear properties

 

Dataset Level

 

This level identifies the source of the data.  Laboratories and nuclear centers provide the original text files in ENDF, GENDF, EXFOR, or NUBASE format.  These text files are supplied in the form of libraries.  The source of this data is stored at the dataset level.  The user supplies this information when the original text files are imported by Janis.  An example of a dataset is an evaluation, ENDFB67.

 

Category Level

 

The category level classifies the data for a particular datatype.  There are seven types of categories:

·        Cross sections

·        Angular distributions

·        Energetic distributions

·        Energy-angle distributions

·        Fission yields

·        Decay

·        Basic properties

 

Although a datatype may contain any of these categories, the datatype for radioactive decay has only two categories: decay and fission yields.  The other datatypes may have the following categories: cross sections, angular distributions, energetic distributions, and energy angle distributions.  The relationship between the datatype and category levels is illustrated in Table 1-1.

 

Datatype

Category

radio

decay

fission

nuclear

basic

inter_a, inter_d, inter_e, inter_g, inter_he3, inter_n, inter_p, inter_t

angular

cross

energetic

energyangle

 

Table 1-1. Relationship between datatype and category levels

 

Material Level

 

The material level distinguishes between the nuclei.

 

Datablock Level

 

The datablock level contains the leaf nodes.  For ENDF format, this level corresponds to reactions.  For EXFOR format, the datablock level contains works.

 

Links with ENDF

 

The ENDF format describes how the data is arranged and gives the formulas needed to reconstruct physical quantities such as cross sections and angular distributions.  Evaluations in ENDF format are stored on ENDF tapes.  Each tape is comprised of a collection of materials.  A material is defined as an isotope or a collection of isotopes.  Each material contains several files.  These files are collections of reactions represented as sections.  These sections are divided into individual records that contain the data for a specific reaction.

 

The relationship between the ENDF data structures and the corresponding levels of a Janis database are summarized in Table 1-2.  The left column shows the ENDF structures.  The right column gives the database levels that contain similar information.  An ENDF tape does not have a direct correspondence with a level in the database.  Typically a tape stores results from a particular location or time.  Janis handles this type of information with the dataset level.  An ENDF file usually corresponds to a datatype/category pair.  An ENDF section can typically be mapped to the datablock level.  ENDF records are the ENDF basic data structure and are not stored in this form in the database.

 

Original ENDF Format

Database levels in Janis

-

Base

Parts of tape (i.e. TAPE ENDF)

Dataset

Material (i.e. MAT ENDF)

Material

File (i.e. FILE ENDF or MF)

Combination of Datatype and Category

Section (i.e. SECTION ENDF or MT)

Datablock

Reaction

Record (i.e. RECORD ENDF or MR)

-

 

Table 1-2. Mapping from original ENDF format to database levels in Janis

 

Links with GENDF

 

The GENDF format is a simplification of the ENDF format.  Consequently, the information in Table 1-1 also applies to the GENDF format.  A GENDF tape contains one datatype, one category and one material.  The datatype is inter_n.  The category is a cross section.

 

Links with EXFOR

 

The format read by Janis is not the true EXFOR format but rather a NEA preprocessed form.  In this preprocessed format, material, datatype, category, and datablock correspond to different columns.  Although the concept of dataset does not exist with the EXFOR format, Janis creates a dummy dataset level, called EXFOR, so that ENDF and EXFOR data may be handled in a similar manner.

 

The relationship between the EXFOR data structures and the corresponding levels of a Janis database are summarized in Table 1-3.  The left column shows the EXFOR structures.  The right column gives the database levels that contain similar information.

 

Original EXFOR Format

Database levels in Janis

-

Base

Parts of tape (i.e. TAPE ENDF)

Dataset (fixed name EXFOR)

Material (i.e. MAT ENDF)

Material

File (i.e. FILE ENDF or MF)

Combination of Datatype and Category

Section (i.e. SECTION ENDF or MT)

Datablock

Work

 

Table 1-3. Mapping from original EXFOR format to database levels in Janis

 

Physical Structure

 

The Janis database is stored on disk in a tree structure of directories and files.  A portion of the Janis tree structure exists for the url: http://www.nea.fr/Janis/bases/base_jef22.

 

Base Level

 

The base level corresponds to a directory containing a base.dat file.  The name of the directory at the root is free.  The base.dat file is located at http://www.nea.fr/Janis/bases/base_jef22.  This file stores a list of the datatypes appearing one level down in the tree structure.  In some cases, an additional search file may be provided at this level.  With Exfor data, for example, the directory contains the search file, exfor.search.

 

Datatype Level

 

The second level is comprised of a set of directories.  Possible names for these directories are given in the field OSNames in class DataTypeId.  These constants are listed in the left column of Table 1-1.  Each directory at this level contains a datatype.dat file.  The datatype.dat file stores a list of the datasets found one level below in the tree.

 

Dataset Level

 

The dataset level corresponds to a set of directories.  When the original text files are imported, the user supplies the name for these directories.  For example, these directories have the name jef22.  Each directory contains an eva.dat file that stores a list of the categories appearing below this level.  The name eva.dat comes from a time when this level was named evaluations.  In some cases, additional search files may be provided at this level.  For example, the dataset level has two search files, lines.search and resonances.search.

 

Category Level

 

The category level also contains a set of directories.  Names for these directories are provided in the field OSNames in class CategoryId.  These constants are listed in the right column of Table 1-1.  Each directory at this level contains a category.dat file.  The category.dat file stores a list of the materials found one level below in the tree. The category directories also contain the file chart.dat.  This file provides the nucleus chart for the category.

 

Material Level

 

The material level corresponds to the last set of directories.  The names for these directories are accessed via the field materialsStrings in class MaterialId.  The directory name is constructed from the symbol name and the Z value.  The symbol and long names for the materials are maintained externally in the file materials.properties.  These directories may have the names: Ac209, Ag106, Ag107, and B11.  Under each category node, there may be many materials.  Each material directory contains the files that store reactions for ENDF format and works for EXFOR format.

 

Datablock Level

 

This is the sixth and final level of the Janis database tree.  At this level, there are only files.  The files are named by the method getOSName in class DataBlockId.  Table 1-4 provides the list of possible file names.  Several files including decay, general, and resonances, MT102, datablocks.dat, and metablocks.dat exist at the datablock level.  These files contain reactions for ENDF format or works for EXFOR format.

 

 

Subclasses of DataBlockId

File Names

 

 

MaterialDatablockId

general

resonances

decay

fission

nubase

DilutionId

Sigma<X>

EXFORWorkId

WS<X>

ReactionId

MT<X>

 

datablocks.dat

 

metablocks.dat

 

Table 1-4. List of available file names at the datablock level. <X> denotes a number provided by Janis.

 

Compression

 

To reduce the amount of disk space used by a Janis database, the level and datablock files, as well as the search indexes (i.e. EXFOR, Decay Lines, and Resonances) are individually zipped by the Java classes, java.util.zip.ZipInputStream and java.util.zip.ZipOutputStream.  Class ZipInputStream implements an input stream filter for reading files in the ZIP file format.  Class ZipOutputStream provides an output stream filter for writing files in the ZIP file format.  The files at higher levels in the database tree are not zipped because the reduction in disk space is insignificant.

 

Metablock

 

The Janis database is ultimately a way of organizing the actual data (e.g. reactions, works, etc).  Since the size and number of reactions vary greatly, several approaches for storing and accessing the data were evaluated.

 

In one approach, each reaction (i.e. datablock) is stored individually as a file.  The time to access the data remotely, via an URL, is reduced because Janis downloads only the reactions selected by the user.  The disadvantage of this approach is that when extremely large numbers of files are needed, the user must request each file individually.  In the case of EXFOR, the works have different sizes: some contain several thousand points, while others contain a single point.  As a result, some works are several megabytes while most are only a few bytes.  Maintaining files for each reaction or works also uses more disk space as is the case with FAT16 partitions.

 

Another approach is to store all the reactions or works for a material in a single file.  The advantage of this approach is that less disk space is used.  The drawback is that the time for accessing the database remotely increases substantially.

 

A compromise between the two approaches was developed.  The largest datablocks are stored individually, one per file.  The smallest datablocks are stored in a single file called a metablock.