Installation and Testing of GANDR-5.3, 31 August 2019 ------------------------------------------------------ Table of Contents ----------------- A. Introduction B. General Preparations C. Instructions for Installing and Updating D. Compiling the GANDR Codes E. Initializing the Cross Material Covariance Arrays F. Scripts Supplied with this GANDR Distribution G. The GANDR Suite of Test Problems H. Discussion of Individual Test Problems I. GANDR Test Problems GANDRLOOP and GANVOL3 J. Modification of GANDR Plots K. GANDR Tool for Comparing Output Files L. Executing the Five GANDR Test Problems from Volume 4 M. User-supplied Initial Covariances for Multi-Isotope Elements N. Analysis of EXFOR data for Isotopic and Elemental Tungsten O. Incorporating the International Standards Evaluation P. Sensitivity of General Group Data to the GANDR Parameters Q. Processing using EXFOR (C5M) Explicit Covariance Matrices R. Processing Cross Sections for Al-27(n,alpha) S. Processing of Measurements of Products and Ratios T. Processing Ratio of Ta-181(n,g) to Au-197, mf=203 U. Processing Ratio of Pu-239 Capture to Pu-239 Fission (alpha) V. Processing Ratio of Pu-239 Fission to U-235 Fission with C5 Covariances W. Processing Integral Data for Godiva X. Processing Integral Data for Cf-252 Spectrum-Averaged U-238(n,2n) Y. Processing Integral Data for General Spectrum-Averaged Al-27(n,alpha) AA. User Instructions for an Interactive Session BB. GANDR Bibliography A. Introduction ---------------- Below are detailed instructions for updating and compiling the GANDR source codes, installing the GANDR master PENDF and EXFOR libraries on the user's platform, initializing the dedicated disk space file space used in updating the GANDR parameter and covariance library, and running a large suite of test problems. For additional information, visit the GANDR web site, www-nds.iaea.org/gandr. Included there is a 7-volume report describing the goals and methodology of the GANDR system, as well as the actual files required for local installation of the system. Also see materials referenced in the Bibliography, Section BB. B. General Preparations ------------------------ The following comments assume that the user has access to a modern computer in the desktop workstation class or better, running under the Unix operating system, preferably in the Bash shell. GANDR executes successfully on both 32-bit and 64-bit machines, running under various flavors of Unix. Installation of the full system and the associated input library of EXFOR and ENDF data files requires about 3.7 gigabytes of free disk space in the "GANDR data" directory, nominally /usr/gandr/zott, as described in Section E below. The GANDR system is designed to read and write the GANDR parameter and covariance library repeatedly to and from the "GANDR library" directories "usr2" and "usr3", which should ideally reside either on SSD or on physically separate hard disks. The minimum combined disk space required depends on the GANDR-5.3 sub-version to be installed, ranging from 72 gigabytes for the 700-parameter version up to 178 gigabytes for the 1100-parameter version. For a discussion of the available sub-versions see Section C below. In a fairly recent development, the location of the GANDR data directory and the GANDR library directories can be modified rather easily by the GANDR user, simply by editing a small block of lines in subroutine setlib as part of the normal code update and compilation procedures. A template for such a modification is provided in the update instruction file up2, which is accessed by the important scripts tpman.k and upnew.k. See Sections C, D, and E below for examples and further details. See especially the note of caution in Section E regarding changes to substrings "usr2" and "usr3" in the libary directory names. Modifications of the data directory and library directories in this way are immediately effective in all GANDR computer programs. In addition, all scripts supplied as part of the GANDR installation are updated appropriately to reflect the modifications thus made to subroutine setlib. Everything required to install GANDR-5.3 and to run the associated suite of test problems is contained in the following three files: g53_readme.txt (this file) g53_install.tar.gz g50files.tar.gz The three needed files can be accessed from CD or other media, or directly from the GANDR web site. Downloading the large file g50files.tar.gz (427 megabytes) via the web requires from 10 minutes to over an hour, depending on the speed of connection. C. Instructions for Installing and Updating -------------------------------------------- To begin the installation, choose an arbitrary directory as the GANDR working directory. In this description we often, for convenience, refer to the working directory as "/usr/work". For example, in the following paragraph the "loop" sub-directory of the working directory is referred to as "/usr/work/loop." Even so, it should be emphasized that the directory name "/usr/work" can be changed to any directory name of the user's choosing. So, for example, if the working directory is /home/bob/evaluations/gandr_home, the "loop" sub-directory will be /home/bob/evaluations/gandr_home/loop. The working directory is the primary location for executable programs and is the parent subdirectory for associated subdirectories such as /usr/work/upd (for code updating operations), /usr/work/loop (for management of GANDR energy grids and reaction descriptions), /usr/work/sens (for multigroup sensitivity calculations), /usr/work/0012.9000.03006 (a typical program-generated direc- tory name for storing code-generated plots and output listings). To begin, change directory to the GANDR working directory and copy into this directory the GANDR installer file. Next unpack it using the Unix tar command. tar -xvf g53_install.tar.gz After the tar command has been executed, copy this readme file into the directory /usr/work/extras. (The stand-alone copy of g53_readme.txt on the distribution web page is generally more recent than the one embedded in the in the installer file g53_install.tar.gz.) To proceed now with this stage of the implementation, first create the data directory /usr/gandr/zott. This process requires approximately 3.7 gigabytes of free space in the /usr/gandr/zott directory. If the user does not possess sufficient Unix access privileges to create this directory, a practical solution is to choose a different location. The easiest way to do this is to edit the file up2 with a text editor in order to modify the desired physical location of the files. The user may choose to use, /home/bob/eval/gandr/zott, for example, in place of /usr/gandr/zott or to use /home/bob/gandr_library/usr2 in place of /media/_usr2/gandr. As mentioned above, this is achieved by making changes to subroutine setlib. Note of caution: In modifying the names of directories containing the strings "usr2" and "usr3", do not alter the specific substrings "usr2" and "usr3". The script upnew.k searches for these two specific patterns in the process of generating the required "reversed" version of zottvl.f, namely, zottvl_rev.f. After making these edits and then running the tpman.k and upnew.k scripts, all subsequent runs of the GANDR codes and execution of the relevant scripts will access data from the user's chosen file locations, rather than the original locations. Next copy or download the large file g50files.tar.gz to directory /usr/gandr/zott (or the chosen location of the GANDR data directory). Change to that directory and then enter tar -xvf g50files.tar.gz If the tar command is successful, the file g50files.tar.gz can be deleted to save space. Next, change to the update directory/usr/work/upd. It should contain the following files: gup.f scripts (directory) src.07 src.09 src.11 tpman.k up0 up2 upalt2008 upalt2010 upmac upmark upnew.k As can be seen above, in the present version GANDR-5.3, three source files are supplied. In src.07, the maximum number of parameters is 700, as was the case in GANDR-5.1 and previous versions. To install this 700-parameter version, which we refer to as GANDR-5.3.07, copy the file src.07 to src at this time. In a second version, the maximum number of parameters is increased to 900. To install the 900-parameter version GANDR-5.3.09, copy the file src.09 to src now. Finally, to install the 1100-parameter version GANDR-5.3.11, copy the file src.11 to src. Next, compile the update program GUP gfortran -o gup.x gup.f As in previous GANDR releases, all of the supplied Fortran programs can be compiled using either gfortran or g77. Even so, this writeup and the supplied scripts assume that gfortran is being used to compile the programs. Now execute GUP in the "compile all" mode. cp up0 upn gup.x The only instruction contained in the up0 file, "*cpl all", causes the generation of the current versions of the following files, complete with line references in columns 74-84 that can be used in performing additional updates. abuns.f cfix.f cleanx.f doall.f dometa.f gabrow.f gacont.f gapost.f gaprep.f gaupd.f gcomp.f gup.f inita.f initc2.f initc3.f meta.f modcov.f names.f nitc2.f nitc3.f pert32.f semove.f sepost.f seprep.f spel.f spex.f split5.f tpman.f zottvl.f Most, but not all, of these generated files are Fortran files. (GUP adds the ".f" suffix to all files extracted from src regardless of file content.) These files will evolve over time in response to future code updates. For convienient future reference, it is useful to make archival copies of the more important of these "originals", by entering, for example, cp gaprep.f gaprep.f.orig cp zottvl.f zottvl.f.orig cp gapost.f gapost.f.orig At this time, the GANDR user should implement any desired custom features or make needed corrections by editing the file up2 with a text editor, and then re-running GUP. For example, up2 includes a template for changing the disk location of GANDR data and libraries. The user should read Section E below and decide if there a need to modify the GANDR library directory or the GANDR data directory. This can be accomplished conveniently by means of changes to up2, as described in that Section. As another example, one can append the contents of upmac to up2 to generate a Macintosh OS X 10.9 version of GANDR. Similarly one can append the contents of upmark to add text markers to GANDR outputs for cleaner looking comparisons in with gcomp.f, as descibed below in Section L. The contents of upmark provide only an example of the way that text markers are added. Obviously, the location of the markers will vary according to the actual need. Note the lines near the beginning of up2 that reference "GANDR-5.3.xx". By editing this string, for example substituting "07", "09" or "11" for "xx", one can easily create a unique name for the local version of GANDR. This name will then appear in the entries in the log file gandr.log. To see the result of applying any or all changes to up2, type cp up2 upn gup.x One can check the modified source files, for example gaprep.f, with a text editor to see if the changes made were as they were intended. Note that the changed lines are identified in lines 74-84, not with the text label gaprep.nnn, but rather with iname.mmm, where iname is the name of the relevant update "ident". For help with the updating procedure, type more gup.f One is free to iterate this process (that is, add additional update "idents" to up2, copy up2 to upn, and re-run gup.x) as many times as necessary. After the up2 file is complete, with respect to both the flow of the code and the definition of the GANDR library and data directories, one more step is required prior to compilation of the GANDR suite of programs. This is the generation of a number of GANDR scripts that contain explicit references to the library and data directories. This is accomplished by issuing the following important command: tpman.k D. Compiling the GANDR Codes ----------------------------- To now update and compile the full suite of GANDR programs, still within the upd sub-directory, issue the following command: upnew.k In the resulting output, one can safely ignore the three non-fatal compilation warning messages issued by gfortran-4.9.0, such as gcomp.f:332.28: call oe05c(infile(if),record(1,jf),lrec,endf(if)) 1 Warning: Type mismatch in argument 'ir' at (1); passed INTEGER(4) to CHARACTER(1). Note that, within the upnew.k script, vi is invoked to generate the necessary "reversed" version of zottvl.f (named zottvl_rev.f) prior to actual compilation. One can safely ignore the Vim warning message that is issued, Vim: Warning: Input is not from a terminal All of the resulting executable files are written by the script upnew.k to the working directory, one level up from the upd directory. E. Initializing the Cross Material Covariance Arrays ----------------------------------------------------- As discussed above, executing the GANDR system in full generality requires 89 gigabytes of free space in both the usr2 and usr3 directories. This is where the the 143000-element GANDR parameter array and its full covariance matrix reside. The covariance matrix is stored in triangular form, so it contains 143000x143001/2 elements (assuming src11 was used for installation). Two copies are retained at any given time, with the pre-update parameters and covariances in usr2 and the post-update parameters and covariances in usr3, or vice versa. (The roles of usr2 and usr3 are continually interchanged as the evaluation process moves forward.) It it is recommended to initialize the GANDR data directories for the fully general, multi-material, case at this time. This provides a check on the overall integrity of the software and the capacity of the system hardware. This may help avoid unpleasant surprises later in one's evalution project. The assumed non-informative prior covariance matrix consists of unit variances (100 percent uncertainty) on the diagonal, a fully correlated covariance component with magnitude 1.E-12 (0.0001 percent uncertainty) within a given material, and a covariance magnitude 1.E-16 (0.000001 percent) correlated between the parameters of different materials. To see what is meant by a "material" in the GANDR context, examine the file /usr/work/upd/names.f, which is the official repository of the names assigned to the 130 allowed GANDR materials. The names.f file, and hence the list of GANDR materials, can be modified at the beginning of a series of GANDR evaluations by adding an appropriate update "ident" to up2 and upn and re-running gup.x, as discussed above. The material-naming convention (which controls the GANDR file-naming convention) is a simple 5-character coding of Z and A. For example H-1 is material 01001 and H-2 is 01002. Files with names beginning "00" and "99" are included in this official list (and therefore are included in the GANDR data structures) to accommodate the extension of data assessment studies to include fission products and resonance absorbers, respectively, as discussed in Volume 1 of the GANDR report. It is the purpose of the included programs INITC2 and INITC3 to initialize all same-material and cross-material covariance matrices, using the assumed non-informative prior, and to write these covariances on a set of files having standardized GANDR names within the "GANDR library" directories (that is, in the directories named /media/_usr2/gandr and /media/_usr3/gandr, unless the library directory names have been modified by the user in subroutine setlib). The programs INITC2 and INITC3 are executed within the supplied script "gandrinit", which also creates the appropriate directories for the GANDR library (if they do not already exist) and deletes their entire contents (CAUTION advised) if they do exist. F. Scripts Supplied with this GANDR Distribution ------------------------------------------------- In addition to important scripts tpman.k, upnew.k, and an assortment of smaller ones, this distribution provides scripts for the execution of a large suite of representative test problems. It is important to note that all scripts supplied with this distribution are written by one of the following two commands: tar -xvf g53_install.tar.gz or tpman.k With one exception, all are written into the specific directory in which they are intended to be executed. (The lone exception is gapl.k, which is written initially into the working directory and later copied into the current output directory by the program-generated ganrun script.) Use of these distributed scripts in other locations would require appropriate modifications to the file references in the scripts. Thus, one cannot, from within the working directory, simply type "loop/gandrloop", for example. One must, instead, enter something like the following: cd loop gandrloop > ../gandrloop.screen.txt cd .. All supplied scripts are listed below, including their location relative to the GANDR working directory. The first group below perfoms a variety of tasks, including the execution of multiple test problems. upd/tpman.k upd/upnew.k runtp.k checktp.k gapl.k gcomp.k gandrstan gandrnitc ga gb gab gc gp gz rd instr Scripts with very short names perform a variety of simple service functions. For example, from within the working directory one can read the GANDR reame file by typing simply rd Similarly, to view the GANDR user input instructions, one can type instr Each of the following scripts executes one of the numbered GANDR test problems. They are listed in the order in which they are executed under the control of the GANDR master test problem script, runtp.k. gandrinit loop/gandrloop ganvol3 gandrab gandrseq gandrmix gandr18 gandr19 gandr20 gandr21 gandr22 gandr23 gandr24 gandr25 gandr26 gandr27 gandr28 gandr29 gandr30 gandrnon gandrfiss gandrbig gandrmoc semove/sem2.k semove/sem387.k semove/semove.k gandrnitc gandrli6 gandrb10 gandrau gandru5 gandru8 gandrpu9 sens/seprepall.k gandrst gandru235 gandru235r gandru238 gandral27 G. The GANDR Suite of Test Problems ------------------------------------ The user has the option of running the entire set of initialization and test problem scripts described below as a sequence of individual tasks (running Test Problem 0, then Test Problem 1, and so on) or as a single combined run by executing the supplied master test-problem script, runtp.k. The combined run takes from 2 hours up to 20 hours, depending on the speed of the local system. The script runtp.k displays helpful comments to inform the user of the estimated running time of the current test problem. Many of the test problem generate graphic output, which may require user intervention to view and then dismiss before execution continues. To make this interaction less burdensome, the test problems are grouped into three groups: the first contains very short runs that generate graphic output. The middle group contains a few very long running problems, but no graphic output. Thus when runtp.k reaches "gandrnon", it is safe to allow the execution to continue unattended for an hour or two. The final few test problems again produce graphic output, but only take a few minutes to complete. The reader will note that the master script, on four different occasions, changes to a sub-directory before executing a desired test problem, as we have discussed above. Before executing runtp.k, please note that seven of the GANDR test problems (15, 17, 17a, and 31-34) require the availability of the NJOY code. Thus, at this time, if NJOY is available on the local system, copy the NJOY executable to the location /usr/work/xnjoy. If xnjoy is absent, the script runtp.k will skip these seven test problems. It will also employ a simple "work-around" to supply the Problem 15 output files needed for Test Problem 16. To execute the master script now, change directory to /usr/work (see discussion of "the GANDR working directory" in Section C above) and type runtp.k suffix where "suffix" is a string appended to the name of each of the 38 "screen" output files (that is, all text written to the standard output) produced by this invocation of runtp.k. One can use runtp.k as a template for the creation of shorter scripts that execute only a subset of the test problem suite. For example, compare runtp.k with the shorter script gandrstan. This distribution also contains a script checktp.k which performs a text comparison between the screen outputs from all test problems run with "suffix1" with those run with "suffix2". For example, the original screen outputs prepared on the GANDR host machine have the suffix "orig". Suppose, for example, that one has successfully run all test problems with the command runtp.k myruns Now to check all of the new outputs against the corresponding originals, simply type the following: checktp.k myruns orig For further details regarding the GANDR tools for text comparisons, see Section L below. H. Discussion of Individual Test Problems ------------------------------------------ The first individual task, which takes from 12 to 100 minutes, is initialize the GANDR data library. As mentioned above, this is performed as the first step in the master test-problem script runtp.k; it can also be performed "manually" by changing directory to /usr/work and typing gandrinit > gandrinit.screen.txt (Test Problem 0) Progress on the initialization of the library can be monitored from a second terminal window by repeatedly invoking the Unix command "df" and/or by viewing the current contents of gandrinit.screen.txt by typing tail gandrinit.screen.txt In principle, one could avoid opening a second window by typing gandrinit > gandrinit.screen.txt & and then executing the "tail" and "df" commands within the same window as the "gandrinit" command. However, if one uses this device, it is important to remember that launching a second GANDR test problem before the first one has completed will, in general, result in an error condition. Using these GANDR standard material names, the cross-material covariances between H-1 and H-2, for example, will be written on the file 01001.01002 in the usr2 and usr3 library directories. If these library directories have been partitioned to contain 90 gigabytes each, then after initialization they should be 91% full. This high utilization of the available space does not prevent the efficient operation of the GANDR programs. I. GANDR Test Problems GANDRLOOP and GANVOL3 --------------------------------------------- To gain an understanding of the user input that must be supplied to the GANDR system, it is helpful at this point to review the complete set of user instructions, which appear at the start of the source code for gaprep.f. One can conveniently display these instructions on the screen at any time by typing more /usr/work/upd/gaprep.f Alternatively, from within the working directory one can invoke a simple script: instr In version 5.3 of the GANDR system, there is a fixed limit of either 700, 900, or 1100 parameters per material. Even though the GANDR coding logic suppresses zero parameter values, for some materials it is necessary to modify the otherwise fixed energy grid used for the parameter evaluation process in order to satisfy the fixed limit. The next GANDR test problem, using script GANDRLOOP, shows how the grid structures can be defined, in a single job submission, to satisfy the fixed parameter limit for all 103 of the GANDR general purpose materials. GANDRLOOP can also be used to pre-set the default definitions of the "standard" 25 GANDR reactions for any or all materials. To see how this is done, examine the portion of the script GANDRLOOP dealing with material 05010. It is strongly recommended to make the choice of grid structures and GANDR reactions at the GANDRLOOP stage, rather than later on as an ad-hoc procedure. Once the grids and reaction definitions are defined in this way to the user's satisfaction, all subsequent GANDR runs can be run with igrid=0. When this option is encountered, the GANDR system will "remember" the definitions set in the GANDRLOOP script. To execute the GANDRLOOP test problem, change directory to /usr/work/loop and type gandrloop > ../gandrloop.screen.txt (Test Problem 1) (Again, the user is reminded of the option of using the master test-problem script runtp.k.) An examination of the GANDRLOOP script shows that we have chosen to use the same grid structure for all isotopes of a given element, achieved by imposing the coarsest required structure on all isotopes of that element (compare B-10 and B-11). This facilitates the analysis of elemental data, as discussed below in Section O. We have also chosen to use the same grid for all actinides. This facilitates the processing of product or ratio data, using imode=13, as described below. The output file nalst is an extract of the GAPREP output file from this run, containing the important "bottom line" regarding the actual number of GANDR parameters for each material at the conclusion of this run. Once the GANDRLOOP script has been run, the default value of GAPREP input parameter igrid (igrid=0) can be used in all subsequent job submissions. In this case, the energy grids and reaction definitions set by GANDRLOOP will be employed from then on. To learn how to modify the script to achieve a different set of material- dependent grids and reaction definitions, consult the GANDR input instructions, which, as previously stated, can be displayed by typing either "instr" or more /usr/work/upd/gaprep.f A short introductory GANDR test problem is discussed in considerable detail in Volume 3 of the GANDR documentation (see Section BB below.) This test problem demonstrates a simple case of updating an evaluation of the total cross section of W-184 using information from three differential measurements of the total stored in the EXFOR experimental nuclear reaction data database. To run this problem, change to the working directory and type ganvol3 > ganvol3.screen.txt (Test Problem 1a) A detailed explanation of the graphics and printed output is contained in Volume 3 of the GANDR report, so will not be repeated here. J. Modification of GANDR Plots ------------------------------- If the plots displayed in the course of the execution of ganvol3 do not meet the user requirements, it is very easy to modify them. To do so, first change to the current output sub-directory, which after execution of ganvol3 is listed at the bottom of the screen as 0012.0000.74184. Once there, edit the plotting instructions file gplot.in with a text editor. For example, if one types all occurrences of the pattern "emin", the following will be displayed. 5.000000E-04 2.000000E+05/ emin,emax 5.000000E-04 2.000000E+05/ emin,emax 5.000000E-04 2.000000E+05 4.000000E+04/ emin,emax,estep The numerical input on these lines is read by the GANDR codes in free format. Thus, for example, after replacing occurrences of the pattern "5.000000E-04" with "1.e5" in these lines, one can re-make the plot simply by typing gapl.k The result in this case will be the normal GANDR linear and log plots, but the energy range of the plots will now start at 100 keV instead of 5.0E-04 eV. K. GANDR Tool for Comparing Output Files ----------------------------------------- Re-direction of code output from the computer screen to a file, in the way the GANDR test problems are set up in runtp.k, allows one to do a com- parison of the full program output from all GANDR modules (GAPREP, ZOTTVL and GAPOST) with that originally generated on the GANDR host computer (the included screen files with the added extension "orig"). To do such a text comparison, change to the working directory and type gcomp.k ganvol3.screen.txt ganvol3.screen.orig The program gcomp.f is a special text-comparison program supplied with the GANDR distribution. It is somewhat similar to DIFF, but it contains GANDR- specific filters to ignore uninteresting line differences, for example those caused by small variations in the amount of CPU time consumed or the date and time of the run. On request, gcomp.k will also ignore any differences occurring in the least significant digits of the two files being compared, for example, differences beyond the fifth digit. A recent addition to gcomp.f allows the user to prevent the reporting of differences in a selected block of text in the two outputs being compared. This is useful if a code change has been make recently, and the impact of this change is predictable and uninteresting. To active this option, it is only necessary to insert "marker" lines in the first output file (called "file1" in the gcomp.k script). The gcomp.f program contains logic then to locate the corresponding block of text in "file2". The insertion of the marker lines in file1 is accomplished most conveniently by adding an appropriate "ident" to the update file up2, similar to the example below. *ident mark */ zottvl -- add text markers for adjusted integral data printout *i zottvl.553 write (*,*) '<<<<' *i zottvl.565 write (*,*) '>>>> Ignoring differences in adjusted integral data' After modifying up2 in this way, one needs next to re-compile the GANDR programs. Still within the upd subdirectory, execute the following command upnew.k Then, in the working directory, re-run the GANDR programs, with a command such as runtp.k mark As mentioned above, the "marked" output needs to be submitted to gcomp.k as "file1", so the appropriate command line to compare the marked output from test problem ganvol3 with the original output would be as follows: gcomp.k ganvol3.screen.mark ganvol3.screen.orig A clean comparison, that is, one with no reportable differences, would then look like this: Subroutine FUZZ called to trim away insignificant digits. 1 1 ****** 391 records common to both files not listed ****** 393 393 394 >>>> Ignoring differences in adjusted integral data 395 396 394 # G p ****** 922 records common to both files not listed ****** 1319 1317 The line numbers in the first two columns of such an output refer the line numbering in file1 and file2, respectively. The fact that file1 has two more records than file2 (1319 vs. 1317) is the result of the addition of the two marker lines as described earlier in this Section. L. Executing the Five GANDR Test Problems from Volume 4 -------------------------------------------------------- A set of five semi-realistic test problems is introduced and discussed in Vol. 4 of the GANDR report. In this section, we indicate how these problems can be run in the current GANDR environment. To execute these test problems, change to the working directory and run the following five shell scripts: gandrab > gandrab.screen.txt (Test Problem 2) gandrseq > gandrseq.screen.txt (Test Problem 3) gandrnon > gandrnon.screen.txt (Test Problem 4) gandrfiss > gandrfiss.screen.txt (Test Problem 5) gandrbig > gandrbig.screen.txt (Test Problem 6) If one has not employed output re-direction as shown above, one can get a very short comparison of the local "printed" output on the computer screen with that on the GANDR host by typing tail -23 gandrab.screen.orig For further discussion of the relevance and interpretation of the output from the five test problems, see Vol. 4. To resubmit one of the scripts with modifications, check the GANDR input instructions and make appropriate changes to the script. It is safe to experiment with different combinations of target and reaction data. At this stage, input errors are unlikely to cause any permanent harm, such as loss of one's investment in the time consuming initialization process, because these five test problems affect only the within-material parameters and covariances. These quantities can be re-initialized to standard initial values by GAPREP with inopt=0 at any time. Note however, that the internal GAPREP single-material initialization procedure (imode=12, inopt=0) does not re-initialize the cross-material covariances. A special cross-material covariance initialization script GANDRNITC is provided for this purpose. For an example of the use of GANDRNITC, examine the first few lines of the test-problem script GANDRMIX, described below. M. User-supplied Initial Covariances for Multi-Isotope Elements ---------------------------------------------------------------- For some time GANDR has had the capability of accepting a user-supplied "prior" covariance matrix for the 700, 900 or 1100 parameters of a single material. Beginning with GANDR-4.3, it is possible for the user to specify the initial covariances for a range of materials, including all cross-material covariances. These covariances are written by the user to the special directory /usr/gandr/zott/modcov in 10E13.6 ASCII format, prior to the actual GANDR processing. The small code modcov.f is supplied with this distribution as an aid in this initialization process. It must be modified by the user to access the covariance information that is to be written into the modcov directory. If no such changes are made, the code writes the standard non-informative prior for the current range of materials. The file naming convention in /usr/gandr/zott/modcov is the same as employed in the GANDR (binary) library in the directory _usr2/gandr/caa. That is, a file with a name like 74182 is the self-covariance for the 1100 parameters of W-182, while 74182.74183 is the cross-material parameter covariances between W-182 and W-183. In all cases, the covariances are written to /usr/gandr/zott/modcov as square matrices. If na is less than the fixed parameter limit, then it is good practice to set the undefined covariances to zero. To see an example of how the modcov.f code interacts with the other GANDR codes, change to /usr/work and type gandrmoc > gandrmoc.screen.txt (Test Problem 7) In this test problem, note that modcov.x is executed twice. The first use of modcov.x is to set the ASCII "user-suppled" covariances in /usr/gandr/zott/modcov equal to the standard GANDR non-informative prior. As can be seen by the results of the first "diff" command, the adjusted data on gapost.out are identical to all printed digits to the results of using the built-in non-informative covariance initialization. The second invocation of modcov.x produces an initial set of covariances which contain, as a test, a single, non-standard off-diagonal element, equal to 0.999999, in position cov2(363,363) for each of the "user-supplied" cross- material covariance matrices. This strong correlation drives the solution in a way such that the final adjusted value of parameter 363 for each of the four materials are all close to the same value (0.93457), which is the expected result. This result can be verified by inspection of the results of the final "diff" command. Nearby parameters are also affected to a minor extent by this artificial modification, because of cross parameter correlations induced by correlations in the experimental data. N. Analysis of EXFOR data for Isotopic and Elemental Tungsten -------------------------------------------------------------- Beginning with version GANDR-4.0, it is possible to analyze data for elements and mixtures. Also incorporated in this version is a general cleanup of the user interface. For example, all user input is now read from standard input unit, eliminating the previous use of the file names.gaprep as an auxiliary source of user input instructions. Another change is that the user explicitly controls the mode of calculation by means of the input parameter imode. The value imode=12, for example, selects the "classic" mode, as employed in the first seven test problems. The value imode=10 selects the "standards" mode, as illustrated in Test Problem 16. Finally, imode=11 selects the "mixture" mode, wherein data for an element or chemical mixture can be analyzed. Test Problem 8 illustrates the use of this mixture feature. To execute this problem, change to /usr/work and type gandrmix > gandrmix.screen.txt (Test Problem 8) Note that GANDRMIX is a blend of runs with imode=11 and 12. The imode=12 runs are all single material runs. Within-material covariance initialization is performed "on the fly" for each material because inopt=0. This is followed by a run with imode=11 (mixture mode) and inopt=1. This procedure assumes that an initialization of the full cross-material covariance set for these materials has been performed externally, prior to the first imode=12 run. This is the reason that the script GANDRNITC is invoked at the start of the GANDRMIX script. Note on Card 7 in the GANDR input instructions that, when processing data for an element or mixture, it is necessary to supply externally an appropriate PENDF file for the desired element or mixture. For the common engineering elements having more than one isotope in the GANDR general purpose library, this preparatory work has already been done. The Master PENDF file supplied with this distribution includes elemental PENDFs, produced with the MIXR module of NJOY for H, Li, N, Si, Ar, Ti, Cr, Fe, Ni, Cu, W, Rh, Hg, Pb, and U, with names of the form /usr/gandr/zott/pendf/82000. O. Incorporating the International Standards Evaluation -------------------------------------------------------- In this Section, we describe a set of test problems that illustrate how to (a) initiate a global data assessment by analyzing EXFOR data for the total cross sections for six materials, namely Li-6, B-10, Au-197, U-235, U-238 and Pu-239, and (b) continue the assessment with the incorporation of recent data from the International Standards Evaluation for the same set of six materials. At the start of this analysis, it is necessary to perform a full cross-material initialization of the parameters and covariances of the materials involved. The inclusion of these steps allows for the possiblity that the relevant cross-material covariances have been previously modified, for example, via a previous execution of Test Problem 16. First one creates a "names" file containing the names of the six relevant materials, as follows: cat << EOF > names 03006 05010 79197 92235 92238 94239 EOF Then, one performs the required initialization. gandrnitc > gandrnitc.screen After cross-material initialization, the following scripts perform the total cross section portion of the standards analysis: gandrli6 > gandrli6.screen.txt (Test Problem 9) gandrb10 > gandrb10.screen.txt (Test Problem 10) gandrau > gandrau.screen.txt (Test Problem 11) gandru5 > gandru5.screen.txt (Test Problem 12) gandru8 > gandru8.screen.txt (Test Problem 13) gandrpu9 > gandrpu9.screen.txt (Test Problem 14) With appropriate changes to the above six scripts, one can extend this analysis of the EXFOR total cross section data to include any of the remaining 97 general purpose materials in the GANDR library. The next two test problems perform the actual update to the GANDR library to incorporate the information from the International Standards Evaluation. Execution of Test Problem 15 problem requires an executable version of NJOY (containing at least the GROUPR and MODER modules) to be present as a file named xnjoy in the working directory. If /usr/work/xnjoy is not present, skip ahead to the instructions immediately following Test Problem 15 below. The script seprepall.k invokes the gandr utility programs SEPREP and SEPOST four times in order to calculate the sensitivity of the group averaged data for the heavy element standards reactions (as is recorded in the published evaluation) to the point parameters of the GANDR library. To understand the input files, such as seprep.in.03006, consult the SEPREP input instructions by typing more /usr/work/upd/seprep.f As presently coded, these codes assume that the same energy group structure is used for all evaluations including such a mixture of point-energy and group averaged data. If /usr/work/xnjoy is present, change to sub-directory sens and type seprepall.k > ../seprepall.screen.txt (Test Problem 15) If NJOY is not available, Test Problem 15 can be skipped. As a work-around, this distribution provides the key output of Test Problem 15, namely the files mgbse.dat.orig and sepost.in.dat.orig, located in the working directory. To employ this work-around, change to the working directory and type the following: cp mgbse.dat.orig mgbse.dat cp sepost.in.orig sepost.in The next test problem is the actual update of the GANDR library to incorporate the information from the standards evaluation. A detailed discussion of this calculation can be found in a paper in Nuclear Data Sheets, Volume 109. See the Bibliography below for details. To proceed, still within the working directory, type gandrst > gandrst.screen.txt (Test Problem 16) This script invokes GAPREP in the "standards" mode imode=10 (see subroutine MULTI) and then invokes the GANDR statistical engine ZOTTVL to do a library update to incorporate the information from the entire standards evaluation in a single execution. This script treats the entire published standards evaluation as a single correlated measurement of 926 physical quantities. P. Sensitivity of General Group Data to the GANDR Parameters ------------------------------------------------------------- SEMOVE is a Fortran-77 computer program for computing the derivatives of processed multigroup nuclear data with respect to the individual parameters of the GANDR library. The theory behind the calculation of these derivatives is supplied in Volume 7 of the GANDR report. See the Bibliography, Section BB below. The basic premise of the SEMOVE program is that a user has chosen a multigroup processing program such as NJOY and has developed a script that allows the calculation of all nuclear data of interest in his selected group structure and with his selected weight function. The file njg included in this distribution is an example of such a user-supplied script. The script njg, which is used in both of the test problems discussed in this Section, requires access to the NJOY program. If this is available, copy the NJOY executable to the location /usr/work/xnjoy at this time. If NJOY is not available, then skip ahead to the next Section. Also included in this distribution is the complete input for a SEMOVE sample problem in which the desired sensitivity matrix R is computed for all GANDR parameters of both Li-7 and C-nat. Note of caution: this is a large problem that runs to completion in from 40 minutes to 6 hours on a modern workstation. It also demands considerable free space (at least 2.15 Gigabytes) in the working directory. To execute this test problem, change to the semove sub-directory and type sem2.k > ../sem2.screen.txt (Test Problem 17) For a faster running demonstration of the semove program, one can use the script sem387.k which is just the script semove.k, modified by changing "/" to "1 387/" in line 37. Instead of the above command, type sem387.k 600 06000 > ../sem387.screen.txt (Test Problem 17a) This shorter version computes the derivatives of the multigroup data for C-nat to a single GANDR parameter, instead of all parameters. The running time is reduced, correspondingly, by a factor of 100 or more. After running either the long or short versions of Test Problem 17, an explicit display of the definitions of all GANDR parameters for all materials that have been processed can be found in the corresponding "edit" files, 03007/edit.txt and/or 06000/edit.txt. For a detailed discussion of the output of these test problems, see Volume 7. R. Processing using EXFOR (C5M) Explicit Covariance Matrices ------------------------------------------------------------- Beginning with the release of GANDR-5.0, it also possible for the user to retrieve data for a given target and reaction directly from the C5M library, produced at the IAEA by Viktor Zerkin. The coding logic for this retrieval is built into the gaprep module, so there is no longer an extra, external processing step separating the GANDR analyst from the distributed EXFOR files. This type of direct access to EXFOR is performed most conveniently using imode=14, as illustrated in several test problems below. In addition to being convenient, this path removes many of the limitations that exist in the vintage 2005 MEL library (including incident neutrons only, no ratio or resonance integral measurements, purely diagonal covariance matrices). For compatibility with existing coding, this new procedure produces a "local exfor libary" in PNT format (as before). It also produces a companion "local exfor covariance library". these libraries reside on units nexfo and ncm, with external file names of matnam.exfor (as before) and matnam.cm. S. Processing Cross Sections for Al-27(n,alpha) ------------------------------------------------ In Sections S through W are described groups of test problems, which are meant to be executed in order, one after another. For example, within Section W, test problems 28, 29 and 30 should be executed in the order indicated. The first one, GANDR18 is an example of a run with imode=14, a new GANDR calculational option. This value of imode initiates a truncated gaprep run, in which matnam.exfor and matnam.cm are produced based on data and covariances retrieved from C5M, but no further processing takes place. This is desirable, as these two files are used repeatedly in a variety of ways, as illustrated below, and it is wasted effort to be repeatedly re-making these working local files from the large C5M file. Two of the problems, GANDR19 and GANDR20, actually fail to run to conclusion. Studying the output from these runs and making the corrections suggested by the program (that is, running the next test problem) is an excellent method of becoming familiar with the processing methodology. gandr18 > gandr18.screen.txt (Test Problem 18) gandr19 > gandr19.screen.txt (Test Problem 19) gandr20 > gandr20.screen.txt (Test Problem 20) gandr21 > gandr21.screen.txt (Test Problem 21) The following test problem shows how to add back in in the experiments that had to be removed from the previous runs, using the GANDR option inopt=1. gandr22 > gandr22.screen.txt (Test Problem 22) T. Processing of Measurements of Products and Ratios ----------------------------------------------------- The processing of product and ratio measurements is a second major addition to GANDR capabilities in GANDR-5.0. The processing of products and ratios is done using another new calculational mode, namely, imode=13. Most measured products and ratios in EXFOR can be described as follows: Measured Quantity = A1^a1 * A2^a2 * A3^a3 * B1^b1 * B2*b2 * C1^c1 ... For a given nuclide "A", A1 is an "official" GANDR reaction, such as capture, fission, and nu-bar, or is a redundant reaction formed as a linear sum of official reactions, such as the total cross section, total inelastic, and so on. Similarly B1 and B2 are such reactions in nuclide "B" and C1 is a reaction in nuclide "C". a1, a2, a3, b1, b2, and c1 denote arbitrary positive or negative integers. To request processing of a ratio or product GANDR, one must specify the identity of the contributing nuclides and their reactions and how these reactions enter into the model above. To illustrate, suppose one has data from a direct measurement of U-235 fission "eta" (the ratio of nu-bar*sigma-fiss to sigma-tot). To describe this measurement in the language of GANDR, one must enter the following input: 92235 3/ U-235 contributes 3 reactions to the definition of eta 1/ the first reaction appears in the numerator 23*0 1/ xexfor array for nu-bar 1/ the second reaction also appears in the numerator 22*0 1/ xexfor array for fission -1/ the third reactions appears in the denominator 25*1/ xexfor array for the total U. Processing ratio of Ta-181(n,g) to Au-197, mf=203 ------------------------------------------------- Again, it is intended that the test problems below be executed in the order indicated. Both of the pairs of problems consist of one run with imode=14 (to build the working files matnam.exfor and matnam.cm mentioned earlier), followed by a run with imode=13 to actually process the indicated ratio data. gandr23 > gandr23.screen.txt (Test Problem 23) gandr24 > gandr24.screen.txt (Test Problem 24) Note here that, since GANDR is strongly oriented toward single isotope processing, the processing methodology involves the introduction of fictitious "isotopes" (values of matnam) 55500 through 55599. These reserved values are used to define storage locations for intermediate results for up to 100 different ratios and products. These values of matnam would normally refer to nuclides Cs-500 through Cs-599, which, of course, do not exist in nature. V. Processing ratio of Pu-239 capture to Pu-239 fission (alpha) ---------------------------------------------------------------- gandr25 > gandr25.screen.txt (Test Problem 25) gandr26 > gandr26.screen.txt (Test Problem 26) The following shows how the computer intensive process of building the Pu-239 "alpha" PENDF in GANDR26 can be avoided on later runs involving the same quantity. gandr27 > gandr27.screen.txt (Test Problem 27) W. Processing ratio of Pu-239 fission to U-235 fission with C5 Covariances --------------------------------------------------------------------------- Test Problem 18-21 above emphasized the concept of accessing full data covariance matrices from the C5M library, whereas Test Problems 23-27 focused on the analysis of experimental data that are ratios of other quantities (described using MF=203 in C5M). In the following two test problems, we combine these concepts and analyze data for the ratio of Pu-239 fission to U-235 fission, where the ratio data and the full data covariance matrices are both taken from C5M. gandr28 > gandr28.screen.txt (Test Problem 28) gandr29 > gandr29.screen.txt (Test Problem 29) gandr30 > gandr30.screen.txt (Test Problem 30) X. Processing Integral Data for Godiva --------------------------------------------------------------------------- Test Problem 31 employs the new GANDR-5.3 methodology for treating integral data, where sensitivities are retrieved from external sensitivity libraries, including, but not limited to, data from the DICE library from the NEA Data Bank. New here is the availability of sensitivities to non-cross-section data types such as P-1 Legendre moments of elastic scattering, fission chi, and fission nu-bar. This test problem illustrates the very flexible method adopted in GANDR-5.3 for treating such non-cross-section data. Test Problems 31 through 34 require access to a compiled version of NJOY, version NJOY-99.336 or equivalent. If NJOY is available, copy the executable to the file /usr/work/xnjoy. If it is not, then skip Test Problems 31-34. As shown in the two scripts below, when introducing non-cross-section data types, the user supplies an original PENDF file on matnam.pendf.orig and the code automatically generates an appropriately modified File-3 on matnam.pendf, making use of a variety of evaluated data in the user-supplied ENDF file matnam.endf. See the definition of mt 701, 702 and 703 in the script for Test Problem 31 and related subroutines nubar, chi, and pnelas in gaprep.f. Similar short subroutines can easily be added for additional data types as the need arises. In Test Problem 31, the analysis differential data preceeds the analysis of Godiva k-eff measurements, while in Test Problem 32 this order is reversed. As expected, the solution for the adjusted GANDR parameters are identical in the two tests, as seen by the "diff" results at the end of Test Problem 32. gandru235 > gandru235.screen.txt (Test Problem 31) gandru235r > gandru235r.screen.txt (Test Problem 32) Y. Processing Integral Data for Cf-252 Spectrum-Averaged U-238(n,2n) --------------------------------------------------------------------------- Test Problem 33 applies this processing methodology to the analysis of Cf-252 spectrum-averaged data for the reaction U-238(n,2n). The sensitivities here are just the evaluated Cf-252 spontaneous fission spectrum, available from several sources in ENDF File-3 format. For this test we made use of the evaluation in IRDF-2002, as revised by A. Trkov in 2013. gandru238 > gandru238.screen.txt (Test Problem 33) Z. Processing Integral Data for General Spectrum-Averaged Al-27(n,alpha) --------------------------------------------------------------------------- Test Problem 34 applies this methodology to the analysis of a hypothetical experiment where the Al-27(n,alpha) reaction is considered to be measured in a neutron flux spectrum with one narrow peak. The simplicity of this assumed flux spectrum allows a hand calculation of the expected results. There is good agreement between the hand calculation and the program output. gandral27 > gandral27.screen.txt (Test Problem 34) AA. User Instructions for an Interactive Session ------------------------------------------- The numbered GANDR test problems above are all executed in "batch mode" making use the general formulation gaprep.x < gaprep.in Beginning with GANDR-5.2 it is now possible to execute GANDR also in the interactive mode, simply by omitting the input file, gaprep.x In this case, the necessary input instructions are typed on the terminal keyboard in "real time". To assist the user in this case, a series of prompts are issued by the code. Consider the following script based on the test problem GANVOL3. echo yes > permit gaprep.x << EOF 12 0 1 2/ imode,inopt,ipick,idef,iprint,iredo,iloop,xneg 74184 1/ matnam,mtplot / igrid,imoc,ipend,inmt5,iltest (select default grid) 1/ mte,mfe,idx1,idx2 (retrieve the data for mte=1 from ... 1/ listex(i) (select EXFOR data set no. 1, by K. Knopf, ... 0 0 0/ inca,covmin,irelco,isys,iglobl (standard uncertainty ... EOF chmod u+x ganrun To run this same problem in the interactive mode, type ga -2/ 12 0 1 2/ 74184 1/ / 1/ 1/ 0 0 0/ CTRL-D gb The command ga (short for "GANDR Step A") invokes a very small script containing the just two lines echo yes > permit gaprep.x The command gb ("GANDR Step B") invokes a second, equally short script chmod u+x ganrun ganrun The initial line of GAPREP input, containing "-2/", causes the program to print approximately a full screen of definitions and other relevant information before reading a given line of input. Entry of "-1/" produces short, one-line prompts, instead. The GAPREP program recognizes that -1 and -2 are undefined values of imode, so that, after reading this first line of input, the code re-reads the imode input line and then all succeeding lines in the usual way. The entry of CTRL-D is needed in the interactive mode to terminate the repeated reading of card 37, containing nb1, nb2, covfc, and irelfc. As an additional aid to the GANDR user, whether the input is read from a file or from the keyboard, a copy of the input is written onto the file gaprep.newinp. If it is necessary to re-run the GANDR codes with slightly modified input instructions, it is often convenient to simply edit the file gaprep.newinp and re-run the problem in batch mode, gaprep.x < gaprep.newinp.edit BB. GANDR Bibliography ---------------------- D.W. Muir, The Global Assessment of Nuclear Data (GANDR Project). Volume 1. Project Overview. This and the other six volumes of the GANDR report are available online from the IAEA Nuclear Data Section, at www-nds.iaea.org/gandr/docs.html. D.W. Muir, "Global Assessment of Nuclear Data (GANDR Project) "Volume 2. The ZOTTVL Program." Available online. D.W. Muir, "Global Assessment of Nuclear Data (GANDR Project). Volume 3. GANDR Programs GAPREP, GAPOST and GABROW." Available online. D.W. Muir, "Global Assessment of Nuclear Data (GANDR Project). Volume 4. User Input Instructions and Five Sample Problems Based on Tungsten EXFOR Data. Available online. EXFOR Systems Manual, Brookhaven National Laboratory Report BNL-NCS-63330-04/01, compiled and edited by V. McLane, April 2001. D.W. Muir, The Global Assessment of Nuclear Data (GANDR Project). Volume 5. Preparation of the EXFOR Master Library for the GANDR Project. Available online. "International Evaluation of Neutron Cross Section Standards," STI/PUB/1291, International Atomic Energy Agency, Vienna, Austria, November 2007. Available online at www-pub.iaea.org/MTCD/publications/PDF/Pub1291_web.pdf. D.W. Muir, The Global Assessment of Nuclear Data (GANDR Project). Volume 6. Multigroup Sensitivities. Available online. D.W. Muir, A. Mengoni, and I. Kodeli, "Integration of the International Standards Evaluation into a Global Data Assessment," Nuclear Data Sheets 109 (2008) 2874-2879. Available from Science Direct online at doi:10.1016/j.nes.2008.11.032 D.W. Muir, The Global Assessment of Nuclear Data (GANDR Project). Volume 7. Sensitivity of General Group Data to the GANDR Parameters: the SEMOVE Program. Available online.