2.5. Input and Output Files
2.5.1. SAS Input File
In the past, SAS4A/SASSYS-1 input was limited to 80-column, fixed-formatted card images. This is still the basic format used by most SAS input files. However, Version 5.3 introduces the option to use free-formatted input of any length for integer and floating-point input blocks. A full description of the contents of the input file is contained in Section 2.7.
In all SAS input files, the first three (non-comment) records of the input file are required. The first two records each contain 72 columns of problem title data that will appear at the top of each page of the output file. Columns 73‑80 of the first card image must contain, left adjusted, the major and minor version number of the SAS code being executed. The third record is the storage allocation card, which provides SAS information needed to allocate the various data containers used for input processing. If the DIF3D interface option is invoked, an additional storage allocation card (fourth record) is required.
If the current execution is to be restarted from a prior execution, the input file must contain a RESTART directive to invoke the reading of a restart file from RESTART.bin (see Section 2.5.3). The reading of the restart file takes place at the point the restart record is encountered on the input file. Input blocks loaded before the restart record will be over-written by the restart file data, and input blocks following the restart record will modify or replace data read from the restart file.
The input data blocks for SAS are described in Section 2.7. Each input data block begins with a block identifier record and ends with a block delimiter record. The block identifier record contains the block name and number, and two integers denoting the relevant current channel and the type of background data fill to be supplied before data reading begins. (The background may be “zeros” or the same block entered previously for this or another channel.) The block delimiter record accepts either a negative integer one (“-1” right adjusted) entered in the first I6 field of the record, or a left adjusted “END” statement.
Within the body of a SAS input file, INCLUDE directives may be used to read additional input data from external files. Any number of nested INCLUDE directives may be used, but circular references are not allowed. Support for INCLUDE directives was added in Version 5.3.
Reading of input is terminated by an ENDJOB directive. Any records following the ENDJOB record are ignored.
2.5.2. SAS Output Files
SAS4A/SASSYS-1 prints ascii output as 133-column, formatted, printed line images. Listings of example output files can be found in the example problems output listings provided with the code distribution.
The ascii output file is occasionally divided by logical page breaks. (A fixed page size of 60 lines is no longer maintained.) Each logical page break is headed with the two title records that begin the input deck. The title lines also contain code version identification, the page number, job and user identification, the execution date, and the clock time. Pages containing channel-dependent information will have the channel number printed in the upper left-hand corner.
The ascii output file begins with a print of information from the header, including primary and secondary titles and memory allocation flags. During input processing, each record from the input file is recorded to the file SAS.log. An optional compiled version of the input may be written to INPUT.dat (see IPDECK). An optional, formatted and annotated print of the input data is available, followed by a tabular print of coolant material properties. This is followed by printer plots of curves formed by the tabular fitting procedure.
The steady-state results are printed next, beginning with prints of channel-dependent data. The prints vary depending on the computational modules invoked, but usually contain node-wise masses, porosities, and temperatures, as well as radial and axial pin geometry. Also printed are nodal powers and reactivity feedback coefficients. Following the channel-dependent prints, steady-state results from the primary loop (PRIMAR‑4), control system, and balance-of-plant may appear, if those modules are employed.
A short print of time, power, and reactivity is produced on each main transient time step. The exact form of this print varies depending on whether the default reactivity feedback routines are employed or the EBR-II feedback routines are used. On specified main time steps, long prints of the current channel conditions (geometry, pressure, temperature, etc.) are produced. In addition, each module may produce intermittent transient prints of calculated results. These prints are controlled by input data. Extensive diagnostic prints may also be triggered through input for most of the computational modules.
SAS4A/SASSYS-1 also prints binary output files. These files and their contents are summarized in the following sections.
2.5.2.1. CHANNEL.dat
CHANNEL.dat is output if requested by the user (ICLCMP).
At a user-defined frequency, see MSTPL1, channel-dependent and core wide data is written
to the CHANNEL.dat file.
The CHANNEL.dat file is an unstructured binary file.
Converter utilities are provided as part of the distribution package.
The converter utilities translate the binary data into a CSV or XML format.
Each time data is written to the binary file a row is created for each channel that contains the data presented in Table 2.5.1. Following the channel-dependent entries is an additional row containing the core-wide data, presented in Table 2.5.2, is written.
Data that has a corresponding CSV column number is converted by the CHANNELtoCSV tool distributed with the code.
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|
1 |
Integer |
Time step number |
|
2 |
Appears in CSV file name |
Integer |
Channel number |
3 |
Integer |
KMAX |
|
4 |
2 |
Double |
ZFuel - Fuel elevation at |
5 |
3 |
Double |
ZClad - Clad elevation at |
6 |
4 |
Double |
ZCool - Coolant elevation at |
7 |
5 |
Double |
ZStruct - Structure elevation at |
8 |
6 |
Double |
Fuel elevation at |
9 |
7 |
Double |
Average coolant temperature at ZCool (K or C) |
10 |
8 |
Double |
Clad temperature at ZClad (K or C) |
11 |
9 |
Double |
Fuel temperature at ZFuel (K or C) |
12 |
10 |
Double |
Coolant saturation temperature at ZCool (K or C) |
13 |
11 |
Double |
Fuel melt fraction (-) |
14 |
12 |
Double |
Clad midpoint temperature at ZClad (K or C) |
15 |
13 |
Double |
Clad melt? (No - 0.0, Yes - 1.0) |
16 |
14 |
Double |
Coolant temperature at ZCool (K or C) |
17 |
15 |
Double |
Inner structure temperature at ZStruct (K or C) |
18 |
16 |
Double |
Channel outlet flowrate (kg/s per pin) |
19 |
17 |
Double |
Channel inlet flowrate (kg/s per pin) |
20 |
18 |
Double |
Channel outlet temperature (K or C) |
21 |
19 |
Double |
Channel inlet temperature (K or C) |
22-25 |
Double(4) |
Reserved |
|
26 |
Integer |
Reserved |
|
27 |
Double |
Reserved |
|
28-29 |
Integer(2) |
Reserved |
|
Remaining |
Double(3*KMAX) |
Reserved |
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|
1 |
1 |
Integer |
Time step number (-) |
2 |
2 |
Integer |
Power option, |
3 |
3 |
Double |
Time (s). Note the CSV converter copies the time entry into column one of each channel specific file. |
4 |
4 |
Double |
Time step size (s) |
5 |
5 |
Double |
Normalized total power (-) |
6 |
6 |
Double |
Reactor period (s) |
7 |
7 |
Double |
Integrated normalized total power (-) |
8 |
8 |
Double |
Normalized decay power (-) |
9 |
9 |
Double |
Net reactivity ($) |
10 |
10 |
Double |
Programmed reactivity ($) |
11 |
11 |
Double |
Doppler reactivity ($) |
12 |
12 |
Double |
Axial expansion reactivity ($) |
13 |
13 |
Double |
Radial expansion reactivity ($) |
14 |
14 |
Double |
CRDL expansion reactivity ($) |
15 |
15 |
Double |
Coolant void reactivity ($) |
16 |
16 |
Double |
Fuel relocation reactivity ($) |
17 |
17 |
Double |
Clad relocation reactivity ($) |
Remaining |
Double(3* |
Reserved |
2.5.2.2. PRIMAR4.dat
PRIMAR4.dat is output if requested by the user (NBINOT > 0). Data is written to PRIMAR4.dat at
a frequency specified by the user (INULLT, IBINST).
The PRIMAR4.dat file is an unstructured binary file.
Converter utilities are provided as part of the distribution package.
The converter utilities translate the binary data into a CSV or XML format and print the formatted data to the standard output.
Each time data is written to PRIMAR4.dat, a row is created that contains the values shown in Table 2.5.3.
For non-restart cases, the first row in the PRIMAR4.dat file has the IBINOT information appended to the row.
In this case, at binary index 5 + NCols NBINOT is written as an Integer.
In columns (6 + NCols) - (5 + NCols + NBINOT) a transpose of the IBINOT information is written as an Integer.
This information is not included in the binary file for restart cases and is therefore not utilized by the converter utility.
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|
1 |
1 |
Integer |
Time step number |
2 |
2 |
Integer |
PRIMAR-4 time step number |
3 |
3 |
Integer |
NCols - Total number of output columns |
4 |
4 |
Double |
Time (s) |
5 - (4 + NCols) |
5 - (4 + NCols) |
Double(NCols) |
Output data requested in |
2.5.2.3. CONTROL.dat
CONTROL.dat is output when the control system is in use and the user requests the data is printed. Users can define the frequency of CONTROL.dat print using the J1 parameter for signal 999. The CONTROL.dat file is an unstructured binary file. Converter utilities are provided as part of the distribution package. The converter utilities translate the binary data into a CSV or XML format and print the formatted data to the standard output.
CONTROL.dat contains a header section which defines the number of signals contained within the file and a description of the signals. The format of the header section is described in Table 2.5.4. Each time data is written to CONTROL.dat, i, two rows are created that contain the values shown in Table 2.5.5.
Binary Entry |
Binary Index |
Data Type |
Description |
|---|---|---|---|
1 |
1 |
Integer |
NSigs - total number of signals |
2 |
1 - (NSigs - 1) |
Integer(NSigs) |
Signal Number |
3 |
1 - (NSigs - 1) |
Integer(NSigs) |
Signal Type Id |
4 |
1 - (NSigs - 1) |
Character(32*NSigs) |
Signal Type Description |
Binary Entry |
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|---|
i |
1 |
1 |
Integer |
PRIMAR-4 time step number (-) |
i |
2 |
2 |
Double |
Time at the beginning of the time step (s) |
i + 1 |
1 - (NSigs - 1) |
3 - (2 + NSigs) |
Double(NSigs) |
Signal values |
2.5.2.4. STRATCV.dat
STRATCV.dat is output when the stratified volume model is active and the user requests the data is printed.
Users can define the frequency of STRATCV.dat print using the IFT16 parameter.
The STRATCV.dat file is an unstructured binary file.
Converter utilities are provided as part of the distribution package.
The converter utilities translate the binary data into a CSV or XML format.
Each time data is written to STRATCV.dat, i, several rows are created that contain the values shown in Table 2.5.6 and Table 2.5.7.
If users define a negative value for IFT16, additional debug information is included in the binary file, this information is presented in Table 2.5.8.
Table 2.5.7, and Table 2.5.8 if debug information is requested, is written to the binary file for each stratified volume, j.
Binary Entry |
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|---|
i |
1 |
Integer |
Print frequency, |
|
i |
2 |
Integer |
NSTRCV - Number of stratified CVs (-) |
|
i |
3 |
1 |
Integer |
PRIMAR-4 time step number (-) |
i |
4 |
2 |
Double |
Time (s) |
i + 1 |
Multi-line entry for each CV |
see Table 2.5.7 |
Binary Entry |
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|---|
j |
1 |
Appears in CSV file name |
Integer |
ICVSTR - Stratified CV number |
j |
2 |
3 |
Integer |
NL4 - Number of layers |
j |
3 |
4 |
Integer |
ISTAG4 - Stage number |
j + 1 |
1 |
5 |
Double |
ZLAYR4(1) - Bottom elevation of first layer (m) |
j + 1 |
2 |
6 |
Double |
TSTCV4(1) - Temperature of first layer (K) |
j + 1 |
3 |
7 |
Double |
XLSTM4(1) - Mass of first layer (kg) |
j + 2 |
1 |
8 |
Double |
ZLAYR4(2) - Bottom elevation of the second layer (m) |
j + 2 |
2 |
9 |
Double |
TSTCV4(2) - Temperature of second layer (K) |
j + 2 |
3 |
10 |
Double |
XLSTM4(2) - Mass of second layer (kg) |
j + 3 |
1 |
11 |
Double |
ZLAYR4(3) - Bottom elevation of third layer (m) |
j + 3 |
2 |
12 |
Double |
TSTCV4(3) - Temperature of third layer (K) |
j + 3 |
3 |
13 |
Double |
XLSTM4(3) - Mass of third layer (kg) |
j + 4 |
1 |
14 |
Double |
ZLAYR4(1+NL4) - Upper elevation of the last layer (m) |
Binary Entry |
Binary Index |
CSV Column |
Data Type |
Description |
|---|---|---|---|---|
j + 5 |
1 |
15 |
Double |
WPLUME - Flow rate into plume (kg/s) |
j + 5 |
2 |
16 |
Double |
TPLUME - Temperature of plume (K) |
j + 5 |
3 |
17 |
Double |
Z0 - Plume established height (m) |
j + 5 |
4 |
18 |
Double |
V0 - Plume exit velocity (m/s) |
j + 5 |
5 |
19 |
Double |
VJ - Plume velocity at interface (m/s) |
j + 5 |
6 |
20 |
Double |
FR - Froude number (-) |
j + 5 |
7 |
21 |
Double |
HJET - Jet height (m) |
j + 5 |
8 |
22 |
Double |
WENTR - Flow entrainment rate (kg/s) |
2.5.2.5. MFUEL Binary Files
As described in Section 9.6, when the MFUEL model is activated, a pre-transient and a transient binary file are created which contain the peak values of relevant parameters at the end of a main MFUEL time step. Two unique binary files are created for each channel, one for the pre-transient results and one for the transient results. A converter utility is provided as part of the distribution package. The converter utility translates the binary data into a CSV.
The MFUEL Peak value file contains a header section which defines the channel number, axial and radial meshing, the number of data columns and the time unit. The format of the header section is described in Table 2.5.9. Each time data is written to a peak axial file, i, a row is created that contains the values shown in Table 2.5.10.
MFUEL also outputs a pre-transient binary file including axial distributions of relevant parameters.
Users can control the frequency at which the axial data is written during pre-transient characterization using the
table-based MSTEP input.
A unique binary file is created for each channel that uses MFUEL.
A converter utility is provided as part of the distribution package.
The converter utility translates the binary data into a multiple CSV files.
The axial-dependent MFUEL file contains a header section which defines the channel number, the number of included time steps, the axial meshing, and the number of data columns. The format of the header section is described in Table 2.5.11. Each time data is written to the axial-dependent file, i, MZ rows are created that contain the values shown in Table 2.5.12.
Binary Entry |
Binary Index |
Data Type |
Description |
|---|---|---|---|
1 |
1 |
Integer |
iChan - channel number |
1 |
2 |
Integer |
MZ - number of axial fuel nodes |
1 |
3 |
Integer |
NEP - number of radial nodes |
1 |
4 |
Integer |
nCol - number of data columns |
1 |
5 |
Character(3) |
Unit of time, sec - seconds, or day - days |
Binary Entry |
Binary/CSV Index |
Data Type |
Description |
|---|---|---|---|
i |
1 |
Double |
Time (days for steady state file, seconds for transient file) |
i |
2 |
Double |
Maximum burnup (at%) |
i |
3 |
Double |
Maximum linear heat rate (kW/m) |
i |
4 |
Double |
Maximum fuel temperature (K) |
i |
5 |
Double |
Maximum clad inner temperature (K) |
i |
6 |
Double |
Maximum clad hoop stress (MPa) |
i |
7 |
Double |
Maximum fuel permanent axial expansion (%) |
i |
8 |
Double |
Maximum fuel total axial expansion (%) |
i |
9 |
Double |
Maximum clad permanent axial expansion (%) |
i |
10 |
Double |
Maximum clad total axial expansion (%) |
i |
11 |
Double |
Maximum fission gas release (%) |
i |
12 |
Double |
Maximum plenum pressure (MPa) |
i |
13 |
Double |
Maximum total clad hoop strain (%) |
i |
14 |
Double |
Maximum total creep hoop strain (%) |
i |
15 |
Double |
Maximum thermal creep hoop strain (%) |
i |
16 |
Double |
Maximum irradiation creep hoop strain (%) |
i |
17 |
Double |
Maximum volumetric swelling (%) |
i |
18 |
Double |
Maximum total clad wastage (microns) |
i |
19 |
Double |
Maximum lanthanide wastage (microns) |
i |
20 |
Double |
Maximum eutectic wastage (microns) |
i |
21 |
Double |
Maximum Na corrosion thickness (microns) |
i |
22 |
Double |
Maximum CDF (-) |
i |
23 |
Double |
Maximum MCF (-) |
i |
24 |
Double |
Maximum neutron fluence (n/cm 2) |
i |
25 |
Double |
Maximum clad dose (dpa) |
Binary Entry |
Binary Index |
Data Type |
Description |
|---|---|---|---|
1 |
1 |
Integer |
iChan - channel number |
1 |
2 |
Integer |
nSteps - number of time steps included in the file |
1 |
3 |
Integer |
MZ - number of axial nodes |
1 |
4 |
Integer |
nCol - number of data columns |
Binary Index |
Data Type |
Description |
|---|---|---|
1 |
Double |
Axial location (m) |
2 |
Double |
Relative axial location (-) |
3 |
Double |
Cold cladding strain (%) |
4 |
Double |
Clad inner wastage (microns) |
5 |
Double |
Clad inner temperature (C) |
6 |
Double |
Clad hoop stress (MPa) |
7 |
Double |
Fuel outer radius (m) |
2.5.3. Auxiliary Input and Output Files
The input and output files used in SAS4A/SASSYS-1 are listed in Table 2.5.13.
File |
Type |
Assigned Use |
Subroutine |
|---|---|---|---|
stdin |
Formatted |
Input Data Records |
READIN |
stdout |
Formatted |
Printed Output |
READIN |
DATOUT |
|||
SSPRNT |
|||
TSPRNT |
|||
PSHORT |
|||
PKPAGE |
|||
INPUT.dat |
Formatted |
Edited Input Data Records |
DATOUT |
8 |
Formatted |
Scratch BOP Input Data |
READIN |
RENUM |
|||
SAS.log |
Formatted |
Printed Output |
|
CHANNEL.dat |
Binary |
Main Time Step Plotting |
TSPLOT |
12 |
Binary |
PLUTO2/LEVITATE Data for Plotting |
PLOUT |
13 |
Binary |
PLUTO2/LEVITATE Data for Plotting |
PLOUT |
14 |
Binary |
PLUTO2/LEVITATE Data for Plotting |
PLOUT |
PRIMAR4.dat |
Binary |
PRIMAR‑4 Data for Plotting |
SSPRPL |
TSPRPL |
|||
CONTROL.dat |
Binary |
Control System Signal Data |
CNTL_Data |
16 |
Formatted |
PINACLE/LEVITATE Data for Plotting |
SSPLOT |
PNPICO |
|||
LEPICO |
|||
RESTART.dat |
Binary |
Output Restart File |
RESTAR |
RESTART.bin |
Binary |
Input Restart File |
RESTAR |
20 |
Binary |
TSBOIL Data for Plotting |
TSCMP0 |
TSCMP1 |
|||
21 |
Binary |
DEFORM‑5 Plotting |
DFORM5 |
22 |
Binary |
EBR2 Reactivity Plotting |
EBR2 |
23 |
Binary |
FPIN2 Data for Plotting |
FPNOUT |
24 |
Binary |
EBR-II Mark-V Safety Case Scratch Plotting Data File |
TSPLOT |
26 |
Binary |
BOP Data for Plotting |
LBPLOT |
27 |
Binary |
Steam Generator Data for Plotting |
INIT, TSBOP |
28 |
Binary |
BOP Data for Plotting |
INITS, TSBOP |
29 |
Binary |
BOP Data for Plotting |
PLTBOP |
MaxTemps.txt |
Formatted |
Summary of Maximum Temperatures in the Core |
PRTMXT |
MFUELss_ICH.dat |
Binary |
Summary of the MFUEL pre-transient irradiation predictions. Unique file for each channel using MFUEL is created. |
MFUEL_SSInit |
MFUELss_ICH-axial.dat |
Binary |
Axial summary of select MFUEL pre-transient irradiation predictions. Unique file for each channel using MFUEL is created. |
MFUEL_SSInit |
MFUELts_ICH.dat |
Binary |
Summary of the MFUEL transient predictions. Unique file for each channel using MFUEL is created. |
MFUEL_SSInit |