Installation Instructions for GANDR-4.4, 28 November 2011 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 suite of 17 test problems. For additional information, please visit the GANDR web site, www-nds.iaea.org/gandr. Included there is a six-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 L. below. A. 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. Installation of the full system and the associated library of data files requires about 2.2 gigabytes of free disk space in the /usr directory. The system is designed to read and write repeatedly to and from data directories "usr2" and "usr3", which should ideally reside on separate disk drives, each having at least 36 gigabytes of free space. In previous GANDR releases the "usr2" and "usr3" disk drives were mounted at /usr2 and /usr3, respectively. In the present Fedora 13 implementation of GANDR, the corresponding drives are mounted at /media/_usr2 and /media/_usr3, respectively. Everything required to install GANDR-4.4 and to run the GANDR suite of 17 test problems is contained in the following four files: g44readme.txt (this file, 47280 bytes) g44install77.tar.gz (? bytes) g44installgf.tar.gz (5939330 bytes) g4files.tar.gz (280284201 bytes) The file g44install77.tar.gz installs GANDR-4.4 using the g77 Fortran-77 compiler, whereas the file g44installgf.tar.gz installs GANDR-4.4 using the gfortran compiler. Only one of these two files is required for a full installation of GANDR. Note: The codes have been extensively modified in going from GANDR-4.0 to GANDR-4.4. However, the data files containing EXFOR and processed ENDF information have not changed. If the g4files.tar.gz file have already been installed on the local computer system, it is not necessary to repeat this step in moving up to the GANDR-4.4 versions of the programs. The three needed files can be accessed from CD or other media, or directly from the GANDR web site. Downloading the large file g4files.tar.gz via the web requires from 10 minutes to over an hour, depending on the speed of connection. B. Instructions for Installing, Updating and Compilation --------------------------------------------------------- To begin the installation, choose an arbitrary working lo- cation on the /usr directory as the GANDR working directory, for example, /usr/work. This directory will be the primary location for executable programs and will be the home directory for associated directories such as /usr/work/upd (for code updating operations), /usr/work/loop (for management of the GANDR energy grid structures), /usr/work/sens (for multigroup sensitivity calculations), /usr/work/0022.9010.74000 (a typical program-generated directory name for storing code output). Place a copy of the desired installer in the working directory, and unpack it using the usual Unix commands. gunzip g44install77.tar.gz tar xvf g44install77.tar OR gunzip g44installgf.tar.gz tar xvf g44installgf.tar Next, change directory to /usr/work/upd. After the tar command has been executed, this directory should contain the following files: gup.f initialize.k src up0 up1 upalt2008 upalt2010 update.k Next, compile the update program GUP g77 -o gup.x gup.f OR gfortran -o gup.x gup.f and then execute GUP in the "compile all" mode. cp up0 upn gup.x The only instruction contained in the up0 file, "*cpl all", generates 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 gup.f inita.f initc2.f initc3.f meta.f modcov.f names.f pert32.f semove.f sepost.f seprep.f spel.f spex.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 this reason, it may be useful to make "permanent" copies of the more important of these "originals". For example, cp gaprep.f gaprep.f.orig cp zottvl.f zottvl.f.orig cp gapost.f gapost.f.orig At this time, implement any desired custom features or make needed corrections by editing the file up1 with a text editor, and then re-running GUP. For example, one can create a unique name for the local version of GANDR. cp up1 upn gup.x For help with the updating procedure, type more /usr/work/upd/gup.f C. Compiling the GANDR Codes ----------------------------- Once the up1 file is finalized in the manner described above, the supplied Unix script update.k can be invoked to update and compile the entire suite of GANDR programs. cp up1 upn update.k Note that, within this 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, i.e., Vim: Warning: Input is not from a terminal The resulting executable files are written to directory /usr/work. D. Installation of the GANDR PENDF and EXFOR Data Directories -------------------------------------------------------------- As mentioned above, if the GANDR-4.0 data files contained on g4files.tar.gz were NOT installed as part of an earlier GANDR installation process, it it necessary to install these files at this time. This process requires approximately 2.2 gigabytes of free space on the /usr directory. To proceed now with this stage of the implementation, first create the data directory /usr/gandr/zott. Next copy or download the large file g4files.tar.gz to directory /usr/gandr/zott and change to that directory. Unpack the tar file with the command gunzip g4files.tar.gz The un-zipped tar file occupies slightly over 1081 megabytes. Now enter tar xvf g4files.tar Type "du" to check that the necessary PENDF and EXFOR data structures have been created and filled. The result should be very similar to what is listed in the final section below. If all is well, g4files.tar can now be deleted. A second "du" command should show 1148700 kilobytes of disk usage in the /usr/gandr/zott directory. E. Initializing the Cross Material Covariance Arrays ----------------------------------------------------- As discussed above, executing the GANDR system in full generality requires 36 gigabytes of free space on both the _usr2 and _usr3 directories. This is where the the 91000-element GANDR parameter array and its full covariance matrix reside. The covariance matrix is stored in triangular form, so it contains 91000x91001/2 elements. Two copies are retained at any given time, with the pre-update parameters and covariances on _usr2 and the post- update parameters and covariances on _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 will permit, for example, the execution of the multi-material test problem based on the incorporation of the International Neutron Cross Section Standards Evaluation. The assumed non-informative prior 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, ex- amine the file names.f, which assigns specific names to the 130 allowed GANDR materials. This list of materials can be modified, at the beginning of a series of GANDR analyses, by adding an appropriate update "ident" to upn, as discussed above. The material-naming convention (which controls the 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. To begin this process, change directory to /usr/work/upd. Then compile the two codes as follows: g77 -o initc2.x initc2.f g77 -o initc3.x initc3.f OR gfortran -o initc2.x initc2.f gfortran -o initc3.x initc3.f Also at this time, make a second copy of the names file, cp names.f names Next, create directories /media/_usr2/gandr/caa and /media/_usr3/gandr/caa. If they already exist, it is good practice to delete the entire contents /media/_usr2/gandr/caa and /media/_usr3/gandr/caa before continuing. We can now perform the (approximately 90-minute) process of creating non-informative priors for all combinations of materials and writing them on the two caa directories. To do so now, type initialize.k Progress in the initialization can be monitored on the console and by viewing the contents of the text file, initialize.out. Using the 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 two mentioned data directories. If the directories _usr2 and _usr3 have been partitioned to contain 36 gigabytes, then, at this point, they should be 98% to 99% full. This high utilization of the available space does not prevent the efficient operation of the GANDR programs. F. Executing the First GANDR Test Problem, GANDRLOOP ----------------------------------------------------- In the GANDR code system, there is a fixed limit of 700 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 700-parameter limit. Test problem GANDRLOOP shows how the grid structures can be defined, in a single job submission, to satisfy this limit for all 103 of the GANDR general purpose materials. To execute this test problem, change directory to /usr/work/loop and type gandrloop > gandrloop.screen (Test Problem 1) Re-direction of the normal output from the computer screen to a file allows one to do a comparison of the output with that generated on the GANDR host computer. For example, diff gandrloop.screen.orig gandrloop.screen | more Note 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 I. The in- cluded file nalst is an extract of the GAPREP output file from this run, gaprep.out.orig. This file contains 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 GAPREP input instructions. These input instructions can be viewed conveniently with the following UNIX command: more /usr/work/upd/src A short introductory GANDR test problem is discussed in considerable detail in Volume 3 of the GANDR documentation (see Section L 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 directory to /usr/work, and then type ganvol3 > ganvol3.screen (Test Problem 1a) A detailed explanation of the graphics and printed output is contained in Volume 3, so will not be repeated here. Again, a diff command can be used to highlight any differences that have shown up in the local implementation. G. 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. In addition, eight test problems, based on incorporating information from the International Neutron Cross Section Standards Evaluation, are described below in Section H. To execute the test problems from Vol. 4, change directory to /usr/work. In that directory, there are the following five shell scripts: gandrab > gandrab.screen (Test Problem 2) gandrseq > gandrseq.screen (Test Problem 3) gandrnon > gandrnon.screen (Test Problem 4) gandrfiss > gandrfiss.screen (Test Problem 5) gandrbig > gandrbig.screen (Test Problem 6) Execution of these test problems normally requires, in /usr/work, in addition to the codes discussed above, an executable copy of NJOY99.336, or its equivalent, with the file name "xnjoy". Only the PLOTR and VIEWR modules are invoked in these five problems. (Note, however, that Test Problems 13 and 17 below invoke the MODER and GROUPR modules of NJOY.) Users without access to NJOY must supply their own graphics processor (and to supply a small interface code to translate the print commands apppearing on the file plotr.in into appropriate input for the local plotting code. Alternatively, one can set iprint equal to -1 or -3 in all input to the GAPREP code to suppress graphics output and thereby eliminate references to NJOY/PLOTR. This will not affect the desired updating of the GANDR library. If one has not employed output re-direction as shown above, one can get a very short comparison of the local "printed" output to the computer screen with that on the GANDR host by typing tail -23 gandrab.screen.orig To resubmit one of the scripts with modifications, check the GAPREP 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. For further discussion of the relevance and interpretation of the output from the five test problems, see Vol. 4. H. Incorporating the International Standards Evaluation -------------------------------------------------------- This distribution also provides support for an important, additional set of eight test problems. These problems demonstrate 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. To perform the total cross section portion of this analysis, change directory to /usr/work and execute the following scripts in succession: gandrli6 (Test Problem 7) gandrb10 (Test Problem 8) gandrau (Test Problem 9) gandru5 (Test Problem 10) gandru8 (Test Problem 11) gandrpu9 (Test Problem 12) These are relatively time-consuming runs because of the large volume of total cross section data available for these important materials. The longest, gandrpu9, required around 90 minutes of execution time on a Dell Precision 530 workstation with a Xeon processor. Note: Since these 6 test problems consume a total of around 4.5 hours of computer time, the user may wish to automate these submissions. To all 6 of these problems, with plots suppressed in order to minimize required user interaction, simply type: prestan.k With appropriate changes to the above six scripts, one can ex- tend this analysis of the EXFOR total cross section data to the remaining 97 general purpose materials in the GANDR library. For the next test problem, change directory to /usr/work/sens and execute the script seprepall.k (Test Problem 13) Ordinarily, the execution of Test Problem 13 requires the presence of an executable version of NJOY (containing the GROUPR and MODER modules) to be present in the working directory. If NJOY is not available, Test Problem 13 can be skipped and the user can proceed to Test Problem 14, provided only that the files mgbse.dat.orig and sepost.in.dat are present in the working directory. If these two data files are present, then change directory to /usr/work, and type the following commands: cp mgbse.dat.orig mgbse.dat cp sepost.in.orig sepost.in Then proceed to Test Problem 14 below. The script seprepall.k invokes the recently developed programs SEPREP and SEPOST four times in order to calculate the sensitivity of the group averaged data for the heavy element standards (as presented in the published standards evaluation) to the point parameters of the GANDR library. To understand the input files, such as seprep.in.03006, consult the SEPREP input instructions, more /usr/work/upd/seprep.f As presently coded, it is assumed that the same multigroup structure is used for all materials presented as a mixture of point-energy and group averaged data, as is the case in the International Neutron Cross Section Standards Evaluation. Note that the script for Test Problem 13 invokes the MODER and GROUPR modules of NJOY. 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, change directory to /usr/work and type gandrst (Test Problem 14) This script invokes gaprep in the recently developed multi- material mode (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 data quantities. I. User-supplied Initial Covariances for Multi-Isotope Elements -------------------------------------------------------------- For some time GANDR has had the capability of accepting a user- supplied covariance matrix for the 700 parameters of a single material. Begining 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 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 to the current range of materials. The file naming convention in this directory is the same as employed in the GANDR (binary) library in the directory _usr2/gandr/caa. Namely, a file with a name like 74182 is the self-covariance for the 700 paramters 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 700-by-700 matrices. If na is less than 700, as it very often is, 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 directory to /usr/work and type gandrmoc (Test Problem 15) In this test problem, note that modcov.x is executed twice. The first use of modcov.x is to set the ASCII "user-suppled" covar- iances 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 intialization. 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. J. 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 12 test problems. The value imode=10 selects the "standards" mode, as illustrated in Test Problem 14. Finally, imode=11 selects the "mixture" mode, wherein data for an element or chemical mixture can be analyzed. Test Problem 15 illustrates the use of this new feature. To execute this problem, type gandrmix (Test Problem 16) To clarify the differing input requirements for the three calculational modes, a summary is included at the end of the gaprep input instructions. To view just this summary, type head -787 /usr/work/upd/src Note on Card 7 in the full 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. K. 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. Development of the SEMOVE program was made possible by the financial support from the OECD Nuclear Energy Agency. This support was offered in order to facilitate the incorporation of information from neutron benchmark integral experiments into the GANDR evaluation process. 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 SEMOVE program is currently restricted to cases where the final calculation is performed with the GROUPR module, with the results being written to a GROUPR format (GENDF) output file, as is the case with the script njg. There are no other restrictions placed on the type or complexity of the processed data. A distinctive feature of the GANDR project is that the fundamental data uncertainties are assumed to reside, not in the ENDF evaluations, but in the parameters of the GANDR library. To interface the GANDR library with normal sensitivity tools, and thereby to permit the GANDR library to be improved by exploiting the information content of accurate integral data, we need to be able to calculate the changes in the multigroup cross sections dW that result from changes in the GANDR parameters dA, dW = R dA (1) From R, one can directly obtain the multigroup cross section covariance matrix, D(W) = R D(A) R* (2) Here we see that a system for determining the sensitivity matrix R plays a role within the GANDR project that is similar to an ENDF covariance processing program. The estimation of R is not trivial, because the working cross section set W does not have a simple one-to-one correspondence to the GANDR parameters A. The reasons for this are as follows: First, the GANDR parameters define uncertainty components that are continuous functions of energy, defined in relation to a universal set of energy nodes. The multigroup data, on the other hand, are energy-averaged quantities, with the averages being performed over a group structure of the user's choice. Also, in the case of angular distributions, the GANDR parameters refer to Legendre moments in the CM system (for the same reasons that CM system is used for elastic and inelastic scattering in the ENDF formats), while the Legendre moments of group data refer to angular distributions in the LAB system. Finally, group cross sections for resonance materials are self-shielded through a complex procedure that typically involves the use of both NJOY and TRANSX. The availability of D(W) in factored form, as it appears above in Eq. (2), means that one can directly relate the uncertainties in the parameters of the GANDR library to the uncertainty of calculated quantities like Z, D(Z) = S D(W) S* = S R D(A) R* S*, or D(Z) = T D(A) T*, where T = S R is the "complete" sensitivity matrix relating the change in a GANDR parameter to changes in a set of integral data. An important consequence of having available the complete sensitivity matrix, is that we can directly update the GANDR library, based on the results of integral experiments, using the usual method of generalized least squares, as codified, for example, in the GANDR program ZOTTVL. In considering the practicality of the discrete-difference approach to the calculation of R, it is important to observe that the discrete- difference calculation does NOT have to be repeated for every new integral experiment. For the large class of problems for which resonance self-shielding is relatively unimportant, once the parameter sensitivities R are calculated for a single nuclide, those sensitivities can be re-used for any variation in geometry, material composition or source description. The neutronic multigroup sensitivities S will change, of course, in the usual way. The conversion of each of the new S matrices (S1, S2, S3, etc.) back to the complete sensitivity T would require only a new matrix multiplication with the same R matrix, T1 = S1 R T2 = S2 R T3 = S3 R and so on. We now turn to the details of the calculation of the parameter sensitivity matrix R. As we have noted, the relationship between the vectors A and W is complicated. These complications may make it impractical to develop a procedure for calculating R analytically. For this reason, in program SEMOVE the current approach to the calculation of the matrix R is based on discrete differences. The SEMOVE program assumes the existence of reference ENDF and PENDF files, such as are normally supplied to the GROUPR module for multigroup processing. The SEMOVE program performs a lengthy series of discrete alterations. In each alteration, one of the (up to 700) GANDR parameters for the material of interest is either increased or (in the case of odd- numbered Legendre coefficients) decreased by 1%. The GANDR parameters are defined such that perturbing one parameter leads to an altered cross section table (in a PENDF file) or an altered distribution (in an ENDF file), but not both. This might be called the "exclusive or" property of the parameters. To keep track of the numerous altered files, a specific data directory structure is employed. For example, the file stored at the location 03007/endf/136 is the ENDF file produced as the result of perturbing GANDR parameter number 136 for Li-7. (This particular parameter, in turn, controls the P-1 component of elastic scattering in the vicinity of 10 MeV.) By comparison, the file 03007/pendf/440 is the PENDF file resulting from perturbing GANDR parameter number 440 for Li-7, which controls the file-3 cross section for mt=102 in the vicinity of 1 eV. Because of the "exclusive or" property, files 03007/pendf/136 and 03007/endf/440 would be identical to the unperturbed PENDF and ENDF files so are not produced explicitly. The SEMOVE code can, with a single execution, populate the reserved data directories with the perturbed ENDF and PENDF files required to calculate all parameter derivatives for a selected nuclide. An illustration of how this works in practice is provided below in the "Sample Problem" section. The coding logic of SEMOVE builds on the capability of the MODER module of NJOY to read an ENDF, PENDF or GENDF (group-ENDF) file in either ASCII or NJOY blocked-binary format and then to write out a copy of the same information in either ASCII or blocked-binary format. In this process every significant nuclear datum passes through the core of the computer. This controlled flow of all data through the core is exploited n the SEMOVE program in applying the desired perturbations. The heart of SEMOVE is 1400 lines of new programming that implements the desired perturbation function. This programming is overlaid on a code base provided by the 99.259 version of MODER. The complete program also includes a number of utility routines from the NJOY module, such as LISTIO and MOREIO, which perform the actual data reads and writes. Numerous modifications have been made to the included MODER and NJOY subroutines, some major and some minor. It is intended that the entire 4600 lines of the resulting SEMOVE code will be updated and maintained as a single unified program. Although it does not pertain to the coding of SEMOVE, it is worth noting that the main NJOY program, njoy99.336, required a minor update before preparing the sample problem. The update, ident UPBRO, changes the grid thinning logic in BROADR so as to preserve the fixed GANDR energy grid under Doppler broadening. The Master PENDF library supplied with this distribution, was prepared using this update. The update instruction set UPBRO is included with this distribution (in the semove directory). Sample Problem -------------- Included in this distribution is the complete input for a SEMOVE sample problem in which the desired sensitivity matrix R is computed for targets of Li-7 and C-nat. To execute this test problem, first change directory to /usr/work/semove, and invoke the script for the test problem. sem2.k (Test Problem 17) Note of caution: this is a large problem that runs to completion in around 6 hours on a modern workstation. For a much faster-running test, see Test Problem 16a below. The script sem2.k performs two calls to the much larger script semove.k, which contains the main input for this two-material sample problem. In this run, the GROUPR module of NJOY is executed approximately 1000 times to provide the necessary input data for the requested derivative calculations, performed by the SEMOVE program by discrete differences. The output derivatives are written to a dedicated set of directories. For convenience, tar files 03007.dgdif.tar and 06000.dgdif.tar, containing all of the output derivatives for the two-material sample problem, are also included as part of this distribution. 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 entering sem2.k, just type the following, sem387.k 600 06000 (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, from 6 hours to less than a a minute. After running either the long or short versions of Test Problem 16, 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. The main output of the SEMOVE program is the full matrix R introduced above, or (in the shorter version) one column of that matrix. Recalling Eq. (1), dW = R dA The desired matrix R is stored in the directory dgdif two levels below the working directory. To illustrate the use of the matrix R in detail, con- sider that one wishes to view the derivatives of the 175-group multigroup data for the mt=51 reaction in C-nat with respect to GANDR parameter number 387. Put another way, we wish to view the 387-th column of the matrix R. (From the file 06000/edit.txt, we see that parameter 387 controls the P-1 component of inelastic scattering in the CM system in the vicinity of 7.94 MeV.) To view the derivatives, after running either version of the sample problem within the directory /usr/work/semove, type the following: cd 06000 cd dgdif gunzip 387 more 387 Alternatively one can, without actually running the test problem, extract the data from the relevant tar file as follows: tar xvf 06000.dgdif.tar 387.gz gunzip 387 more 387 For example, we may wish to examine the derivatives of all of the Legendre components of the inelastic scattering cross section, in energy groups 144-156, for the first inelastic level. To accomplish this, perform the following searches in "more": /mf = 6 /mt = 51 This brings one to the material listed below. To interpret this output data, first note that the multigroup transfer matrix for this reaction has, in this case, 7 Legendre moments in the LAB system (mpol = 7). Next, note that, at this energy and for this reaction, only infinitely dilute data are present on the GENDF file (nsig = 1). These data, like all others in this sample problem are Doppler broadened to 300 Kelvin. ================================================================== mat = 600 mf = 6 mt = 51 xmult = -100. mpol = 7 nsig = 1 temp = 300 grp = 144 Legendre order = 0 0.000000E+00 Legendre order = 1 0.000000E+00 Legendre order = 2 0.000000E+00 Legendre order = 3 0.000000E+00 Legendre order = 4 0.000000E+00 Legendre order = 5 0.000000E+00 Legendre order = 6 0.000000E+00 ... ... temp = 300 grp = 154 Legendre order = 0 -2.040000E-06 Legendre order = 1 -1.871248E-02 Legendre order = 2 -3.130690E-03 Legendre order = 3 -2.477200E-04 Legendre order = 4 -9.510000E-06 Legendre order = 5 -7.500000E-07 Legendre order = 6 2.000000E-07 temp = 300 grp = 155 <<<<<<<<<<<< Legendre order = 0 2.110000E-06 Legendre order = 1 -2.839568E-02 Legendre order = 2 -4.573850E-03 Legendre order = 3 -3.497500E-04 Legendre order = 4 -1.312000E-05 Legendre order = 5 -2.000000E-08 Legendre order = 6 -3.400000E-07 temp = 300 grp = 156 Legendre order = 0 -1.900000E-07 Legendre order = 1 9.069290E-03 Legendre order = 2 1.407200E-03 Legendre order = 3 1.040500E-04 Legendre order = 4 3.900000E-06 Legendre order = 5 2.900000E-07 Legendre order = 6 -3.000000E-08 ... ... A particularly interesting group is group 155 of the Vitamin-J 175 group structure employed in this test problem. This group covers the energy range range from 7.79 to 8.19 MeV, directly in the center of the area that experiences the maximum impact of variations in GANDR parameter 387. This group is highlighted with "left arrows" above. First note that the P-0 component has nearly zero sensitivity. This is the expected result since, by orthogonality, changing the P-1 CM component of the inelastic scattering angular distribution cannot affect the integrated cross section, because this cross section is the same as the P-0 component in either the CM or LAB systems. Also, as expected, changing one component in the CM has a noticeable affect on all other components (other than P-0) in the LAB system. Finally, note that the magnitude and sign of the several P-n derivatives are fully consistent with expectations. At 7.94 MeV, the cross section for this reaction is 0.35 barns, and the P-1 normalized coefficient in the CM is -0.119, the product being -0.0417 barns. This figure sets an upper limit to the derivatives of interest. L. GANDR Bibliography -------------------------------------------------------------- D.W. Muir, The Global Assessment of Nuclear Data Requirements (GANDR Project). Volume 1. Project Overview. Available online at www-nds.iaea.org/gandr/docs.html. D.W. Muir, "Global Assessment of Nuclear Data Requirements (GANDR Project) "Volume 2. The ZOTTVL Program. 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 Requirements (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 Requirements (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 M. Result of executing "du" command in directory /usr/gandr/zott ---------------------------------------------------------------- 8280 ./list 1156 ./aref 512 ./thresh 468 ./cont 228 ./xexfor 13768 ./exfor 69228 ./modcov 8 ./xlinpl/01001 8 ./xlinpl/01002 8 ./xlinpl/02003 8 ./xlinpl/02004 20 ./xlinpl/03006 8 ./xlinpl/03007 8 ./xlinpl/04009 24 ./xlinpl/05010 8 ./xlinpl/05011 4 ./xlinpl/06000/6000 12 ./xlinpl/06000 8 ./xlinpl/07014 8 ./xlinpl/07015 8 ./xlinpl/08016 8 ./xlinpl/09019 8 ./xlinpl/11023 8 ./xlinpl/12024 8 ./xlinpl/13027 8 ./xlinpl/14028 8 ./xlinpl/14029 8 ./xlinpl/14030 8 ./xlinpl/15031 8 ./xlinpl/16032 8 ./xlinpl/17035 8 ./xlinpl/18040 8 ./xlinpl/19039 8 ./xlinpl/20040 8 ./xlinpl/21045 8 ./xlinpl/22046 8 ./xlinpl/22047 8 ./xlinpl/22048 8 ./xlinpl/22049 8 ./xlinpl/22050 8 ./xlinpl/23000 8 ./xlinpl/24050 8 ./xlinpl/24052 8 ./xlinpl/24053 8 ./xlinpl/24054 8 ./xlinpl/25055 8 ./xlinpl/26054 8 ./xlinpl/26056 8 ./xlinpl/26057 8 ./xlinpl/26058 8 ./xlinpl/27059 8 ./xlinpl/28058 8 ./xlinpl/28060 8 ./xlinpl/28061 8 ./xlinpl/28062 8 ./xlinpl/29063 8 ./xlinpl/29065 8 ./xlinpl/30000 8 ./xlinpl/33075 8 ./xlinpl/39089 8 ./xlinpl/41093 8 ./xlinpl/53127 8 ./xlinpl/55133 8 ./xlinpl/73181 12 ./xlinpl/74182 12 ./xlinpl/74183 12 ./xlinpl/74184 12 ./xlinpl/74186 16 ./xlinpl/79197 8 ./xlinpl/82206 8 ./xlinpl/82207 8 ./xlinpl/82208 8 ./xlinpl/83209 8 ./xlinpl/90229 8 ./xlinpl/90230 12 ./xlinpl/90232 8 ./xlinpl/91231 8 ./xlinpl/91233 8 ./xlinpl/92232 8 ./xlinpl/92233 8 ./xlinpl/92234 16 ./xlinpl/92235 8 ./xlinpl/92236 8 ./xlinpl/92237 20 ./xlinpl/92238 8 ./xlinpl/93236 8 ./xlinpl/93237 8 ./xlinpl/93238 8 ./xlinpl/93239 8 ./xlinpl/94236 8 ./xlinpl/94238 16 ./xlinpl/94239 8 ./xlinpl/94240 8 ./xlinpl/94241 8 ./xlinpl/94242 8 ./xlinpl/94244 8 ./xlinpl/95241 8 ./xlinpl/95242 8 ./xlinpl/9542M 8 ./xlinpl/95243 8 ./xlinpl/96242 8 ./xlinpl/96243 8 ./xlinpl/96244 8 ./xlinpl/96245 8 ./xlinpl/96246 8 ./xlinpl/96247 8 ./xlinpl/96248 8 ./xlinpl/97249 8 ./xlinpl/98250 8 ./xlinpl/98251 8 ./xlinpl/98252 4 ./xlinpl/03000 4 ./xlinpl/04000 4 ./xlinpl/05000 4 ./xlinpl/07000 4 ./xlinpl/08000 4 ./xlinpl/09000 4 ./xlinpl/10000 4 ./xlinpl/11000 4 ./xlinpl/12000 4 ./xlinpl/13000 4 ./xlinpl/14000 4 ./xlinpl/15000 4 ./xlinpl/16000 4 ./xlinpl/17000 4 ./xlinpl/18000 4 ./xlinpl/19000 4 ./xlinpl/20000 4 ./xlinpl/21000 4 ./xlinpl/22000 4 ./xlinpl/24000 4 ./xlinpl/25000 4 ./xlinpl/26000 4 ./xlinpl/27000 4 ./xlinpl/28000 4 ./xlinpl/29000 4 ./xlinpl/31000 4 ./xlinpl/32000 4 ./xlinpl/33000 4 ./xlinpl/34000 4 ./xlinpl/35000 4 ./xlinpl/36000 4 ./xlinpl/37000 4 ./xlinpl/38000 4 ./xlinpl/39000 4 ./xlinpl/40000 4 ./xlinpl/41000 4 ./xlinpl/42000 4 ./xlinpl/43000 4 ./xlinpl/44000 4 ./xlinpl/45000 4 ./xlinpl/46000 4 ./xlinpl/47000 4 ./xlinpl/48000 4 ./xlinpl/49000 4 ./xlinpl/50000 4 ./xlinpl/51000 4 ./xlinpl/52000 4 ./xlinpl/53000 4 ./xlinpl/54000 4 ./xlinpl/55000 4 ./xlinpl/56000 4 ./xlinpl/57000 4 ./xlinpl/58000 4 ./xlinpl/59000 4 ./xlinpl/60000 4 ./xlinpl/61000 4 ./xlinpl/62000 4 ./xlinpl/63000 4 ./xlinpl/64000 4 ./xlinpl/65000 4 ./xlinpl/66000 4 ./xlinpl/67000 4 ./xlinpl/68000 4 ./xlinpl/69000 4 ./xlinpl/70000 4 ./xlinpl/71000 4 ./xlinpl/72000 4 ./xlinpl/73000 8 ./xlinpl/74000 4 ./xlinpl/75000 4 ./xlinpl/76000 4 ./xlinpl/77000 4 ./xlinpl/78000 4 ./xlinpl/79000 4 ./xlinpl/80000 4 ./xlinpl/81000 4 ./xlinpl/82000 4 ./xlinpl/83000 4 ./xlinpl/84000 4 ./xlinpl/85000 4 ./xlinpl/86000 4 ./xlinpl/87000 4 ./xlinpl/88000 4 ./xlinpl/89000 4 ./xlinpl/90000 4 ./xlinpl/91000 4 ./xlinpl/92000 4 ./xlinpl/93000 4 ./xlinpl/94000 4 ./xlinpl/95000 4 ./xlinpl/96000 4 ./xlinpl/97000 4 ./xlinpl/98000 4 ./xlinpl/01000 4 ./xlinpl/02000 1320 ./xlinpl 717904 ./pendf 3004 ./lst 156 ./nodes 305092 ./spex 2832 ./meta 8 ./exfor2/01001 8 ./exfor2/01002 8 ./exfor2/02003 8 ./exfor2/02004 128 ./exfor2/03006 8 ./exfor2/03007 8 ./exfor2/04009 112 ./exfor2/05010 8 ./exfor2/05011 8 ./exfor2/06000 8 ./exfor2/07014 8 ./exfor2/07015 8 ./exfor2/08016 8 ./exfor2/09019 8 ./exfor2/11023 8 ./exfor2/12024 8 ./exfor2/13027 8 ./exfor2/14028 8 ./exfor2/14029 8 ./exfor2/14030 8 ./exfor2/15031 8 ./exfor2/16032 8 ./exfor2/17035 8 ./exfor2/18040 8 ./exfor2/19039 8 ./exfor2/20040 8 ./exfor2/21045 8 ./exfor2/22046 8 ./exfor2/22047 8 ./exfor2/22048 8 ./exfor2/22049 8 ./exfor2/22050 8 ./exfor2/23000 8 ./exfor2/24050 8 ./exfor2/24052 8 ./exfor2/24053 8 ./exfor2/24054 8 ./exfor2/25055 8 ./exfor2/26054 8 ./exfor2/26056 8 ./exfor2/26057 8 ./exfor2/26058 8 ./exfor2/27059 8 ./exfor2/28058 8 ./exfor2/28060 8 ./exfor2/28061 8 ./exfor2/28062 8 ./exfor2/29063 8 ./exfor2/29065 8 ./exfor2/30000 8 ./exfor2/33075 8 ./exfor2/39089 8 ./exfor2/41093 8 ./exfor2/53127 8 ./exfor2/55133 8 ./exfor2/73181 48 ./exfor2/74182 64 ./exfor2/74183 72 ./exfor2/74184 12 ./exfor2/74186 140 ./exfor2/79197 8 ./exfor2/82206 8 ./exfor2/82207 8 ./exfor2/82208 8 ./exfor2/83209 8 ./exfor2/90229 8 ./exfor2/90230 32 ./exfor2/90232 8 ./exfor2/91231 8 ./exfor2/91233 8 ./exfor2/92232 8 ./exfor2/92233 8 ./exfor2/92234 208 ./exfor2/92235 8 ./exfor2/92236 8 ./exfor2/92237 188 ./exfor2/92238 8 ./exfor2/93236 8 ./exfor2/93237 8 ./exfor2/93238 8 ./exfor2/93239 8 ./exfor2/94236 8 ./exfor2/94238 224 ./exfor2/94239 8 ./exfor2/94240 8 ./exfor2/94241 8 ./exfor2/94242 8 ./exfor2/94244 8 ./exfor2/95241 8 ./exfor2/95242 8 ./exfor2/9542M 8 ./exfor2/95243 8 ./exfor2/96242 8 ./exfor2/96243 8 ./exfor2/96244 8 ./exfor2/96245 8 ./exfor2/96246 8 ./exfor2/96247 8 ./exfor2/96248 8 ./exfor2/97249 8 ./exfor2/98250 8 ./exfor2/98251 8 ./exfor2/98252 4 ./exfor2/01000 4 ./exfor2/02000 4 ./exfor2/03000 4 ./exfor2/04000 4 ./exfor2/05000 4 ./exfor2/07000 4 ./exfor2/08000 4 ./exfor2/09000 4 ./exfor2/10000 4 ./exfor2/11000 4 ./exfor2/12000 4 ./exfor2/13000 4 ./exfor2/14000 4 ./exfor2/15000 4 ./exfor2/16000 4 ./exfor2/17000 4 ./exfor2/18000 4 ./exfor2/19000 4 ./exfor2/20000 4 ./exfor2/21000 4 ./exfor2/22000 4 ./exfor2/24000 4 ./exfor2/25000 4 ./exfor2/26000 4 ./exfor2/27000 4 ./exfor2/28000 4 ./exfor2/29000 4 ./exfor2/31000 4 ./exfor2/32000 4 ./exfor2/33000 4 ./exfor2/34000 4 ./exfor2/35000 4 ./exfor2/36000 4 ./exfor2/37000 4 ./exfor2/38000 4 ./exfor2/39000 4 ./exfor2/40000 4 ./exfor2/41000 4 ./exfor2/42000 4 ./exfor2/43000 4 ./exfor2/44000 4 ./exfor2/45000 4 ./exfor2/46000 4 ./exfor2/47000 4 ./exfor2/48000 4 ./exfor2/49000 4 ./exfor2/50000 4 ./exfor2/51000 4 ./exfor2/52000 4 ./exfor2/53000 4 ./exfor2/54000 4 ./exfor2/55000 4 ./exfor2/56000 4 ./exfor2/57000 4 ./exfor2/58000 4 ./exfor2/59000 4 ./exfor2/60000 4 ./exfor2/61000 4 ./exfor2/62000 4 ./exfor2/63000 4 ./exfor2/64000 4 ./exfor2/65000 4 ./exfor2/66000 4 ./exfor2/67000 4 ./exfor2/68000 4 ./exfor2/69000 4 ./exfor2/70000 4 ./exfor2/71000 4 ./exfor2/72000 4 ./exfor2/73000 12 ./exfor2/74000 4 ./exfor2/75000 4 ./exfor2/76000 4 ./exfor2/77000 4 ./exfor2/78000 4 ./exfor2/79000 4 ./exfor2/80000 4 ./exfor2/81000 4 ./exfor2/82000 4 ./exfor2/83000 4 ./exfor2/84000 4 ./exfor2/85000 4 ./exfor2/86000 4 ./exfor2/87000 4 ./exfor2/88000 4 ./exfor2/89000 4 ./exfor2/90000 4 ./exfor2/91000 4 ./exfor2/92000 4 ./exfor2/93000 4 ./exfor2/94000 4 ./exfor2/95000 4 ./exfor2/96000 4 ./exfor2/97000 4 ./exfor2/98000 2376 ./exfor2 236 ./bars 22120 ./custom 1148700 .