Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewCrystallography softwareX-RAY 63 softwareX-Ray manualMolecular structures and dimensions
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLApplicationsCrystallography :: Crystallography at ACL
ACLApplicationsCrystallography :: Crystallography at ACL
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
Crystallography software
X-RAY 63 software
X-Ray manual
Molecular structures and dimensions

X-RAY Manual

J M Stewart, G J Kruger, H L Ammon, C Dickinson and S R Hall

Computer Science Center, University of Maryland

The manual was originally printed on an upper case lineprinter with an old print chain. Hopefully not too many errors have been introduced.

The X-Ray System of Crystallographic Programs

The X-Ray System of Crystallographic Programs for any computer system having a Pidgin Fortran compiler

Pidgin Fortran is a neutral subset of FORTRAN IV and is described in detail in an Appendix.

In collaboration with Department of Energy, Mines and Resources, Canada and the Science Research Council, UK

I shall try to correct errors where shown to be errors, and shall not adopy new views as fast as they appear to be true views....
Abraham Lincoln

Abstract

This is a manual for the use of a library of crystallographic programs. This library, called the X-RAY System, is designed to carry out the calculations required to solve the structure of crystals by diffraction techniques. It has been implemented at the University of Maryland on the Univac 1108 under EXEC VIII. It has, however, been developed and run on a variety of machines under various operating systems. Hence we consider it to be an essentially machine independent library of applications programs. The report includes definition of crystallographic computing terms, program descriptions, with some text to show their application to specific crystal problems. Detailed card input descriptions, mass storage file structure and some example run streams. No programs are shown. They are supplied separately as about 60000 cards on a blocked tape appropriate to the machine on which they are to be compiled and run.

Table of Contents

The write-up of each program is given in two parts, the first is descriptive. The second is a card order summary, file handling summary, and card format description. In each case, the write-up appears alphabetically by program calling card mnemonic. The appendices provide further details about the structure of the system.

Part 1

GENERL
General description of the system
ABSORB
Diffractometer absorption correction
APHASE
Search of SIGMA-TWO relationships for a set of possible phases
BONDAT
Generation of bonded atom positions
BONDLA
Determination of contact and bond distances and angles with estimated errors
CRYLSQ
General crystallographic least squares program
DATCO5
Treatment of diffractometer data
DATRDN
Preparation of binary data file and preliminary treatment of data and symmetry
DIFPCH
Preparation of sorted diffractometer setting cards
DIFSET
Generation of settings for gathering data on an automated diffractometer
DUMCOP
Dump or copy the binary data file
FC
Structure factor calculation
FOURR
Fourier transformations to give Patterson, vector, electron density, difference, or E maps
LISTFC
Lists structure factors for publication
LOADAT
Load atomic parameters into the binary data file
LSQPL
Calculation of equations of 3-dimensional planes and lines
MODIFY
Binary data file editing and generation of pseudo data
NORMSF
Preliminary data scaling, calculation of quasi-normalized structure factors (E), and estimation of overall temperature factor
PARAM
Least squares refinement of cell parameters from TWO-THETA data
PEKPIK
Search Fourier maps for peaks
PHASE
Search of SIGMA-TWO relationships for a set of possible phases (centric case)
REVIEW
Evaluation of direct phase determination
RLIST
Lists R values for various zones and other reflection classes
SINGEN
Forms triples for phase determination (centric or acentric)
STEPRF
Step refinement
TANGEN
Use of tangent formula to calculate phases
WRITEU
Generation of write-up
WTANAL
Analysis of least squares weighting schemes
WTLSSQ
Revision of least squares weighting schemes
REFERENCES
Alphabetical by Author
APPENDIX 1
Contributors to the System
APPENDIX 2
Example Data Decks
APPENDIX 3
Distribution of the System
APPENDIX 4
Pidgin FORTRAN
APPENDIX 5
The Structure of the System
APPENDIX 6
The Format of the Binary Data File
APPENDIX 7
Information Required in Report of Suspected Errors

Part 2

The input data requirements for each program are given in two parts. The first, (A), is a card order and file handling summary, and the second, (B), gives the detailed card formats.

GENERL
General description of the system
ABSORB
Diffractometer absorption correction
APHASE
Search of SIGMA-TWO relationships for a set of possible phases
BONDAT
Generation of bonded atom positions
BONDLA
Determination of contact and bond distances and angles with estimated errors
CRYLSQ
General crystallographic least squares program
DATCO5
Treatment of diffractometer data
DATRDN
Preparation of binary data file and preliminary treatment of data and symmetry
DIFPCH
Preparation of sorted diffractometer setting cards
DIFSET
Generation of settings for gathering data on an automated diffractometer
DUMCOP
Dump or copy the binary data file
FC
Structure factor calculation
FOURR
Fourier transformations to give Patterson, vector, electron density, difference, or E maps
LISTFC
Lists structure factors for publication
LOADAT
Load atomic parameters into the binary data file
LSQPL
Calculation of equations of 3-dimensional planes and lines
MODIFY
Binary data file editing and generation of pseudo data
NORMSF
Preliminary data scaling, calculation of quasi-normalized structure factors (E), and estimation of overall temperature factor
PARAM
Least squares refinement of cell parameters from TWO-THETA data
PEKPIK
Search Fourier maps for peaks
PHASE
Search of SIGMA-TWO relationships for a set of possible phases (centric case)
REVIEW
Evaluation of direct phase determination
RLIST
Lists R values for various zones and other reflection classes
SINGEN
Forms triples for phase determination (centric or acentric)
STEPRF
Step refinement
TANGEN
Use of tangent formula to calculate phases
WRITEU
Generation of write-up
WTANAL
Analysis of least squares weighting schemes
WTLSSQ
Revision of least squares weighting schemes

GENERL: General description of the system

Preface

The X-RAY system comprises a collection of inter-related FORTRAN programs for the structural analysis of crystals from diffraction data. It provides routines at all levels of the analysis - examples are diffractometer setting programs, programs for applying direct methods of phase determination in the production of a trial structure, Fourier transforms and least squares refinements, and also programs to aid in the interpretation and publication of the refined results. It operates under its own Fortran sub-system monitor - the nucleus - which permits the ready addition of extra programs into the system.

The course of a job run on the system is determined by the input data cards which call the appropriate programs into the store of the computer as required. At the same time, a binary data file (which is fully described later) is continuously updated as the solution progresses, thus keeping the size of an input data deck to a minimum. Whenever possible, the system will continue with a calculation but, in the event of an irrecoverable situation, it will abandon its efforts and chastise the user with an epigrammatic quotation.

This write-up is divided into three sections:

  1. A description of the calculations performed by each program
  2. Detailed instructions for the preparation of input data
  3. A series of appendices providing necessary information for those who require a detailed knowledge of the structure of the system, for example in its implementation on any given computer.

Disclaimer

Although each program of the X-RAY system and the nucleus has been tested by its contributors and further tested on a number of different computers, no warranty, expressed or implied, is made by the contributors or the system's programmers as to the accuracy and functioning of the programs, their subprograms, the related program material, or write-up. No responsibility is assumed by the contributors or by any member of the X-RAY system group or supporters of these persons in connection with the use or attempted use or application of these programs.

Note to Users

The usual journal reference to calculations done with the X-RAY system is as follows:

The X-RAY system - version of June 1972. Technical Report TR-192 of the Computer Science Center, University of Maryland, June 1972.

Introduction

The overall plan of the X-RAY system is such that the user should understand several topics, namely:

  1. Preamble cards needed for the local implementation of the system
  2. X-RAY system card format conventions and functions
  3. FORTRAN format conventions
  4. The concept and use of the binary data file
  5. The structure of an X-RAY system data deck
  6. System terminology

Preamble Cards Required but not Described

It is not possible here to treat all the local lore (even if it were known) concerning the preamble cards required to get a job run on any given computer. Appendix 2 gives several examples of runs of varying complexity in system use. When the system is implemented on a specific machine, it is suggested that each of the examples be prefaced by the appropriate job control deck required for that machine.

The following discussion will only be concerned with how the user must prepare his data from the point at which the system assumes control of the job.

X-RAY System Card Format Conventions and Functions

The X-RAY system utilizes four types of input data cards. Every card, regardless of type, is identified by its first six columns.

The four types of card are as follows:

  1. Program Calling Cards (which are read both by the system and by the called program), e.g. =DATRDN=, =BONDLA=, =TANGEN=, =FC=, =CRYLSQ=
  2. Cards actually containing crystallographic or other data (read within the appropriate. program), e.g. =ATOM=, =CELL=, =HKL=, =SCALE=
  3. The =END= card, which marks the end of a data set for the selected program and usually initiates the actual calculation
  4. Operation cards, which are recognized and acted upon by the system. These achieve housekeeping functions such as providing a =TITLE= to be printed at the top of each page of printed output, or =FINISH= which terminates the run. Other examples are =REMARK=, =SAVE=, =RESTART= (as only the first 6 columns are checked, the final T is optional).

In addition to its identification columns, each card has a fixed format which is set in the programs. Every card is read at least twice, once to identify its function and once to decode it according to its format and the list of items which it should contain. This double reading makes possible fairly flexible card orders and gives the user control of the calculations by means of the structure of his data deck. The whole process of control is based upon these cards and their order so that the utmost care should be exercised in their punching and ordering. As long as no invalid punching is contained in the card, checking and diagnostic print out are possible when unacceptable card order sequences are encountered. This diagnostic which, unfortunately, will become familiar to most X-RAY system users states:

CARD JUST READ../.. (IMAGE OF CARD IN QUESTION)
CARD I.D. EXPECTED.... XXXXXX    YYYYYY    ZZZZZZ 

where =XXXXXX=, =YYYYYY=, and =ZZZZZZ= are the only acceptable card identifications expected at the point at which the condemned card was encountered. Many times this error is caused by simply not punching what is shown in the instructions, e.g. =DATRON= for =DATRDN=, or, more commonly, a confusion between the letter O and the digit 0.

The invalid punching referred to above is the placing of characters in fields which do not belong there under the rules of FORTRAN. Examples are the placing of a decimal point within an I field, or a letter within an F field.

FORTRAN Format Conventions

The following discussion is not intended to be exhaustive, but rather to emphasize the rules of FORTRAN format statements which are usually troublesome to the crystallographer using the X-RAY system with no previous FORTRAN programming experience. Some of the following material will represent an oversimplification but hopefully will be sufficient to insure fewer terminations due to bad cards in the crystallographic data decks.

A FORMAT statement is a one dimensional array of characters beginning with ( and ending with ). Within these () are a set of characters which describe, card column by card column, the decoding of the card on an item by item basis. Each item is an entity of data. In general, the system uses three kinds of data - alphanumeric characters, numeric integers, and numeric floating point. In a FORMAT statement these are represented by A, I, and F respectively. The number of columns designated for each item is placed directly after the format letter in the case of A, I, and F, thus, if an item consists of four columns of alphabetic or integer information, it is coded A4 or I4. However, if the item consists of floating point information then the number of decimal factions at the right of the field must also be shown. Therefore F6.4 means six columns of floating point data, the last four of which are to the right of the decimal point. The number 543217, punched in such a six column field is interpreted as 54.3217 and is actually stored within the computer as .543217 X 10 exp 2, hence the name floating point. The FORTRAN convention for floating point is such that if a decimal point is punched anywhere in the field, it overrides the implicit position specified in the format statement. In our F6.4 example, this would allow only 5 columns for digits to be punched, e.g. 54321. which will be treated as .54321 X 10 exp 5.

The restrictions on each of these types of data specifications are as follows...

  1. In I and F fields, no punches except numeric (0,1,2,3,4,5,6,7,8,9,+, and -) are allowed. otherwise the run will be terminated. The F field has one exception in that the decimal point is acceptable.
  2. In the I field, the digits punched must (spelled *M*U*S*T*) be right justified - that is, as far to the right as possible in the field specified for the item. failure to observe this FORTRAN format convention is a very common cause for failure of runs. If spaces remain to the right of the punched digits, the interpreter routine fills the field out with zeros. Thus a digit 1 would become a 10 or 100 or 1000 depending upon which column was punched in an I4 field. A corollary of this is that a blank field read in I format will be treated as zero.
  3. Alphabetic A fields may have any punches produced by a conventional keypunch. It is recommended that, in the case of identification items that are to be punched in many places, these items be left justified in their fields. This convention can save comparison errors. The four character designations shown below in various configurations, between quotes, are all different as far as machine comparisons are concerned:
    '  AB', 'AB  ', 'A B ', ' a B', 'A  B'
    
    As a matter of fact, in the computer storage, a blank has a specific representation just as unique as that which represents 1, 2, A, or Z or any other character.

A number in front of an A, I, or F specification designates the number of identical fields specified.

The complete format statement is thus formed by a series of item specifications separated by commas. there is one other feature commonly used in the X-RAY system and that is the X, or column skipping function. In this case, the number of columns to be skipped is written before the X.

One must take care, also. not to confuse numeric zero and the letter O (0,0). On the printing keypunches they often appear to be the same but the hole configuration in the card is unique for each. on most printers the difference is subtle but one can usually learn to see it. Similarly 1 (one) and I must be distinguished.

There now exists several kinds of keypunch and at least two sets of widely used symbols (business and scientific). This may also lead to problems but usually only if data are punched in different computer laboratories. Remember that the hole configuration is the important consideration, not the symbol printed on the card or printer.

The following example should make clear the instructions given in part 2 of this write-up. Let us suppose that the system requires to read eight items, the first four alphabetic, the next three floating point, and the last an integer. The FORMAT might be

(A2,A4,1X,A2,A4,2X,3F10.5,I5)

The data to be supplied would be described as follows:

Cols  Specified punching or function of the field
1-5   GRUMP                    note that the identification is read as
                               two items. This is necessary to meet
                               the restrictions of computers which now
                               handle only four characters per word.
6     BLANK
8-13  COMPOUND IDENTIFICATION CODE
16-25 FIRST VARIABLE
26-35 SECOND VARIABLE
36-45 THIRD VARIABLE
46-50 INTEGER VARIABLE

and might be punched as follows (the first two rows, reading downwards, indicate the column numbering):

000000000111111111122222222223333333333444444444455555555556 etc
123456789012345678901234567890123456789012345678901234567890
GRUMP  NACL     3.2       7.9       0.2         24

Notice that columns which must be blank are specified as such, whereas those which are not read are not mentioned.

Although the above is a bare bones introduction to formatting, it is hopefully all that is needed for the crystallographer to prepare his data fcr use with the system.

The Storage and Retrieval of Crystallography Data - the Binary Data File

The system treats the individual crystallographer's data for a given crystal in an exceedingly stylized manner. It is essential, therefore, that he has in his mind a clear picture of the structure and method by which his data are being stored. This will enable him to take full advantage of the facilities provided both within the system and by his computer configuration.

In the first instance, all of the data concerning a given crystal will probably be entered into the system from cards. In order to minimise the number of input cards for each run, the system provides the ability to accumulate all pertinent data for a crystal structure within a binary data file. This file may be on any convenient mass storage device available on his computer whether it be drum, tape, disc, bulk core, or data cell, depending upon local custom, availability, and ease of access. One might picture the binary data file as being an orderly collection of microfile copies of the cards which have been input up to that point in the structure determination, arranged so as to be easily retrievable by any of the programs of the system.

In addition to describing which data cards are required, each program description in section 2A indicates which data files are utilized. In general, two files are required. One, symbolically referenced as =NFILEA=, is treated as the input file and serves as a source of all the data not otherwise provided. Most of the system programs rely on the. binary data file for information which has been supplied at a previous stage. Normally, as a system program proceeds, updated file information will be written onto an output binary data file, referred to (not surprisingly) as =NFILEB=.

Once a calculation has been completed and before reading a new program calling card, the system interchanges its own concept of =NFILEA= and =NFILEB=. The output file of any one program thus becomes the input file to the succeeding one, and vice versa. Furthermore, each time the file is updated, the name of the updating program is automatically added into the history record within the file.

On every computer, each mass storage device, irrespective of its physical type, must be referenced in some way by the user. In FORTRAN programs it has become traditional to make these references by a logical unit number, i.e. an integer which points to a given physical device. The actual assignment of numbers to devices is very much dependent upon local machine room custom and one can never be sure which (illogical) logical number designates which physical device. The card reader (which the programs refer to as =NTIN=) and the line printer (=NTOUT=) are also identified by the use of logical numbers.

The history of these logical numbers traces back to the IBM 704 on which there were 10 tape units which were referred to as 1 to 10 respectively.(an ingenious arrangement). When the 709 was introduced, it had channels, that is, two or more separate devices, each of which controlled up to 10 units. These became physical units A0 to A9, B0 to B9, and so on for as many as 8 channels. By this time it had become traditional to use unit number 5 as the input tape unit on the 704 and unit number 6 as the standard print tape unit in many laboratories. Thus on the 709, A2 became logical unit 5 and A3 logical unit 6, with the introduction of IBSYSS on the 7094, logical unit 6 became physical unit B1 at many places. It is now frequently found that the card reader images are still read from unit 5 and printer images sent to unit 6, even though they are intermediately stored on a disc or drum.

For mass storage devices, it is now common practice for the user to assign a logical number to a physical magnetic tape or to a symbolically named disc or drum area by means of the job control language. The operating system usually allocates whichever physical device is appropriate at the time of running the job.

Two distinct ways are provided by the X-RAY system for setting the correspondence between the logical numbers (identifying the device) and the symbolic names such as =NTOUT= or =NFILEA=. One method is within the nucleus programs and, when the system is compiled, the values of =NTIN= etc. should be set to the appropriate standard usage of the local machine. The second and more important way from the standpoint of the system user is by means of the =FILES= card. This is one of the operation cards which are described in section 2.GENERL. With a =FILES= card one is able to re-assign the logical unit number of any of the X-RAY system files. These files, named =NTIN=, =NTOUT=, =NFILEA=, =NFILEB=, =NFILEC=, ..., =NFILEJ=, have the following standard usage:

X-RAY      File Purpose
NTIN       Card input data
NTOUT      Line printer output
NFILEA     Crystallographic input binary data file
NFILEB     Updated crystallographic output binary data file
NFILEC     Punched card output
NFILED     Special output for printing
NFILEE     Scratch unit for various intermediate jobs
NFILEG     Scratch unit for various intermediate jobs
NFILEG     Scratch unit for various intermediate jobs
NFILEH     Scratch unit for various intermediate jobs
NFILEI     Scratch unit for various intermediate jobs
NFILEJ     Scratch unit fqr various intermediate jobs

Note that every program of the system:

If several system programs are to be used in sequence, the user may need to insert =FILES= cards in the data deck. Remember that =NFILEA= and =NFILEB= are interchanged automatically after each program has been completed. Thus these two files may require setting only occasionally. One must visualize, before the run, how the required files will be used. Let us examine, for example. the =FILES= card usage in the following run. After loading atomic parameters into the binary data file, we intend to do a cycle of least squares refinement, followed by a Fourier, and to finish with a bond lengths and angles determination. For simplicity. we will only consider the usage of =NFILEA= and =NFILEB=, which we will initialize with a =FILES= card to be logical units 8 and 9.

Title        Illustration of =FILES= Card Handling
FILES        8  9
LOADAT   .  .  .
         .  .  .
END      .  .  .
CRYLSQ   .  .  .
         .  .  .
END      .  .  .
FOURR    .  .  .
         .  .  .

END      .  .  .
FILES        8
BONDLA   .  .  .
         .  .  .
END

Of course, no details of the other cards are shown. The initial =FILES= card sets up the required starting values, so that =LOADAT= will read unit 8 and write 9. Because of the interchange of the values of =NFILEA= and =NFILEB= subsequent to the completion of =LOADAT=, =CRYLSQ= will read 9 and write 8. similarly, =FOURR= will read am input file on unit 8, but, as shown in part 2, it does not write an =NFILEB= and hence the interchanging of 8 and 9 before entering =BONDLA= would normally cause 9 to be read within =BONDLA= This however, does not contain the results of the =CRYLSQ= run and so a =FILES= card is inserted before the =BONDLA= calling card to force the value of =NFILEA= to be 8 at that time. More involved examples are given in Appendix 2 and they should be studied for their use of the =FILES= cards.

By saving and keeping track of the binary data file, one may greatly reduce the number of cards necessary to carry out the calculations. The form given below is recommended to your attention as a model for a personal record to keep as computing runs are made during the solution of a crystal structure.

                               RUN RECORD
                                                            INITIAL______________
                                                            SERIAL NO.___________
COMPOUND ID_____________________________    RUN SEQ NO.__________________________
DATE____________________________________    EXECUTION TIME_______________________
CHARGE NO  _____________________________    TYPE OF JOB__________________________
            FILE ASSIGNMENTS (WITH LAB REGISTRATION NUMBERS)
____________________________________________________________________________
|      |      |       |        |        |        |        |        |        |
| LINK | NTIN | NTOUT | NFILEA | NFILEB | NFILEC |        |        |        |
|      |      |       |        |        |        |        |        |        |
____________________________________________________________________________
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
____________________________________________________________________________
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
____________________________________________________________________________
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
____________________________________________________________________________
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
|      |      |       |        |        |        |        |        |        |
____________________________________________________________________________

A PRIORI REMARKS


B POSERIORI REMARKS



The X-RAY System Deck Structure

The course of the crystallographic calculations, which may involve any number of programs in the system, is controlled by the ordering of cards in the input data. The sequence of events as the calculation proceeds is as follows:

Upon initial entry into the system, or upon meeting a =RESTART= card, all file assignments will be set to their standard values, the page number for the printed output will be set to zero, and the title array which is printed at the top of each output page is set to blanks. A =TITLE= card should always be included at this point even if only to explain the reason for the run. A =FILES= card may be necessary as well if the standard assignments are not appropriate for the requirements of this run. After this comes the calling card for the first crystallographic program needed for the problem at hand. =REMARK= cards, if one wishes, may be inserted next, and finally the data cards demanded by the program being called. If the binary data file is being used as the source of data, an =END= card is often the only data card required. Otherwise, once the required data is assembled in order, an =END= card is always placed before any other calling or operation card. Often one will place a =REMARK= card before each successive call for another crystallographic computation. Each program reads and processes data cards until the =END= card is reached, whereupon it completes the calculation, writes summary data, and finishes updating the binary data file (if any). Control then passes back to the nucleus which interchanges =NFILEA= and =NFILEB= (logically) and then seeks another data card. Here one may insert some operation cards, if needed, and then comes another calling card for a new calculation with the same or any other system program the crystallographer may require.

If, for any reason, there is a failure because of the progress of the calculation (e.g. a singular matrix), every program tries to salvage the output binary data file (if any) and give a diagnostic of the cause of failure. When it is signaled that a serious calculation error has been detected, all of the subsequent data, and calling cards are skipped until either a =RESTART= or a =FINISH= card is encountered. Since very often the failure of one calculation precludes the need for a subsequent one, it is best to use =RESTART= cards discreetly, obviously there is no point in carrying out an FO Fourier if the preceding structure factor calculation fails.

In summary, because of this procedure, the calculations which run independently should be headed by a =RESTART= card but a dependent sequence of calculations should not be separated by such a card.

The end of all calculations is indicated by a =FINISH= card.

System Terminology

Since the initial implementation of the X-RAY system, a certain vocabulary has been developed within the program descriptions, card format definitions, and program output. The following glossary attempts to provide clarification of the terminology used and indicates some of the general principles used within the system.

Atom Identification

At =DATRDN= time, certain atom types are introduced into the binary data file by including scattering factor tables for the various atomic species present in the structure under study. Each atom type may be up to 4 characters in length but may not end with a digit, e.g., NA, OX, CU2+, H are acceptable but CU+2 is not acceptable.

The atom number serves to identify one particular atom amongst the several there may be of a given atom type.

A complete atom identification then consists of the two parts: atom type followed by atom number for that type, and in total it must not exceed 6 characters. Thus NA1, OX35, CU2 + 1, H41, are all acceptable atom identifications. Whatever numbers follow after the last alphabetic character are used as the atom number. Since the field is read under A4,A2 format, the identification and elimination of numbers in the A4 field permits the determination of scattering factor type (see program NUSS (NUC003) for details). The final A2 field may be any legal symbols. Thus, for scattering factor H:

H12345, H123C1, H123CC

are all right, but H123C45. etc. is not allowed, as with the compound identification code, the atom identification for a particular atom must always be punched consistently.

The ability to generate form factors by the expansion formula of Cromer and Mann (see 1.DATRDN) is included through the use of =FORMGN= cards. The coefficients for C, N, Q, P, S and CL are stored in a subroutine. For H, the form factors of Stewart et al are similarly available.

Atom Parameters

Atomic parameters can only be loaded (i.e. inserted) into the binary data file by the use of the =LOADAT= program.

During the structure factor programs, atoms may be selected from the binary data file in two ways. Firstly. by use of an =ATOM= card containing only the atom type within the appropriate field. One can select all atoms of that type from the file. Alternatively, by specifying the complete atom identification, a particular atom will be selected.

Compound Identification Code

The user must assign the compound under consideration a six character name comprising any legal card punching, including blanks. This serves two functions. Firstly it ensures that the input binary data file is in fact the correct one. Secondly, it permits the ready identification of card data decks.

Once a, compound identification code has been assigned, it is extremely important to punch it consistently thereafter, especially with respect to embedded blanks. Choose carefully. and remember your choice.

Electron Density Scale Factor

The electron density scale Factor is used in the Fourier program to place the number in the output map within a convenient range. =FOURR= calculates actual electrons/cubic angstrom (or appropriately for Pattersons and E maps) which have a considerable range of magnitude depending upon the atomic species present. The printing of the map is done in either I4 or I2 format, and in order to constrain the numbers to be in the selected range. this scale factor may be useful. for further details see 1.FOURR.

EPSILON

EPSILON, a small, symmetry related integer described in Vol. II of the International Tables pp, 355-6 and called alpha there by Luzzati is required for the calculation of E values (quasi-normalized structure factors). The calculation of these factors is also described in Crystallographic Computing (1969) p. 19 by I. Karle. In data reduction this factor is calculated for each reflection and stored in the binary data file for use by other programs in the system. The value of EPSILON is calculated by a simple enumeration procedure. It is the count of the number of times a reflection identically is generated under the symmetry operations of the space group under consideration, that is to say, for H(NEW) = HR(J) where H is the vector (H,K,L) and R(J) is the Jth rotation matrix supplied to data reduction.

F CALCULATED, F OBSERVED, F RELATIVE, and INTENSITY

All structure factor information obtained by experimental observation is entered into the binary data file through =DATRDN=. This may be in terms of intensities, as measured from films or diffractometer, or alternatively as values of F squared or F obtained by some other previous data treatment. These data must consist of a unique asymmetric set of reflections as described in Treatment of Symmetry (see below).

If the quantities supplied to =DATRDN= are indicated to be intensities, the various systematic corrections are applied and the square root of the value obtained is defined to be F RELATIVE.

When F squared is supplied, its square root is defined to be F RELATIVE.

F OBSERVED is always the product of F RELATIVE and its corresponding scale factor (see Scale Factors). Certain programs produce listings involving values of both F OBSERVED and intensities. The latter will only be meaningful if intensities were supplied to =DATRDN=.

F values which are determined by the programs from atomic coordinates are referred to as H calculated and will agree with those obtained from formulae given in international tables, vol. I.

Grid

Grid is used to define the number of subdivisions along a given axial direction. The required values may be supplied by the use of a =GRID= card, but in the absence of a user specified grid, values are calculated by =DATRDN= which will produce one inch per angstrom Fourier sections, spaced 0.3 angstroms between each section.

JCODE

This was originally a variable name defined in 1960 (by one D. HIGH) to be used to designate the kind of reflection being processed. It is still used in that way but has crept into our vocabulary of jargon as synonymous with reflection type.

JCODE   Reflection Type
1       Observed
2       LESS-THAN
3       To be calculated and displayed but not used. 
        Historically, one suffering from primary or secondary 
        extinction.
4       Condemned by the user as invalid, never to be used or displayed.
5       Systematically absent.

LESS-THANs

This term is introduced to designate reflections of very low intensity. That is, those reflections which are also referred to in crystallographic literature as being unobserved or zero. Note that in none of these instances is the term applied to space group dependent systematic absences.

As the name LESS-THAN implies, it is used specifically to set a threshold of observability which is defined differently for film data and for diffractometer data.

In the case of film data, there will he found a scaled, averaged intensity for some reflection which represents the lowest observed intensity value. All reflections with intensity below this value will be unobservable. However, their actual value must surely be less than the lowest observable value, and, by assigning them the lowest intensity together with a LESS-THAN identification (JCODE=2), they may be utilized in refinement procedures.

For diffractometer data, the threshold of observability can be established on the basis of the counting statistics for each measurement of intensity. When the estimated standard deviation of the intensity is such that it is of the same order of magnitude as the intensity itself, a reflection may be considered to be a LESS-THAN. Provision is made in the appropriate programs for supplying the definition of the number of standard deviations of intensity which define the threshold of observability, i.e. one can specify the threshold to be at zero sigma, one sigma, two sigma, etc.

In practice, the use of zero sigma data appears to be best in situations where E values (quasi-normalized structure factors) are being calculated. Such as in =NORMSF= and =DATFIX=. On the other hand, three sigma data appears to be more appropriate for least squares refinement based on F or F squared. The latter programs (e.g. =CRYLSQ=) therefore, permit, under user control, this reclassification of LESS-THANs by specification of the value of sigma required.

An objective of a structure refinement will be that every calculated structure factor will agree with the observed value and that every LESS-THAN will calculate below the specified threshold.

MAXHKL

The true valued of the magnitude of maximum Miller indices H, K, and L are very important within the X-RAY system and should be supplied at =DATRDN= time. They are used to determine table sizes in most of the large scale calculations and therefore if supplied as large values will cause large core requirements. =DATRDN= can estimate their values from the maximum value of THETA but this often gives an undesirable result, especially with high symmetry space groups. Reflections outside the =MAXHKL= limits will be rejected at =DATRDN= time.

New =MAXHKL= values can be supplied at other times to =LOADAT=. These values will be inserted into the binary data file (although no reflections will be removed from the file) and will therefore restrict all subsequent calculations. =MAXHKL= limits supplied to any other program will not be written in the file and therefore only have a local effect. SIN(THETA)/LAMBDA limits may also he included in the =MAXHKL= card and the more stringent limits will apply.

Multiplicity

The term multiplicity refers to two distinct quantities, although both have to do with points which are equivalent by symmetry.

The first usage, reflection multiplicity, is a ratio expressing the number of general reflections equivalent to a given reflection. Consider the reflection with Miller indices 1, 2, 3 in the space group P2/M. This has a multiplicity of 2 because it is symmetrically equivalent to the 1, -2, 3 reflection. (note that any centering is treated specially, so that the presence of the -1, -2, -3 and -1, 2, -3 are otherwise automatically implied, see Treatment of Symmetry.) On the other hand, the 2, 0, 0 has a multiplicity of only 1 because 2, 0, 0 and 2, -0, 0 are identical. These reflection multiplicities are used for correct weighting of reflections within =FOURR= which only treats one hemisphere of information.

The term is also used in atom multiplicity which is effectively a weight to be applied to points in direct space. It is derived in =LOADAT= by generation of all the symmetrically equivalent atoms from a given atom of the asymmetric set. When an atom is so treated, some (or all) of the generated atoms may coincide with the original position. If this occurs that atom is said to be in a special position having a multiplicity equal to the reciprocal of the total number of equivalent atoms. Using the P2/M example above, an atom at 0.5, 0, 0.5 will have another symmetrically related atom at -0.5, 0, -0.5. These are identical points in the unit cell and so the atom multiplicity is 1/2.

Additional information is derived within =LOADAT= giving the restrictions placed upon the atomic parameters by the nature of the special position. This is useful in subsequent refinement procedures.

Partial Contribution

The limit to the number of unique atoms which may be used for calculation depends upon the temperature factor mode and core size of the machine used. However, this limitation can at readily overcome by the use of the partial contribution technique provided in the structure factor programs of the system (e.p. =FC=, =CRYLSQ=). For each reflection in the binary data file, space is reserved for the values A and B (i.e. the real and imaginary parts of the structure factor), and PARTA and PARTB (i.e. partial contributions to A and B).

Data reduction initializes all four to zero and any structure factor calculation on a set of atoms will cause entries to be made in its output binary data file for A and B. If this file is subsequently used as the input file fur another structure factor calculation, these values of A and B may be established and applied as partial contributions to the calculation and they will be used instead of zeros to start the structure factor summations. Moreover, they will be entered as values for PARTA and PARTB in the new output file. A and B will, of course, be updated as the result of the most recent calculation, but will now contain both the effect of the partial atoms from the first run and of the additional atoms entered during the second calculation.

Two options art available when subsequent structure factor programs use this new file as input. One can again establish and apply the A and B as being partial contributions and so cumulate the effect of more and more groups of atoms into the structure. Alternatively one may simply apply the existing partial contributions to perhaps a modified set of additional atoms.

It is thus possible to carry out large block refinements of various parts of a molecule to achieve overall refinement of the complete structure.

Population Parameter

Population parameter is a term used to express fractional occupancy of an atom site. It is treated independently of atom multiplicity (see above) in =CRYLSQ=.

Scale Factors

These quantitits are used throughout the system to place the values of F RELATIVE on the same scale as F CALCULATED, as defined in International Tables, Vol. I. that is, the scale factor is used to convert the value of F RELATIVE into F OBSERVED.

Scale factors are initially determined by the use of =NORMSF= which uses the scattering factor and cell content information to statistically establish reasonable values. In practice, these values have proved to be within 10 percent of the final scale factors for diffractometer data. In the case of film data, there may be a number of scale factors for a given compound corresponding to different groups of data such as, in the Weissemberg case, the various levels collected.

These scale factors (whether a single one for all the data or several for various groups of data) will probably eventually be refined by the least squares programs. During the process of refinement, the quantity used in the calculations is the reciprocal of the F RELATIVE scale factor although all input and internal storage is in terms of the actual F RELATIVE scale factor.

In addition to the changes in value calculated for the scale factors by the least squared programs (which are output on the binary data file as scale factors), certain other programs (e.g. =FC=, =RLIST=) calculate the quantity .

(Summations calculated) / (Summations relative)

Which provides an indication of a =RESCALE= factor. In practice, this rescale factor rarely needs to be used if the initial estimate of the scale factor is reasonable.

Normally, scale-factors will be taken from the values stored in the binary data file. However, these values may be superseded by values input on =SCALE= cards. All programs except =FC= which both calculate (or refine) scale factors and write an output binary file will update the output binary data file with the new values.

The practice of adjusting scale factors during the course of refinement at a stage when not all of the atoms of an asymmetric set are yet included can lead to certain problems. For example, a difference map made to locate hydrogens but using the best least squares scale factors obtained for non-hydrogen atoms will not show the hydrogen peaks at their true magnitude (in fact they will be artificially lowered.

The scale factors which are input at =DATRDN= time are treated in a special way. They are used to scale the input quantity, intensity, F squared, or F RELATIVE, for various groups of data before those entries are made in the output binary data file. All scale factors in the output file are set to 1.0 at =DATRDN= time.

There are two other types of scale factor which are not entirely independent of the scale factor as defined above. One type is used in the initial stages of producing a set of merged, scaled, and averaged data from a diffractometer or from a series of film packs. This is the scale factor used in data correlation programs. The other type is the electron density scale factor (see above) referred to in =FOURR=.

Structure Invariants

There are two terms which must be clearly distinguished in speaking of structure invariants. These terms are applied to:

  1. Individual reflection phases which are invariant for the structure at hand
  2. Combinations of deflection phases which are invariant for any structure.

The first group are called structure seminvariant phases and the second are called structure invariant phase relationships. Very often the first will be called simply structure seminvariants and the second, structure invariants. This distinction has been a source of some confusion when one is applying direct methods.

Structure Seminvariant Phases

The structure seminvariant phases arise from the fact that certain reflection vectors (HN,KN,LN) within a given space group are invariant with respect to any defined origin for the unit cell. The phase, PHI, of a given reflection derives from a dot product:

                                 ___
                                | x |
PHI(HN,KN,LN) = 2*PI*(HN,KN,LN) | Y |
                                | Z |
                                 ___

where the vector XYZ is some point in the unit cell referring to an arbitrary origin.

FC =
SUMMATION (J=1 TO N) EXP(2*PI*I(H*XJ))
SUMMATION (J=1 TO N) EXP(2*PI*I(H*(XJ+X0)))
SUMMATION (J=1 TO NS) OF THE SUMMATION (J=1 TO NA) EXP2*PI*I*H*RJJ*(XJ + X0)
                                                   EXP(I*PI*I*H*RJJ*XJ)
                                                   EXP(I*PI*I*H*RJJ*X0)
SUMMATION (J=1 TO NS) FXP(2*PI*I(H*RJJ*X0))SUMMATION(J=1 TO NA)EXP(2*PI*I(H*RJJ*XJ))

In special cases of high probability (all high E values).

Structure Invariant Phase Relationships

There is the possibility that phases of certain reflections combine in such a way that an invariant quantity results. there is the trivial example in which:

      H1 = 0
      K1 = 0
      L1 = 0

i.e., the null vector F(0,0,0>, which is dependent exclusively on the structure (content) of the unit cell.

Also we have the case when:

      H1 + H2 = 0
      K1 + K2 = 0
      L1 + L2 = 0

which is Friedel's law. This states that PHI(H1,K1,L1) = -PHI(H2,K2,L2) which is also independent of the cell specifications. This relationship is used throughout the phase determining process.

The next possible structure invariant phase relationship is that for which:

      H1 + H2 + H3 = 0
      K1 + K2 + K3 = 0
      L1 + L2 + L3 = 0

which is the basis of the SIGMA-TWO relationship. Vectors which meet this criterion give rise to structure invariants of the form:

      COS(PHI(H1,K1,L1) + PHI(H2,K2,L2) + PHI(H3,K3,L3)) = G

This particular structure invariant has proven most effective in solving structures. the value of the average, G, may be obtained in two ways. One way is to assume that it is +1.0 which holds for PHI values of reflections (HN,KN,LN) where E(N) is large. The other way is to actually calculate an estimate of each G based on averages over all vectors (HN,KN,LN) for the E(N).

In a similar way, the fourth order relationship:

      H1 + H2 + H3 + H4 = 0
      K1 + K2 + K3 + K4 = 0
      L1 + L2 + L3 + L4 = 0

may be used.

Symbolic Phase

At the beginning of the process of generating phases for an unknown crystal, all reflections above a certain threshold of E (the normalized structure factor) are serially assigned a symbolic phase. These symbolic phases are denoted by a symbol number in decreasing order of E value. That is, the maximum value of F is given the symbol 1, the next largest 2, and so on. In this way, the symbol number not only serves to identify the given reflection, but also to stand for the value of the unknown phase. Any other symbolic designation (for example letters) could have been chosen but the advantage of using sequential integers is that each may serve as a subscript to point to a given symbolic phase and, in order to save storage and computing time, the symbol number becomes, in use, the symbolic phase.

Consequently, in the course of the determination of a set of phases each symbolic phase will at the end of the process fall into one of the following categories:

1. Defined
A phase which has been assigned a numeric value from cell specification, other statistical relationships, or possible phase permutations
2. Undetermined
A phase which is still unknown
3. Determined
Derives a numeric value through SIGMA-TWO relationships
4. Dependent
A phase which may be expressed in terms of defined, determined, and undetermined symbols
5. Missing
A phase which has no SIGMA-TWO interactions within the set of reflections under consideration

The Treatment of Symmetry

The crystallographic programs of the X-RAY system are designed to operate for any space group in any setting. The design of the programs is such that the data reduction program reads the symmetry specified by the crystallographer and recasts it into suitable forms for use by the various programs of the system. Several arbitrary rules must be observed in order to produce computationally correct results with respect to symmetry.

  1. A unique asymmetric set of reflections must be supplied. if one has space group P4, for example, then any one reflection from the set HKL, HK-L, -H-KL,-H-K-L, -KHL, K-HL, K-H-L, or -KH-L must be supplied. No more than one should be supplied. A similar consideration applies to the nonequivalent set related to -HKL.
  2. A separate statement (on the =LATICE= card) indicates the Bravais lattice type and whether the cell is centric or acentric.
  3. All tht rest of the symmetry is specified by means of a statement of the symmetry operations in terms of general equivalent positions.

Take as an example, C 2/C, which has the full set of equivalent positions

      X, Y, Z
      X + 1/2, Y + 1/2, Z
      X, -Y, Z + 1/2
      X + 1/2, -Y + 1/2, Z + 1/2
      -X, Y, -Z + 1/2
      -X + 1/2,Y + 1/2, -Z + 1/2
      -X, -Y, -Z
      -X + 1/2, -Y + 1/2, -Z

In the X-RAY system this example must be encoded by the following input.

      LATICE      C  C
      SYMTRY       X, Y, Z
      SYMTRY       X, -Y, Z + 1/2

Note that the second =SYMTRY= card could just as well have been -X, Y, -Z + 1/2 (because is is implied by the center). The identity (X, Y, Z) is always expected and must be given. In the system, the symmetry data supplied is transformed into two forms. One is a set of rotation matrices and translation vectors used by all programs which must generate equivalent positions in direct space or equivalent reflections in reciprocal space. The other is a set of integer directors associated with each reflection in the binary data file. These integers make possible the generation of all the equivalent reciprocal space points and structure factors (phases included). Thus one may say that all the various programs are coded as if the structures were triclinic and the symmetry is imposed by machine directing codes established by the data reduction program. This, then, is the raison d'etre for the existence of the binary data file as formed by data reduction. The crystallographer works only with an asymmetric set of atoms and reflections.

Temperature Factors

Where appropriate, every program is designed to permit the use of overall isotropic, individual isotropic, individual anisotropic, or a mixture of all three types of temperature factor. If necessary, the program will perform the appropriate interconversion (except, currently, =FC=).

A number of different conventions have been followed in the crystallographic literature for the definition of temperature factors. Within the X-RAY system, use is made of the Debye-Waller B factor for the isotropic mode, as used in the expression

      EXP -(B*S**2)
where
      S= SIN(THETA)/LAMBDA

The corresponding anisotropic expression is

      EXP -(H**2*BETA(1,1)+...+2*H*K*BETA(1,2)+...)

However, with the aim of eventual consistency, it is proposed that the system will for all output adopt the Cruickshank U notation. having the relationships

            B = 8*(PI**2)*U
    BETA(I,J) = 2*(PI**2)*U(I,J)*(ASTAR(I)*ASTAR(J))
       B(I,J) = 8*(PI**2)*U(I,J)

(where ASTAR is a reciprocal axis length). This choice is made as a result of the article by D.W.J. Cruickshank in Acta Cryst., 1956, 9, p.747.

Currently, at =LOADAT= time (which is the only place where temperature factors are entered into the system) the values are output in all three conventions together with the U values of the ellipsoid and the angles made by the axes with the cell edges.

When inputting temperature factor information, any of =B=, =BETA=, =BIJ=, =U=, or =UIJ= are acceptable. The only commonly used form which is not allowed is that in which the factor 2 in the cross terms has been absorbed into. those terms in the temperature factor.

Weighting

The process of refinement of a crystal structure utilizing a nonlinear least squares procedure requires some attention to be given to the weight assigned to each experimental observation. In the system, the quantity stored in the binary data file is the square root of the reflection weight. (This convention has arisen because it saves many thousands of multiplication operations during the building of the matrix and vector of the normal equations.) The practice follows that established in =ORXLS= and is common to many crystallographic least squares programs.

The derivation of the values of the weights is a matter of considerable controversy in the crystallographic literature. For this reason, a number of methods of dealing with the problem of establishing values suitable to the given problem ake provided. =DATRDN= allows the binary data file value, or its reciprocal, to be input directly on =HKL= cards. Alternatively, one may specify coefficients for the calculation of this value using an equation described in 1.DATRDN. Finally, =WTANAL= and =WTLSSQ= may be used to derive a suitable set of weights.

ABSORB: Diffractometer absorption correction

This program is a modification of a four-circle diffractometer code written by P. Coppens of SUNY Buffalo. The absorption routines were obtained from R. F. Stewart, Carnegie-Mellon University, who had incorporated them into a data reduction package. H.L. Ammon modified the program for the X-RAY system including a complete rewrite of the input sections for crystal orientation and crystal face specification. The fourth diffractometer angle (OMEGA = THETA) is not allowed to vary independently in this version (i.e., OMEGA is assumed to be FQUAL to 0.5*TWO-THETA).

Evaluation of the absorption integral =A= is done by numerical summation over a three-dimensional grid of points within the crystal volume. The Gaussian quadrature method is used which assigns to each point a weight proportional to the crystal volume element represented by the point.

    (       1       )     INTEGRAL      (                      )
A = ----------------- *     OVER        (EXP**(-MU*T) DELTA V  )
    (CRYSTAL VOLUME)    CRYSTAL VOLUME  (                      )

The absorption correction term is output as =A*= where

      A* = 1/A
      I (CORRECTED) = (A*) * I (MEASURED)

Additional information on the method of calculation, examples of its accuracy, etc. may be found in Coppens.

The diffractometer geometry specified in the program is used on the picker FACS-I. Many other systems have identical or equivalent geometries. The General-Electric XRU-6, for example, is just the FACS-I turned upside-down. With all diffractometer angles set to 0.0, a set of diffractometer axes is defined such that +X points toward the X-Ray source (-X into the detector), Y is both in the horizontal diffractometer plane and the plane of the CHI circle, Z is normal to X and Y to yield a right-handed system. The + direction of Y is defined such that when a reflection is being measured at some + TWO-THETA, the incident beam occupies the +X,+Y quadrant, the diffracted vector moves through the -X,+Y quadrant and the reciprocal lattice vector is coincident with +Y. The +Y axis forms the reference point for PHI = 0 degrees and the + direction of rotation is assumed to go from +Y to -X. At CHI = 90 degrees, the goniometer head to crystal vector parallels +Y and at CHI = 0 degrees it parallels -Z.

                       *******
                       *GUNIO*             CHI = 90 DEGREES
                       *HEAD *             TWO-THETA = CA, 45 DEGREES
                       *******
                          |
                          |
                          |
                          |
(+X)-------------------* *** *--------------------(-X)
                     *   ***   *
                   *      |      *
                 *        |        *
               *          |          *
             *            |            *
           *              |              *
         *                |                *
       *                  |                  *
     X-RAY               (+Y)             DETECTOR
     SOURCE

Primary and secondary orienting reflections (right-handed system assumed) are used to specify the crystal orientation (Busing) on the =ORREF= card. Crystal face data may be specified in two ways:

(1) =FACEPT= Cards:

Each face is defined by the coordinates of 3 points on the face in an arbitrary Cartesian system (it must he right-handed, orthogonal and normalized). The unit length in this system can be either 1.0 cm or (1/S) cm where S is a scale factor punched in cols. 62-71 of the =ABSORB= card). If this option is used, the faces indicated on the first and second =FACEPT= cards MUST correspond to the primary and secondary reflection H,K,L's on the =ORREF= card. These first two faces need not be real crystal faces, but may be fake faces used only for crystal orientation purposes (see cols. 7-8 of =FACEPT= card).

(2) =FACE= cards

Each crystal face is specified by the CHI and PHI angles required to place it in the diffracting position, plus the distance from the crystal face to an arbitrary origin inside the specimen. This kind of measurement can be readily done on the FACS-I because the viewing telescope is mounted in the X,Z plane. The faces need have no relationship to the two orienting reflections on the =ORREF= card.

=FACE= and =FACEPT= cards cannot be used together.

In the present version. reflection input can be achieved only using =HKL= cards or a file containing card images. The format of the output =HKL= card is exactly the same as that input except for the value of =A*= in cols 63-69. Card image file input is achieved by the use of a =FILES= card after the last =FACE= or =FACEPT= card. The =FILES= card must have the card image file logical unit number in cols. 8-9 (usually contains NTIN).

The last record on the card image output file says =FILES= with the usual value of NTIN replaced in cols. 8-9.

*SORRY*, but the program will not accept an existing X-RAY system binary data file as input. This feature will be added at some later time.

The manner in which this program interfaces with =DATCO5= and =DATRDN= is illustrated below:

(A) DATCO5 - process diffractometer intensity data.
Write =HKL= card images on file X.

(B) ABSORB - absorption correction. Read =HKL= card images from file X (a =FILES= card must be used to temporarily designate file X as the input card stream, i.e. NTIN = FILE X).
Write =HKL= card images containing =A*= on file Y.

(C) DATRDN - reduce data.
Read =HKL= card images from file Y (a =FILES= card must be used to temporarily designate file Y as the input card stream, i.e. NTIN = FILE Y).
Write new binary data file.

APHASE: Search of SIGMA-TWO relationships for a set of possible phases

Structure Invariant Search and Cosine Calculation

This link in the X-RAY system was coded by S. Hall, G. Kruger, and J. Stewart. Its purpose is to carry out the first expansion of phases from the origin and enantiomorph phases which have been chosen as described in 1.TANGEN and 1.SINGEN. In addition this program will carry out estimation of cosines of structure invariants by means of the method proposed by Hauptman.

It cannot be overemphasized that this is purely an experimental link currently under investigation. It sometimes gets the answer directly from the O.D.R.. and E.O.R. by forwarding a correct inner set of phases to =TANGEN= but also at this writing (Oct. 1971) it may forward to =TANGEN= an obfuscating inner set. It depends upon how =EASY= the solution is. The best plan seems to be to take the origin and enantiomorph phases chosen as described in 1.TANGEN and run =TANGEN= first. If that attempt fails then make a preliminary run with =APHASE= to see if there are any numeric values of phases which may be obtained by means of fourth order relationships. If there are , use the O.D.R., E.D.R. and only this additional phase directly into =TANGEN=. If that fails consider the ambiguities determined by =APHASE= and pursue the multiple solutions which they imply. If there are many implied branches reconsider the choice of O.D.R. anu E.D.R. reflections.

The =APHASE= link proceeds in a number of steps.

1. Sorting of the output of the =SINGEN= relationships in decreasing order of A (probability- a useful list for hand operations)

2. Optionally calculating the estimated value of the cosine for each of the relationships selected.

3. Merging of the sorted relationships into third order and fourth order types in decreasing A. The fourth order relationships are found by the elimination of a common PHI between two third order relationships.

4. Simplification of the unknown PHI values in terms of known phases or higher E valued unknown PHI values.

5. Transfer of all known PHI values to an output binary data file for use by =TANGEN=

***CAVEAT APHASOR***

Steps 1, 3, and 5 are self explanatory.

Step 2

Step 4 is a method for establishing the fewest possible unknown phases within a given subset of the highest E value reflections. the output of the =SINGEN= link and the sort-merge process in =APHASE= is a series of equations of the type PHI(I) +OR- PHI(J) +OR- PHI(K) +OR- PHI(L) +OR- PHI(SHIFT)=PSI where I, J, K, and L, refer to phase mumbers and the + or - signs and shift refer to symmetry considerations as given in 1.SINGEN. During this process the value of PSI is assumed to be zero since only the highest A value relationships are utilized. If the averaging process was carried out any relationships with a calculated PSI much different from zero are eliminated. The sort merge process has left the relationships sorted so that the most probable one comes first, then the next and so on.

Initially, a matrix large enough to accommodate the highest phase number to be sought is set up. Then the values of any known or defined phases are placed in this matrix. Each relationship is read in turn and any known phases already posted in the matrix are substituted into the relationship. This process eliminates the already known PHI values from the relationship and reduces it to be in terms of the smallest phase numbers possible. Once the relationship is simplified it in turn is posted to the matrix such that the highest remaining unknown phase is simplified and can then be used to simplify others.

Because of the nature of this process a number of results may arise as each relationship is being processed

1. The relationship reduces to N=N where N is some numeric phase value. In this case the relationship is redundant and reconfirms previous substitutions and simplifications.

2. The relationship reduces to N=M where N and M are significantly different phase values from one another. This implies that there is a discrepancy between the current relationship being treated and some previous substitutions and simplifications.

3. The relationship caused the reduction to PHI(L)=FUN( PHI(I1), PHI(I2),... PHI(IN)) that is to say PHI(L) is expressed in terms of other PHI values. Phase numbers I2 to IN are all less than 1.

4. The relationship causes the reduction to PHI(L)= N/Q where N is a phase angle and Q is an integer, both the angle and the integer being the result of all previous substitutions and simplifications. This may also be expressed as M*(PHI(UNKNOWN)) = PHI(KNOWN) +PHI(KNOWN2). That is to say N is the result of adding with the correct sign various values of known PHI and PHI(SHIFT) and Q is an integer which arises due to the possible recombination of a given PHI with itself. There is an ambiguity when the value of Q is different than 1. This is because of the fact that PSI is considered to be zero but could just as well be 360, 720, etc. So that division by 1 is no problem but division by 2 implies 0 or 180, by 3 0, 120, or 240 and so on.

Thus under this condition the result is an ambiguity and the solution process is halted. Then the first encountered value is placed in list of known PHI values and the solution process is restarted. It is important to recognize that there is no assurance that one of the other possible values is not the true value.

5. The relationship causes a phase to be reduced to PHI(L)= N/L which is accepted as the solved value for PHI(L). This new PHI(L) may then be used to simplify all PHI values which are at that point known to be dependent on PHI(L).

6. When all relationships have been treated a summary is printed showing all the phases sought in terms of the lowest unknowns or as determined during the simplification procedure.

BONDAT: Generation of bonded atom positions

Generation of Bonded Atoms

This program was written by G.J. Kruger and J.M. Stewart. It is designed to provide a means to generate the coordinates of some atoms from others. For example given the coordinates of two atoms, it will generate a third atom between the two given atoms and 1.02 angstroms from the second given atom. As presently set up, it provides for the possibility of eight different common configurations. Let P1, P2, P3 be used to designate input atomic parameters and P4, P5, P6, P7 for the output parameters. The program, given a specific distance D, and in case 8 the angles ALPHA(1) and ALPHA(2), then generates as follows:

Code Name Case Given Input Parameters Output Parameters Produced
LINEAR (1) LINEAR P1, P2 P4 at distance D from P2 toward P1
TRIGON (2) TRIGONAL Connected P1-P2-P3 with angle of about 120 degrees P4 at distance D from P2 with angles P1-P2-P4 and P4-P2-P3 at about 120 degrees
TETCHN (3) TETRAHEDRAL CHAIN Connected P1-P2-P3 with angle of about 109 degrees P4 and P5 at distance D from P2 with angles P4-P2-P5, P1-P2-P4,P1-P2-P5, P3-P2-P4, and P3-P2-P5 all near 109 degrees
TETERM (4) TETRAHEDRAL TERMINAL Connected P1-P2-P3 with angle of about 109 degrees P6 connected to P3 at distance D in the same sense as vector P1-P2. P4 and P5 are generated by treating P2-P3-P6 as input to tetrahedral chain case.
SQRPLN (5) SQUARE PLANAR Connected P1-P2-P3 with angle near 90 degrees P4 and P5 at distance D from P2 with angles P1-P2-P4, P4-P2-P5, and P3-P2-P5 near 90 degrees
OCTHED (6) OCTAHEDRAL Connected P1-P2-P3 with angle near 90 degrees P4 and P5 as in square planar case, P6 and P7 at distance D above and below P2 perpendicular to the plane of P1-P2-P3
HEXGNL (7) HEXAGONAL Connected P1-P2-P3 with angle near 120 degrees P4-P5-P6 with angle near 120 degrees and lying in plane of P1-P2-P3 with P1-P6 and P3-P4 at distance D from one another. The points P1, P2, P3, P4, P5, P6 form a planar six membered ring with internal angles of about 120 degrees
GENRAL (8) GENERAL Connected with angle P1-P2-P3 not near 0 or 180 degrees P4 with angle ALPHA(1) in the plane of P1-P2-P3 and ALPHA(2) above that plane. ALPHA(1) is the projected angle P4-P2-P3. ALPHA(2) is the elevation angle of the P2-P4 vector above the P1-P2-P3 plane (both must be less than 180 degrees)

Each input point is designated in a =CALCAT= card by an atom name either from =ATOM= cards or from the binary data file. The name of each output point must be supplied in the =CALCAT= card. Once each =CALCAT= card is used, the name of the generated atom is stored in the atom array. Moreover, the array is searched and any atoms already present are regenerated.

BONDLA: Determination of contact and bond distances and angles with estimated errors

Bond Length and Angle and Contact Distance Program

The =BONDLA= program of the X-RAY system is a rewritten version of the =BONDLA= of X-RAY 63. It has been written by F.A. Kundell in collaboration with J.M. Stewart and R.V. Chastain. Modifications to accommodate =ATRAD= cards have been made by P.G. Lenhert.

The objectives of the code are to produce two categories of distances and one of angles, to find all distances including those of atoms related by symmetry, and to estimate the errors in the calculated quantities based upon the diagonal elements from the least squares refinement.

Two kinds of distances are defined: bond distances and contact distances in terms of three lengths. These three lengths are minimum distance to define a bond, maximum distance to define a bond (which is the minimum distance to define a contact), and maximum distance to define a contact, taking each atom of the asymmetric set in turn, all of the interior angles of the bonded atoms of the asymmetric set are calculated. The asymmetric set is that set of atoms which define the structure and are required by the structure factor programs (e.g. =FC=, =ORFLS=).

The program is restrictive with respect to the maximum distances which may be calculated. If no specification is supplied, the three values will be set to 0.03, 1.80, and 2.50 angstroms respectively. In no case should the difference in maximum and minimum bond distance be set too large since this will result in a high number of possible bond angles being produced. By setting the minimum equal to a number greater than zero assures the proper detection of atoms in special positions. All of these restrictions may be overridden by the user as he sees fit.

In addition, through the use of =ATRAD= cards, one may specify radii for the various atomic species in each of the 3 categories described above. Thus, if one has copper and hydrogen in the same compound only the significant contact and bond lengths will he listed.

The calculation proceeds by a series of symmetry operations on the asymmetric set of atoms. All contact distance calculations are from atoms of the asymmetric set to symmetrically related sets (including the identity). During the course of this calculation any generated atom which has a bond distance to a member of the asymmetric set is saved (excluding those generated by the identity). Distances are printed out symmetry operation by symmetry operation. Each atom of the asymmetric unit is acted upon for each of the following operations in turn.

  1. Basic symmetry operations of the space group
  2. Center of symmetry (if it exists)
  3. Bravais lattice translations
  4. 125 Surrounding unit cell translations.

Thus for a space group such as C 2/C, 1000 generations will be carried out. The print out, however, will only be for those operations for which contact distances are actually found. For speed, an asymmetric unit centroid is estimated and used to eliminate those symmetry operations which have no chance of producing contact distances to the asymmetric unit supplied. It is important to note that if the asymmetric set of atoms supplied is not near the origin (i.e. mostly in the modulo one unit cell), the best results may not be obtained. There is a warning message.

Whenever a bond distant is determined to exist, the coordinates of the generated atom are saved and an index of the symmetry operation which produced it is appended to the asymmetric unit atom name. (This is printed as zero for atoms of the asymmetric unit itself.)

Finally. an atom by atom print out is generated giving all of the bond distances and included angles to the other atoms in the structure to which they are bonded.

The coordinates and the standard deviation of the coordinates of the extended bonded set may be output on punched cards if required.

In addition to the automatic features of the program, one may use cards to request the distance between any two named atoms of the asymmetric set. The angle between any three, or the angle between the two lines formed by any four atoms, which, in pairs, define the lines.

The basic orientation of the program is to finding nearest neighbors. However, by judicious use of the maximum and minimum bond distance specifications, one may investigate any region of next or next to next nearest neighbors.

The program will run from the binary data file or from the card input stream as desired.

CRYLSQ: General crystallographic least squares program

Crystalographjc Least Squares

=CRYLSQ= was written by Frederick A. Kundell at Aarhus University, Aarhus, Denmark. The work was supported by the Danish IBM Forsknings Fond. Debugging was accomplished at the Abteilung Fur Rontgenstrukturforshung Am, Max-Planck-Institut Fur Eiweiss Und Lederforschung, Munich, Germany and at the University of Maryland, College Park, Maryland.

The suggestions, material, and programs supplied by D. W. J. Cruickshank, W.R. Busing. Walter Hamilton, Allen and Rita Hazel, Johann Gassmann, Allen Larson, Stuart Pawley, S. E. Rasmussen, and James M. Stewart were greatly appreciated.

The Normal Equation

Assuming the validity of the nonlinear least squares procedure, crystallographic refinement cam be obtained by minimizing the sum of the weighted squares of the residual, R, where the residual is a function of the observed and calculated intensities. Generally this refinement is based on F, F**2, or I.

R(F) = SUM(W(/FO/-/FC/)**2                   (1)
R(F**2) = SUM(W(/FO/**2-/FC/**2)**2          (2)
R(I) = SUM(W(/IO/-/IC/)**2                   (3)

Since crystallographic refinement is most commonly based on F, equation (1) will be used for the derivation of the normal equations. The derivations based on equations (2) and (3) are analogous.

Let FC(P1,P2,..,PN)) represent the model to which we are going to compare our experimental observations, in this case /FO/. The PI are the parameters whose values are to be determined. For R(F) to be a minimum, we must have

(DR(F))/DP(J)) = 2*SUMJ(W(/FO/-/FC/)*((D/FC/)/(DP(J))) = 0    (4)

However, since /FC/ is not a linear function, the linear least squares procedure is not applicable. This difficulty can be partially alleviated by expanding (/FO/-FC/) as a function of its parameters via a Taylor Series expansion. Letting DEL(I) = (D/FC(P(I)))/(DP(I)), we have

(/FO/-/FC/) = (/FO/-/FC(P)/) + SUMI((Q(I)-P(I))*DEL(I)) + H      (5)

where Q(I) is the true value of P(I) according to the least squares norm, P(I) is the initial approximation of the parameter, and H represents the higher terms of the expansion. If all the higher terms were used in the evaluation of (Q(I)-P(I)), a true value of the parameters, according to the least squares norm, equation (4), could be obtained.

Q(I) = (Q(I)-P(I)) + P(I)                    (6)

However, this is not generally feasible. In the nonlinear least squares procedure, the higher order terms are set equal to zero. Consequently, the parameter shifts (Q(I)-p(I)) will not he the true shifts, according to the least squares norm. However, if P(I) is close to Q(I), the higher terms will be small in comparison with the summation in equation (5)

LIM h = 0  AS P(I) approaches Q(I)          (7)

and the shifts, let us call them E(I), will be approximately correct. Then

(/FO/-/FC/) = (/FO/-/FC(P)/) - SUMI(E(I)*DEL(I))      (8)

The normal equations are obtained by substituting equation (8) into (4)

SUMHKL((/FO/-/FC(P)/) - SUMI(E(I)*DEL(I))*DEL(J) = 0          (9)

thus

SUMI(SUMHKL(W*DEL(I)*DEL(J))*E(I) = SUMHKL(W*((/FO/-/FC(P)/)*DEL(J)        (10)

There are N of these equations for J=1,2,...,N for the determination of N unknowns. If we let

A(I,J) = SUMHKL(W*DEL(I)*DEL(J)                   (11)

and

B(J) = SUMHKL(W*(/FO/-/FC(P)/)*DEL(J)             (12)

then

SUMI(A(I,J)*E(I) = B(J)                           (13)

or, in tensor notation,

AE = B                                            (14)

The shifts, i.e. the vector E(I), can be calculated by inverting A(I,J) and multiplying the inverted A(i,j) matrix by the vector B(J).

E = (1/A)B                                        (15)

It was stated above that the shifts E(I) are approximately equal to the true least squares shift if the P(I) are sufficiently close to the Q(I) for the higher order terms to be small in comparison to the summation in equation (5).

LIM E(I) = (Q(I)-P(I)) = 0 as P(I) approaches Q(I)    (16)

However, in the initial phase of the least squares refinement, P(I) is not equal to Q(I) and the calculated shifts are not those required to satisfy the least squares norm. Nevertheless, if the P(I) are sufficiently close to the Q(I), the shift can be used to correct the initial approximations.

P(I) NEW = E(I) + P(I) OLD                            (17)

The new set of parameters can now be used to calculate another set which is even closer to the Q(S). This process can be continued until the E(I) are sufficiently small to be neglected.

Basic Least Squares Algorithm

Step Operation
1 Read the initial parameters and other necessary information
2 Read a reflection and calculate FC and its derivatives
3 Contribute the derivatives and (/FO/-/FC/) to the matrix and vector
4 If all reflections have not been read go to step 2, otherwise go to step 5
5 Invert the matrix
6 Calculate the shifts by multiplying the inverted matrix by the vector
7 Add the shifts to the parameters
8 If more cycles awe desired, go to step 2 after positioning to the beginning of the reflection file, otherwise terminate the job

=CRYLSQ=

Busing and Levy's =ORFLS= is probably the best known and most widely used crystallographic least squares program in existence at this time. It is fairly straightforward Fortran coding of the previous algorithm, its acceptance is due both to the simplicity of the code and the patch routine which allows the user to alter the refinement in accordance with his particular problem. However, the usefulness of =ORFLS= is somewhat impaired when it is incorporated into a crystallographic system of programs. The main difficulty is that the user can no longer conveniently alter the code in accordance with his particular problem, it is no longer a matter of changing a few cards or subroutines. The user must also reproduce the entire system. This inconvenience is an annoyance to users of crystallographic systems like the X-RAY system.

Another drawback to =ORFLS= is the inefficient allocation of storage. Every array is assigned a specific section of core of predetermined size, while this greatly simplifies the Fortran code, it is not generally the most efficient method of storage allocation. As long as the number of variables is small, no problems are encountered. However, this is not true when large numbers of variables are refined. The pre-assignment of storage also precludes (or at least complicates) the use of the same storage arrays for several different quantities which are used at different times. Furthermore, if a special type of refinement is to be included, such as group refinement, arrays must be shortened to allow for new code and arrays. Thus a program which has been enlarged to include group refinement can not refine as many variables as one which has not, even if group refinement is not desired in the particular problem. Since group refinement, extinction, and dispersion refinement are desired in a general crystallographic least squares program, fixed array sizes are a severe limitation.

The increasing use of crystallographic systems and the greater complexity of the model to be fitted have led to the development of =CRYLSQ=.

Facilities Needed in a System Least Squares Program

  1. Variable array lengths (maximum use of available immediate accesb machine storage)
  2. Correct handling and refinement of dispersion
  3. Refinement of extinction
  4. Free blocking from full matrix down to block-diagonal least squares refinement within storage limitation
  5. Constrained refinement without a patch routine
  6. Automatic or easy special position refinement without a patch routine
  7. GROUP and IDENTICAL MOLECULE refinement without a patch routine. Very little, if any, loss of either speed or storage when not included in particular refinement
  8. All facilities present in the X-RAY 67 version of =ORFLS=.

Immediate Access Storage

To obtain the maximum use of available storage, all arrays which may have variable length, along with all scratch arrays, are combined into a single Fortran array. This array is given the name A and is equivalenced to the integer variable IA. This array will be subsequently referred to as the A-IA array. Information is packed into this array and retrieved from it by the use of pointers and stepping constants. The logical sets of information, which we can refer to as sub-arrays, are packed in such a way as to maximize the use of core.

The A-IA array is divided into two sections. The first section is referred to as the permanent section and contains information which is needed throughout the refinement (e.g. atom parameter information, refinement flags). The second section is referred to as the temporary section. This section is divided into sub-arrays by the mark pointers (MARK1, MARK2, etc.). In links 2, 3, and 4, they are set according to the conditions of the refinement. Allocation of the second section of the A-IA array is as follows:

Link 1 ( and 2 )

Function Data Input Preliminary Calculation
Mark 1 Atom names from ATOM select cards Special position multiplying factors
Mark 1 Constraints Scratch for the calculation of storage
Mark 1 Releases Nontrivial constraints
Mark 1 Group and IDMOL information

Links (2), 3, and 4

Function Matrix Building Inversion Shift addition
Mark 5 Derivative of B Shifts and Errors
Mark 4 Derivative of A Same
Mark 3 Derivative of F Scratch for matrix inversion Old parameter values
Mark 2 Matrix Matrix matrix
Mark 1 Vector Vector vector

The Key (Refinement Flags)

In =ORFLS= all derivatives were calculated and then transferred to the derivative array in accordance with the refinement flags (the KI array). If the refinement flag for a particular parameter was one, the parameter was varied. If it was zero, the parameter was held invariant. This procedure is relatively time consuming and requires a significant amount of core storage.

In =CRYLSQ=, the refinement flags have been replaced by a set of integers which are called the key. This key not only determines which derivatives are to be calculated and used, but also controls the entire refinement process. The value of a key integer directs the operation to be performed.

Key Assignments

1.  Get the next atom
2.  Get the next atom and block
3.  Subtract one from variable counter
4.  Get the next multiplication factor
5.  Calculate the derivative wrt X
6.  Calculate the derivative wrt Y
7.  Calculate the derivative wrt Z
8.  Calculate the derivative wrt population parameter
9.  Calculate the derivative wrt scattering factor
10. Calculate the derivative wrt real dispersion factor
11. Calculate the derivative wrt imaginary dispersion factor
12. Calculate the derivative wrt U
13. Calculate the derivative wrt U11
14. Calculate the derivative wrt U22
15. Calculate the derivative wrt U33
16. Calculate the derivative wrt U12
17. Calculate the derivative wrt U13
18. Calculate the derivative wrt U23
19. Start identical molecule
20. Beginning of a group
21. End of key.

This procedure saves storage in that only the desired derivatives are calculated and also there is no need for the intermediate derivative array. However, its main power lies in the fact that the special position derivatives, group derivatives, and identical molecule derivatives can be conveniently constructed.

Constraints

A constraint is a restriction on refinement introduced by a =REF=, =NOREF=, =CONSTR= or =SPECIAL= card. There are two types of constraints. A trivial constraint is one which can be incorporated into the key, whereas a nontrivial constraint cannot.

Constraints, either from the binary data file or from card input, are initially stored in the MARK2 sub-array. They are in the form:

Word Information
1    First part of subject atom name
2    Second part of subject atom name
3    Type of constraint (an integer)
4    First part of reference atom name
5    Second part of reference atom name
6    Parameter number of subject atom (P1)
7    Factor by which the reference parameter must be. multiplied (F)
8    Parameter number of reference atom (P2)
9    Factor to which P2 * F is to be added (S)
10   Multiplicity.

Subject atom refers to the atom which is to be constrained and reference atom refers to the atom from which the constraint is being derived, the nontrivial constraint is applied as:

P1 = F * P2 + S                               (18)

A =RELEAS= card is also available. The =RELEAS= card releases all constraints of the subject atom which were read from the binary data file.

During the key building operation, the constraints are checked and all trivial constraints are incorporated in the key. The nontrivial constraints are then transferred to the MARK3 sub-array in the form:

Word Information
1       Address of subject parameter
2       Multiplication factor (F)
3       Constant (S)
4 and 5 Name of reference atom
6       Parameter number of reference parameter

The constraint is then transferred to the permanent section of the A-IA array in the form:

Word Information
1    Address of subject parameter
2    Multiplication factor (F)
3    Constant (S)
4    Address of reference parameter

The nontrivial constraint is applied in link 4 after the shifts have been applied.

Special Position Refinement

An atom in a special position adds several complications to the least squares refinement. The constraints imposed on an atom in a special position fall into three categories:

1. Do not refine a certain parameter
2. Constrain parameter A to be a function of parameter B
3. A special positional derivative is to be considered.

Condition 1 falls into the category of a trivial constraint and is incorporated into the key. Condition 2 requires a nontrivial constraint and is treated as such. However, Condition 3 presents a new situation.

Consider the special position (X,X,2X). In this case the derivative which is needed for the refinement is:

DF   DF    DF     DF
-- = -- +  -- + 2 --
DX   DX    DY     DZ

where D is the sign for the partial derivative.

This condition is incorporated into the key. The key segment which would calculate this derivative would be:

1, 5, 3, 4, 6, 3, 4, 7

where the factors 1.0 and 2.0 would be stored in the factor sub-array.

The refined variable would be considered to be X when the shifts are added, and the Y and Z parameters would be constrained to have a value of X and 2X respectively.

Blocking

A =BLOCK= card causes the (new atom) key to be changed from A '1' to A '2' for the designated atom. This in turn causes a blocked matrix to be constructed. The major change occurs during inversion. The matrix inverter requires N + 1 scratch locations before the first matrix element where N is the number of variables being treated in the block being inverted. This is the MARK3 sub-array when a full matrix refinement is being made. However, in a blocked refinement, the first matrix must be shifted to allow for the N + 1 scratch locations required in the inversion process. These are placed ahead of the second matrix, et seq. Consequently, when a blocked set of matrices is being inverted, the first is inverted in the normal way. It is then shifted M spaces up into the MARK3 sub-array, where M is one larger than the number of variables in the largest matrix being inverted. The N + 1 spaces preceding the second matrix are zeroed and the second matrix inverted. The second matrix is then shifted up M locations, and so on, until all the matrices have been inverted and shifted. At that time, all the matrices are shifted M locations down to their original position.

Scale Factor Refinement

In The equations of structure refinement, D.W.J. Cruickshank points out that by definition, F(000) is equal to the number of electrons in the unit cell. Consequently, it is more natural to adjust the F RELATIVE scale factor, which will force F(000) to its defined value than to scale the calculated structure factors. However, during a cycle of least squares refinement, no adjustment to the F RELATIVE scale factor is allowed. For this reason, the appropriate inverse scale factor must be determined for /FC/. After the least square cycle has been completed, the calculated structure factors may be freed from the calculated scalar factor and the F RELATIVE values put on the desired scale.

When more than one scale factor is being considered, =CRYSQL= allows for two modes of scale refinement. In the first, each scale factor is refined separately in accordance with the least squares norm. The second mode of refinement treats all scale factors as a single variable. The resultant correction is then applied to all.

During a blocked refinement, the overall temperature factor is refined in the same block as the scale factors.

Extinction Coefficient

The extinction coefficient used in the X-RAY system is an isotropic correction that follows the method of A.C. Larson. The symbol G is used to represent this quantity. It may be established by use of the link =CRYLSQ= and refined as a least-squares parameter. Its value is established by use of the equations and quantities described below. Some of these quantities are calculated at DATRUN time and stored in the binary data file. The use of this correction should be limited to the final stages of refinement. It will tend to be ill behaved if there is high random error in the data. It is highly correlated to the temperature factor and especially to the scale factor.

Let FCE be FC corrected for extinction, K be the FC scale factor, G be the extinction coefficient, and DELT be a quantity that depends upon the physical constants of the crystal and geometry of the reflecting condition. Then:

FCE = K*(ABS(FC))*((1.0 + 2.0*D*G*DELT*(FC**2))**(-1/4))

DELT is obtained from a knowledge of physical and diffraction parameters.

DELT = ((RD**2)*(AMBDA**3)*(L*P2*TBAR)/((V**2)*PI*SIN(TWO-THETA))
PN = 1 + (COS(TWO-THETA))**(N)

RD is the classical radius of an electron, V is the volume of the unit cell, TWO-THETA. is just that, and TBAR is the average path length through the crystal.

TBAR is set to be 0.03 cm if the linear absorption coefficient is not supplied in the =CONDIT= card. When however the value of UMU (MU is the linear absorption coefficient in CM -1) is given in the =CONDIT= card and the reflection value of the absorption coefficient is given in each =HKL= card, then:

TBAR = (ALOG(ABSORP))/UMU) + 0.00001

ABSORP is the reciprocal of the transmission coefficient for the given reflection. ALOG is the Fortran natural log function.

The classical radius oh an electron (E**2)/(M*(C**2)) is 2.81751*10exp-13 cm. This value squared is 7.9384*10exp-26 cm, squared. When the factor of two is incorporated from the equation shown above, a constant 158.768*10exp-27 cm. squared is obtained. The value that converts (AMBDA**3)/(V**2) from reciprocal angstroms cubed to reciprocal cm. cubed is 10exp+24. This gives a constant of 158.768*10exp-3. In =DATRDN= the factor of 10exp-3 is left out thus scaling all G values by a factor of ten to the third. The other possible arbitrary factor is the value of TBAR. It is set to 0.030 cm when no other information is supplied. The values of G shown on the CRYLSQ output are multiplied by 10**3. In addition, if no absorption correction information is supplied, the crystal is assumed to have an average transmission path length (TBAR) of 0.03 cm. This gives rise to an arbitrary scaling of G. For crystals with high extinction, corrected for absorption, the value of G will be in the range of 10**-2 to 10**-4. This means that CRYLSQ will show numbers around 1.0 for EXT (G). In cases of large extinction problems, it will be larger.

Initial Refinement

During the initial stages of refinement, it is not always necessary to use all reflections. For this reason there are several procedures available for limiting the number of reflections considered in the least squares refinement.

  1. A SIN(THETA)/LAMBDA range may be defined. only those reflections whose SIN(THETA)/LAMBDA is within this range will be considered. The SIN(THETA)/LAMBDA range is supplied via a =MAXHKL= card. If the =MAXHKL= card is supplied in the =CRYLSQ= deck, it will apply only to the least squares refinement. The new values will not supersede those present in the binary data file.
  2. A maximum H, K, and L may be assigned. Those reflections with an absolute H, K, or L greater than the specified maximum will not be considered. The maximum H, K, and L are specified on a =MAXHKL= card (see 1.GENERL).
  3. Reflections may be systematically skipped. For example, one may wish to consider only every third reflection. If this procedure is used, the first reflection considered will have the sequence number equal to the cycle number. If only every third reflection is to be considered, on cycle one the first reflection in the list is the first reflection to contribute to the least squares matrix and the vector. In the second and third cycles, the first reflection to contribute will be the second and third reflection respectively.

Weights During Refinement

The weight to be applied during refinement may be specified in four different ways as a user option. The quantity which is called the weight and is stored in the reflection record is defined in DATRDN and described in some detail in WTLSSQ. The four quantities which may be used at =CRYLSQ= time for the square root of the weight may be described as follows:

Option 0. All weights used as 1.0 (unit weights)

Option 1. Weights are accepted as supplied in the binary data file and are used as F-relative weights.

Option 2. Weights are accepted as supplied in the binary data file and used as H-observed weights.

Option 3. Weights are set equal to the reciprocal of sigma I observed and used as I-observed weights.

Depending upon the method the user has employed to establish his weights he must select the appropriate option.

Matrix Singularity and Degeneracy

Prior to inversion, the matrix is examined for singularity and degeneracy. The criteria invoked are:

  1. The diagonal elements must be greater than zero
  2. The matrix must be positive definite (i.e., (A(I,I)*A(J,J)-A(J,J)*A(I,J) must be greater than zero).

When singularity or degeneracy is found, the offending variables are set invariant. Under the second criterion, the first of the involved variables is set invariant. Invariance is obtained by setting the offending diagonal element to unity and the related off-diagonal elements to zero.

Partial Shift Factor

Refinement is enhanced and controlled in the block-diagonal mode by the use of a partial shift factor. In the block-diagonal mode of refinement a partial shift factor of 0.8 is automatically applied. This factor can be superseded by including a partial shift factor on the =CRYLSQ= card. In all other cases, the partial shift factor is set to unity. It may be desirable to use a shift factor somewhat less than unity when a blocked refinement is being made. The size of this factor is dependent on the amount of correlation lost. If there is strong correlation between atoms in different blocks, a partial shift factor of approximately 0.9 may be of benefit. If the correlation is minimal, the paptial shift factor can be left at unity.

The Structure Factor and Derivatives with Dispersion

In =CRYLSQ=, anomalous dispersion terms are included in all structure factor and derivative calculations. The dispersion factors are assumed to be zero unless otherwise specified (on a =DISPER= card). If dispersion factors are not specified, the resultant structure factors and derivatives are exactly those calculated without dispersion. Since only the most tightly bound electrons, thc ones closest to the nucleus, have resonance frequencies of approximately the same magnitude as the oscillation imposed on an electron by normal X-ray bombardment, the dispersion factors may be considered independent of the scattering angle (1). Consequently, Templeton type dispersion factors are used. The user is also given the ability to refine the dispersion factors. This must be stipulated by special signals placed in a =REF= card.

The structure factor equation, including dispersion can be written as

FC    = (A-D) + I*(B+C)                                         (20)
A     = G*P*M*T*SF*COS2P                                        (21)
B     = G*P*M*T*SF*SIN2P                                        (22)
C     = G*P*M*T*FI*COS2P                                        (23)
D     = G*P*M*T*FI*SIN2P                                        (24)
and includes contribution from all atoms in the unit cell.
G     = Overall Scale Factor                                    (25)
P     = Population of Site-occupancy Factor                     (26)
M     = Atom multiplicity                                       (27)
T     = Temperature factor                                      (28)
SF    = The sum of the scattering and real dispersion factor    (29)
FI    = The imaginary part of the dispersion factor             (30)
COS2P = COS(2*PI*(H*X + K*Y + L*Z))                             (31)
SIN2P = SIN(2*PI*(H*X + K*Y + L*Z))                             (32)
In the overall or isotropic mode, the temperature factor is of the form
T     = EXP(-2*(PI**2)*U*(2*SIN(THETA)/(LAMBDA)**2)             (33)
whereas in the anisotropic mode, the temperature factor is of the form
T     = EXP(-2*(PI**2)*U11*(H*ASTAR)**2+...))                   (34)

The partial derivatives are as follows.

(i) Atom Parameters

1. POSITIONAL PARAMETERS
DA/DX = -2*PI*H*B                                               (35)
DB/DX =  2*PI*H*A                                               (36)
DC/DX = -2*PI*H*D                                               (37)
DD/DX =  2*PI*H*c                                               (38)
2. ISOTROPIC TEMPERATURE FACTOR
DA/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*A                  (39)   
DB/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*B                  (40)   
DC/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*C                  (41)    
DD/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*D                  (42)     
3. ANISOTROPIC TEMPERATURE FACTOR
DA/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*A                          (43) 
DB/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*B                          (44)   
DC/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*C                          (45)    
DD/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*D                          (46)    
4. POPULATION PARAMETER
DA/DP = A/P                                                     (47)
DB/DP = B/P                                                     (48)
DC/DP = C/P                                                     (49)
DD/DP = D/P                                                     (50)

(ii) Atom Type Parameters

1. REAL DISPERSION OF NEUTRON SCATTERING FACTOR
DA/D(SF) = A/SF                                                 (51)
DB/D(SF) = B/SF                                                 (52)
DC/D(SF) = DD/D(SF) = 0                                         (53)
2. IMAGINARY DISPERSION  FACTOR
DA/D(FI) = DB/D(FI) = 0                                         (54)
DC/D(FI) = C/FI                                                 (55)
DD/D(FI) = D/FI                                                 (56)

(iii) Overall Parameters

1. OVERALL TEMPERATURE FACTOR
D(/F/)/DU = (-2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*/FC/          (57)
2. OVERALL SCALE FACTOR
D(/F/)/DG = (/FC/)/G                                            (58)

(iv) Relating the Partials of A, B, C, and D to the Partials of F, F**2, and I let

Q = A - U                                                       (59)
S = B + C                                                       (60)
If W is a parameter, then
DQ/DW = DA/DW - DU/DW                                           (61)
DS/DW = DB/DW + DC/DW                                           (62)
It follows that
F**2 = Q**2 + S**2                                              (63)
and
D(F**2)/DW = 2*Q*(DQ/DW)+2*S*(DS/DW)                            (64)
When the refinement is based on I, the derivative of F squared must
be multiplied by the LP factor. When the refinemnt is based on F,
/F/ = SQRT(Q**2 + S**2)                                         (65)
D(/F/)/DW = (Q*(DQ/DW)+S*(DS/DW))/SQRT(Q**2+S**2)               (66)

Temperature Factors

=CRYLSQ= can be run in the overall, isotropic, anisotropic, or mixed temperature factor mode. Temperature factor parameters which are not in the mode designated on the =CRYLSQ= card will be converted by the program. In the mixed temperature factor mode, the type of refinement will be set, atom by atom, in accordance with the binary data file specification. NOTE: only those atoms which are specified as being in the overall temperature factor mode, will contribute to the overall temperature factor.

The type of temperature factor refinement for a particular atom can be altered via a =RTF= card while in the mixed temperature factor mode, to convert the temperature factor type from isotropic to overall for a particular atom, one would use a =REF= card for that particular atom which includes =UOV= in one of the parameter fields. NOTE only those parameters which are specifically mentioned will be refined. Thus if one is converting to an anisotropic refinement for a particular atom and all six anisotropic temperature factor parameters are to be refined, all six must appear on the =REF= card.

Reflection Typing

=CRYLSQ= allows the user to type the reflections as observed or LESS-THANs. during refinement. The user must stipulate the threshold value on the =CRYLSQ= card. The LESS-THANs which contribute to the refinement are given a value equal to the LESS-THAN threshold value. The user may choose whether or not to include this reflection classification in the new binary data file. However, the stored value of F RELATIVE will not be affected.

DATCO5: Treatment of diffractometer data

Data Pre-processing for a Number of Diffractometers

This program is designed to treat the output of certain specific single crystal diffractometers. The design is such that the specific operations are placed in one subroutine for each different diffractometer. The main subroutines are all independent of the machine specific routines and carry out the bulk of the calculations required to produce a scaled, sorted, merged, unique asymmetric set of reflection data ready for =DATRDN=. =DATCO5=. It was written by H.L,Ammon, J.M.Stewart and Linda A. Plastas.

The overall steps carried out may be outlined as follows:

(1) The input data is screened by the machine specific subroutine to give H, K, L, the integrated intensity, the background, the sigma of I, flags FOP standards, reflection sequence number, TWO-THETA, OMEGA, CHI, and PHI.

(2) During this screening, statistics on standards are collected.

(3) At the end of the first pass over the raw data, the statistics collected on the standard reflections are treated to give intensity scale factors to be used to correct for drift in intensity of standards as a function of data gathering. The standard reflections are expected to come in groups at intervals, e.g. 3 every 100 data measurements. The scale factors are derived from the sum of the integrated intensities from all of the members of each group. Any incomplete group is rejected from the formation of scale factors. Graphs are printed of the raw data for each standard reflection and the table of scale factors is output. In this treatment the values of the scale factors for each group of standard reflections are adjusted to set the first two groups to exactly 1.0 and all other groups to relative values. The table thus formed may be superseded in any way the user wishes. The reason for setting the first two scales is that some data may have been gathered before measurement of the first standard group.

(4) A second pass is then made over all the observations. The scale intensity of all observations is derived by interpolation from the scale factor table. SIGMA I and the background are also scaled. This includes all of the measurements of standards. Data for printing the graphs of the modified standards is kept.

(5) For each reflection the values of H, K, and L are treated to transform them into a consistent asymmetric set depending upon the =SYMTRY= operation cards supplied. The transformed coordinates are permuted and combined to give a simple number which will serve to expedite the sort-merge step.

(6) During the second pass, every scaled intensity can be optionally printed. Several general tests are applied to each intensity and flags are used to signal whether the intensity has unequal backgrounds (UNBG), negative intensity (-INT), could be considered to be a LESS-THAN (L-T), is systematically absent for the given space group (SYAB), or is a standard (STD).

The intensity SIGMA's are computed as follows (X and N are found in COLS 21-25 and 25-30 of the =DATCO5= card):

T = SCAN COUNT + BACKGROUND1 + BACKGROUND2
SIGMA(I) = SQRT(DIFFRACTOMETER FUNCTION(I) + (X*T)**N

If X = -1.0, -2.0 or -3.0 the standard reflection data are used to determine an experimental instability factor. that is:

FOR X = -1.0:
SIGMA(I) = SQRT(DIFF FUNC(I) + R*T**2). R DETERMINED FROM A LEAST
SQUARES FIT OF A Y = M*X LINE (THROUGH THE ORIGIN).
FOR X = -2.0:
SIGMA(I) = SQRT(DIFF FUNC(I) + K + R*T**2). K AND R DETERMINED FROM 
A LEAST SQUARES FIT TO Y = B + M*X TYPE LINE. 
FOR X = -3.0:
SAME AS X = -2.0, EXCEPT SET K TO 0.0

If only 1 standard reflection HKL is used, the -1.0 option is calculated. Whether you agree with it or not, the present code determines the instability factors using the unscaled standard intensity data. Therefore if your standards vary a lot we recommend that you forget about using this instability information. The R's will turn out to be quite large and a lot of your reflections will be coded as UNOBSERVED.

Calculation of the reflection intensity (I) and the above mentioned DIFFRACTOMETER FUNCTION for the picker diffractometer is:

Let I = corrected intensity, S = scan count, ST = scan time,
   BT = time for one background measurement, B1 =BKGD1 count,
   B2 = BKGD2 = count, A = attenuator factor. then:
K = 0.5*(ST/BT)
I = A*(S - K*(B1 + B2))
DIFF FUNC = (A**2)*(S + (K**2)*(B1 + B2))

(7)The output file of the second pass is used to sort the reflections as a function of the sort number developed during that pass. The sort number of all equivalent reflections is identical. Therefore in a pass down the file all sort numbers that can be kept in immediate access store are loaded and sorted together. The process is repeated until all data has been sorted. The table of statistics which was developed during the second pass makes the process fairly efficient for large data sets. At the end of each loading pass, the averaging, printing, and output of =HKL= card images is carried out for that sorted portion. (Approximately 4000 reflections per pass are treated, depending upon machine size.)

(8) The equivalent reflections are treated differently depending upon the number of observations. If there is only one, it is accepted. If there are two, they are averaged unless one is more than SN2*(SIGMA I) less than the other. SN2 is a factor supplied by the user. When one is very small relative to the other, the higher observation is accepted as true and the lower one is rejected. When there are three or more equivalent reflections, an average and standard deviation is calculated for them. If any members of the set differ by more than SN3 (also supplied by the user) standard deviations from the mean, they are rejected. If any are rejected, a new average and standard deviation are calculated. These refined average values are used for the intensity and SIGMA 1.

(9) The results of the averaging process form a file on =NFILEI= which is the image of a single =HKL= card for every unique asymmetric reflection. This file is ended with a =FILES= card which gives for =NTIN= (the normal card input file) the value for the usual card input stream. This means that in place of the =HKL= card deck in a data reduction (=DATRDN=) run one may use a =FILES= card. For example, let =NFILEI= be 10 and =NTIN= be 5, then the data reduction deck could be as follows:

DATRDN . . .
LABEL  . . .
CELL   . . .
. .    . . .
. .    . . .
. .    . . .
CONDIT . . .
SCALE  . . .
FILES 10
END
FINISH

The function of the =FILES 5= card at the end of the intensity data file from =DATCO5= is to return control to the usual card deck input stream.

DATRDN: Preparation of binary data file and preliminary treatment of data and symmetry

Data Reduction Program

The initial coding for the data reduction program was written by James M. Stewart duking 1958-60 for the IBM 704 at the Ohio State Univ. Mrs. Mary Ann Jarski and James M. Stewart converted the IBM 704 program to the IBM 709, and further expanded the coding. The bond absorption correction was programmed and checked-out by Bruno Morosim. The new X-RAY system version was done hy J.M. Stewart and R.C. Chastain. The programming of the 1/LP corrections was done by A. Mighell, A. Aantoro, and M. Zocchi. The use of =FORMGN= cards was introduced by G.J. Kruger.

This program is designed to organize the raw data needed in the determination of a crystal structure into a coherent collection stored in a binary data file so that the structure factor and refinement programs will calculate automatically. The Fortran statements of the program are made using abbreviations for two symbols used by Buerger and Lipson and Cochran. The calculations performed are listed here with no other explanation. Reference to the International Tables as well as the paper on the Lorentz and polarization factor for the precession method by Waser may be found helpful.

The program requires the following data:

  1. Cell dimensions and F(000)
  2. Atomic scattering factors (neutron or x-ray)
  3. The general symmetry operations of the space group. Apart from lattice translation and center of symmetry
  4. Identification of cell as centric or acentric, and lattice type
  5. Dispersion corrections (optional)
  6. Camera data and physical orientation of the crystal
  7. Scale factors to be applied to the intensity data (optional)
  8. Weighting data for least squares (optional)
  9. Filter factors if needed for spectrometer data (optional)
  10. Bond absorption corrections (optional)
  11. Reflection data - H, K, and L, I, F, or F**2
  12. Other information concerning reflections is optional, e.g. absorption factor, phase, etc. See HKL card for details.

The cell dimensions are read and checked for reasonableness - no zero or negative axial lengths. Either direct cell or reciprocal cell lengths may be given. Angles either as all cosines or all degrees may be supplied. The reciprocal cell constants, the metric tensor, and inverse metric tensor are calculated (Buerger, page 360).

The scattering factor information is read in and stored in tables. The values for X-ray scattering factors are read in for a number of values of SIN(THETA)/LAMBDA and a table is stored in memory for each atom-type to be used. There is a maximum of 16 atom types allowed. The X-ray scattering factors, like the neutron scattering factors, are given a designation at this time consisting of one to four characters (e.g.- N for nitrogen, CU2+ for copper(II), etc.). The designation is stored in a dictionary on the binary file for use of the following programs. X-ray scattering factors may be used directly from literature. There are stringent requirements upon the order and range of the entries, but non-equal intervals are permissible. The actual values of the scattering factors at each value of SIN(THETA)/LAMBDA for a given reflection are determined by a four-point interpolation utilizing Aitken's method. The conditions which must be met are - SIN(THETA)/LAMBDA must increase monotonically, F(J) should decrease monotonically (however, a 5-percent increase in any interval is permitted to allow for occasional inflection found for some electron configurations). There must be at least ten entries and less than 40 entries. In order to interpolate at the high values of SIN(THETA)/LAMBDA there must be at least 3 table entries with a value of SIN(THETA)/LAMBDA greater than the highest value that is anticipated in the reflection data. The program checks for these conditions and returns error remarks explaining any non-agreement with the programmed conditions. The coherent scattering factor for neutrons is supplied as a single value for each atom type.

X-ray scattering factors can also be generated from numerical Hartree-Fock wave functions by supplying the coefficients given for the analytical function as given by Cromer and Mann on =FORMGN= cards. Forty entries with a maximum SIN(THETA)/LAMBDA value of 1.56 (AXX-1) will be calculated. Certain scattering factors may be invoked automatically C, N, O, P, S, CL by the expansion formula and H from Stewart et. al. (5AA). That is to say, A =FORMGN= which is blank save for one of the above atom types will produce the required scattering factors.

The next step is the building of the symmetry operations of the space group into matrices and vectors which may be used to generate all the atoms in the cell from one asymmetric set. The structure factor and Fourier programs operate om the basis of PI or PI-BAR. These operators are read in the form given in the first part of volume I of the International Tables. The program checks the cards for possible errors in punching and stores them in tables in the binary data file. For further details about the treatment of symmetry, see the statement in GENERL.

One must supply a separate card indicating whether the cell is centric or acentric and giving the lattice type symbol:

P, I, R, F, A, B, or C

NOTE =P= is used for rhombohedral space groups indexed as rhombohedral and =R= is used for rhombohedral space groups indexed as hexagonal. In the centric case with the origin at the center of symmetry, only those operations not involving the center should be supplied. After the symmetry operations have been stored in a form suitable for the structure factor program, they are operated upon by a generation checking subroutine which sorts and examines the operations to check for crystallographic validity.

One may supply dispersion correction cards using data from either Templeton or Roof. These cards are optional, as is the application of the dispersion corrections at =FC= time.

The conditions of observation are supplied next. This card provides space for wavelength, the maximum SIN(THETA)/LAMBDA expected, the minimum observed intensity, neutron- or X-radiation, the camera type (e.g. powder, spectrometer, Weissenberg, precession, etc.), whether or not one wishes to apply 1/LP, or to take the square root of the data being reduced. This card is never optional in any data reduction run.

Axial designations must be made for those methods which require the axis of rotation and/or the axis parallel to the beam. for the precession method. The angle between the axis most nearly horizontal and the horizontal on the film is necessary. The calculation of 1/LP for X-ray and 1/L for neutrons is carried out for each reflection so that no tables are required.

If spectrometer data are being processed, then filter factor cards giving the absorbency of the filters and an index code are required. Filter =0= has a factor of 1.0 automatically so that for a reflection marked NO FILTER, the correct filter factor is applied. If a monochromator is being used, its working angle must be supplied.

=SCALE= cards serve the primary purpose of adjusting the scale of the relative intensities of groups of reflections. In addition they permit tagging groups of reflections as all having the same scale factor (maximum number of groups = 64). The minimum observed intensity for the group, and provision for weighting, are supplied on this card. If no =SCALE= card is supplied the program assigns =1= as the reflection group index and uses 1.0 as the scale-factor and no least squares weighting factors are calculated. However, the value of F minimum is stored in the file. These weights can then be calculated at some future time by the program =WTLSSQ=. The least squares programs allow the use of unit weights as an alternate to those in the binary data file. See CRYLSQ, WTLSSQ for details of application of weights.

There is a least squares weighting scheme provided in =DATRDN= which is patterned after the method suggested by Hughes. It is called by a =2= in the =SCALE= card. The Fortran coding for this (Univ. of Washington) scheme is:

WEIGHT = Q1/AMAX1(SIGMA,Q2*FREL+Q3,Q4*FRELM+Q5)

where

WEIGHT = square root of WEIGHT to be used in least squares
   Q1 = constant punched in Cols 33-37 of =SCALE= card (SET = 1.0 if not specified)
SIGMA = standard deviation of measurement, and is punched in a reflection card
   Q2 = fractional error in F RELATIVE: pinched in cols 38-42 of =SCALE= card, and initalized to zero
   Q3 = additive constant which may be applied at users discretion: punched in cols 43-17 of =SCALE= card, and initialized to 0.0
   Q4 = fraction of F minimum which is to be considered minimum standard deviation: punched in cols 48-52 of =SCALE= card and initialized to zero
   Q5 = additive constant which may be applied at user's discretion: punched in cols 53-62 of =SCALE= card, and initializer to 0.0
   Q6 = factor used to multiply E.S.D in intensity to establish a threshold value of F for determining FRELM in above equation for diffractometer data.

The scheme applies weighting function: WEIGHT=Q1/(J) in which (J) is the maximum of these three functions - (1) SIGMA, (2) (Q2+FREL+Q3), or (3) (Q4*FRELM+Q5). To obtain weights like those specified by Hughes:

WEIGHT = 1.0 for F REL less than K
       = K/F REL for F REL greater than or equal K
then set 
Q1 = Q5 = K
Q2 = 1.0
Q3 = Q4 = ZERO

NPTE - Q1 is initialized to 1.0. All the rest to zero.

=ABSBON= cards supply information specific to the type of absorption correction being applied. The information on spheres and cylinders of Bond is given in volume II of the International Tables. The data is read into tht core from cards and interpolated from the value of SIN(THETA)/LAMBDA by Aitken's method. Different absorption corrections are required for each level. Though the angular dependence is calculated.

For each unique reflection of the space group under consideration H, K, L, and either F, F**2, or I relative must be provided.

A unique set of reflections, not including those systematically absent, must be included. If a sharpened origin-removed Patterson is desired the systematically absent reflections should also be included. It is most desirable, but not mandatory, that the reflections be sorted in the order that will permit fastest Fourier summations and that the systematically absent reflections be placed after the observed reflections. The Fourier runs fastest if the reflections with the same absolute values of H, K, and L are grouped together. =FC= runs fastest if the reflections are sorted so that the jndex with the smallest range varies slowest etc. (In the triclinic case, where it is impossible to satisfy both criteria, the former should be given precedence.) NOTE that for maximum efficiency, the negative values should be assigned to indices along shorter reciprocal axes.

For the LESS-THAN reflections (i.e. those reflections whose intensities are too weak to he measured) a value of zero, or a value just below the lowest observed intensity, is punched in the intensity card. The LESS-THANs serve a useful purpose in the calculations of structures and provide additional, if somewhat inaccurate, data upon which to base a structure under study. It is not mandatory that they be included. For purists the value of intensity exactly as derived from the counter data may be used, positive or negative. For negative values FREL will be set to zero. =CRYLSQ= will permit defining on the observed I values.

On the output binary data file, a code (JCODE) of =1= is used for observed reflections, =2= for LESS-THANs, =3= for reflections to be calculated and displayed but not used in least squares (these are not usually marked at data reduction time, but may be identified later at =FC= time). =4= for a reflection to be ignored in all respects, and =5= for a systematically absent reflection ignored in all respects except a sharpened origin removed Patterson.

The value of SIN(THETA)/LAMBDA is compared with the maximum anticipated value punched in the =CONDIT= card to check that the point in reciprocal space will pass into that portion of the sphere of reflection that can be recorded by the data gathering method used.

The values of the various scattering factors are obtained by interpolation of the stored literature values. A complete listing of these data from the literature may be found in the International Tables. There are a few additional data, most of which appeared in the literature subsequent to the publication of the International Tables. A number of the older literature references are also listed, mainly as a source for the earlier structure determinations.

EPSILON, a small, symmetry related integer described in Vol. II of the International Tables pp. 355-6 and called ALPHA there by Luzzati is required for the calculation of E values (quasi-normalized structure factors). The calculation of these factors is also described in Crystallographic Computing (1969), p 19 by I. Karle. In data reduction this factor is calculated for each reflection and stored in the binary data file for use by other programs in the system. The value of EPSILON is calculated by a simple enumeration procedure. It is the count of the number of times a reflection identically is generated under the symmetry operations of the space group under consideration. That is to say, for H(NEW) = HR(J) where H is the vector (H,K,L) and R(J) is the Jth rotation matrix supplied to data reduction.

Through the use of =FORMAT= and =REFIN= cards it is possible to read reflection data in many different forms. A =FORMAT= card may be supplied which contains a valid Fortran input format statement beginning with =(= and ending with =) =. A =REFIN= card must then be used to specify the details of the source of the data as well as its order. It is mandatory that the reflection cards themselves follow immediately behind the =REFIN= card and that the exact number supplied or the last index in the stack be given in the =REFIN= card.

Extinction Coefficient

The extinction coefficient used in the X-RAY system is an isotropic correction that follows the method of A.C.Larson. The symbol G is used to represent this quantity. It may be established by use of the link =CRYLSQ= and refined as a least-squares parameter. Its value is established by use of the equations and quantities described below. Some of these quantities are calculated at DATRDN time and stored in the binary data file.

TBAR = (ALOG(ABSORP))/(MU) + 0.00001

ABSORP is the reciprocal of the transmission coefficient for the given reflection.

The classical radius of an electron (E**2)/M*(C**2)) is 2.81751*10exp-13 cm. This value squared is 7.9384*10exp-26 cm, squared.

When the factor of two is incorporated from the equation shown above, a constant 158.768*10exp-27 cm. squared is obtained. The value that converts (AMBA**3)/(V**2) from reciprocal angstroms cubed to reciprocal cm. cubed is 10exp+24. This gives a constant of 158.768*10exp-3. In =DATRDN= the factor of 10exp-3 is left out thus scaling all G values by a factor of ten to the third. The other possible arbitrary factor is the value of TBAR. It is set to 0.030 cm when no other information is supplied. The values of G shown on the CRYLSQ output are multiplied by 10**3. In addition, if no absorption correction information is supplied, the crystal is assumed to have an average transmission path length (TBAR) of 0.03 cm. This gives rise to an arbitrary scaling of G, for crystals with high extinction, corrected for absorption, the value of G will be in the range of 10**-2 to 10**-4. This means that CRYLSQ will show numbers around 1.0 for EXT (G). In cases of large extinction problems, it will be larger.

Refer to Larson, Coppins and Hamilton, Zachariasen and Larson.

If necessary, the chosen J/L or 1/LP value is computed and applied. If an absorption correction is to be made, it is done.

The binary data file contains the information which constitutes the data which are known about a crystal under study. The data reduction program places in the file only those quantities which are known before a structure determination is started, but it leaves space for parameters which are determined as the solution progresses. The format of the binary file is therefore fixed by the most general calculation or combination of calculations programmed for the solution of structures. In addition to producing a binary file, data reduction prints a summary of the data processed. This list represents the results of the calculations performed by the program. It should be carefully scanned for each compound that is treated in order to make sure that the basis for further calculations is sound.

(NOTE - for description of the X-RAY system binary data file see Appendix 6)

The program mat be used to re-reduce data if necessary. There are, however, certain restrictions wen this process is carried out. First of all, the only data retrieved from the reflection record (logical 15) of the binary data file are the H, K, L, I, SIGMA I, I MINIMUM, the number of times for operation, statistical phase, E, EPSILON, and the absorption correction factor. This means in effect that the data of the original HKL cards are resupplied from the HDF, but all other quantities such as SIN(THETA)/LAMBDA, 1/LP, interpolated scattering factors, etc. are recalculated from the input information. These other data are either retrieved from the BDF or from cards in the input stream of the current job. One restriction must be observed first and most importantly, a =CONDIT= card must be supplied and the conditions given on it must apply to the data as originally placed in the file. For any kind of cards supplied with the exception of =HKL= cards, if one is supplied, all of that kind must be supplied and all that are supplied must follow the usual order given in DATRDN.

DIFPCH: Preparation of sorted diffractometer setting cards

Program for Preparation of Sorted Diffractometer Setting Cards

This program was written by J.M. Stewart. Its purpose is to allow the output of =DIFSET= to be sorted into efficient order for driving a card controlled diffractometer. The sections PARAM, DIFSET, and especially DACT03 should be read.

=DIFPCH= reads the output of =DIFSET= and sorts the reflections in shells of TWO-THETA. Within each shell it sorts on PHI and CHI such that PHI always advances and CHI goes back and forth. It also inserts given standards at regular intervals and resets PHI in each instance so that it will always drive forward. It then punches XRD-6 settings cards for use in the machine. These may be punched as (fixed crystal fixed counter) peak heights, (TWO-THETA-OMEGA) scans or peak height-scan pairs. The last case may be used for gathering information for peak height scan conversion but =DATCO5= offers a better method for obtaining these setting cards.

DIFSET: Generation of settings for gathering data on an automated diffractometer

Diffractometer Setting Program

=DIFSET= was originally coded by Steven T. Freer and Joseph Kraut. It was modified and adapted to the system by Herman L. Ammon, and the subroutine for determining systematic absences was added by Roger V. Chastain. The FORTAN IV version, which includes provisions for making a control tape or card deck for an automatic diffractometer, was prepared by Floyd A. Mauer.

The program will generate Miller indices and compute settings for a diffractometer equipped with an Eulerian Cradle. (Goniostat). For each HKL, settings for CHI, PHI, START TWO-THETA, PEAK TWO-THETA, and STOP TWO-THETA, as well as the scanning time, are computed. The program is general for all space groups.

Necessary input udata consist of cell parameters and the orientation of two reciprocal axes with respect to the PHI axis and the PHI=0 plane. Cell constants may he supplied on a =CELL= card, or they may be left in memory by a =PARAM= run that precedes the =DIFSET= run. In the latter case, a =PARAMC= card replaces the =CELL= card to indicate that the cell constants came from a previous least squares refinement.

Some care must be exercised in specifying the orientation of the reciprocal lattice on the goniostat. Two reciprocal lattice vectors do not uniquely fix the position of a three dimensional lattice and it is necessary to follow the convention that a right handed system or axes is being used. When specifying a reciprocal lattice vector lying on the PHI axis, a vector must be chosen which is coincident with the positive direction of the PHI axis (i.e. a vector coming out of the goniostat, not going into it).

The subroutine to give reflections in an order suitable for automatic operation works best if one of the reciprocal axes is parallel to the PHI axis of the diffractometer. Scanning is up and down rows parallel to PHI. The PHI setting does not change within a row, and can be made to progress always in one direction to minimize the effect of backlash. VHI and TWO-THETA change for each reflection but data are taken up one row and down the next so that no time is lost in resetting either axis at the end of a row. Settings may be generated automatically for as much as a hemisphere or as little as an octant of reciprocal space.

The TWO-THETA scan range may be calculated in three ways. Two of the methods involve subtracting a quantity from the TWO-THETA for the ALPHA(1) wavelength to obtain START TWO-THETA and adding this quantity to the TWO-THETA for the ALPHA(2) wavelength to obtain STOP TWO-THETA. The presence of a =BAKSET= card signals that this quantity will be constant (the value contained on the card) and not a function of TWO-THETA.

For copper radiation, this quantity may be obtained from an internally stored table (determined empirically by the J. Kraut Group) and is a function of TWO-THETA. The table values are automatically applied if neither of the other two options is called (as determined by the absence of =BAKSET= and =EQNCON= cards). The table values are:

TWO-THETA Range (degrees) TWO-THETA Increment Applied (degrees)
  0  - 10                             0.75
 10 -  20                             0.75
 20 -  30                             0.75
 30 -  40                             0.75
 40 -  50                             0.80
 50 -  60                             0.80
 60 -  70                             0.80
 70 -  80                             0.85
 80 -  90                             0.85
 90 - 100                             0.85
100 - 110                             0.85
110 - 120                             0.85
120 - 130                             0.95
130 - 140                             0.95
140 - 150                             1.05
150 - 160                             1.20
160 - 170                             1.20
The third option is signaled by the presence of an =EQNCON= card containing the constants A and B. These quantities are used in the following equation:

TWO-THETA SCAN RANGE = A + B*TAN(THETA)

Factors (e.g., crystal size. crystal mosaicity, and source size) influencing the scan range but which are constant for a given crystal may be lumped into A while spectral dispersion, a function of THETA, may be expressed by the second term. The average of the TWO-THETA's for the ALPHA(1) and ALPHA(2) wavelengths is determined and half of the above range used to calculate START and STOP. Values recommended by Alexander and Smith (1) for A and B are 1.80 and 0.86 for copper radiation, and 1.80 and 1.00 for molybdenum. (These are typical values for a diffractometer of the radius of the G.E. XRD-6.)

Output from the program may be in several forms. Printed output is always furnished. Setting cards containing the same information are optional. If they are made, punching of cards for reflections that are systematically absent is optional. A control tape or card deck for an automatic diffractometer is generated if an =XRDC= card and an =XRDFMT= card are supplied. (at NBS a =TTYFMT= card is also required.)

Data on the =XRDC= card determines whether:

  1. a card deck or
  2. a magnetic tape for off-line punching

will be made, the tape for punching may be obtained with ten character command words only, as require by DATEX paper-tape input diffractometers, or with teletype control characters between the command words.

The characters that occur on the magnetic tape will be the integers 0-9 and any others that may he written in the 5A1 fields of the =XRDFMT= card. The records will contain a variable number of characters that are to be punched and are filled with blanks to make 120 characters in each record. These blanks must not be punched. If the =TTYFMT= card is used (NBS only) the four characters (B, A, C, +) occur and are to be translated to the ASCII (American Standard Code for Information Interchange) code for carriage return, line feed, space, and asterisk, respectively. Different characters may be selected for these purposes by changing the data statement:

DATA ICR,LF,ISPACE,ISTAR/1H$,1H',1H=,1H* /

in subroutine XRY276. The character BLANK (IBLNK in subroutine XRY276) and any characters that will occur as begin word codes or in compound identification codes must be avoided.

The code that is to be punched in the paper tape may differ for individual diffractometers. Any distinctive character may be used for any BEGIN word code if it is translated appropriately before punching. For example, the characters that are used for the GE-DATEX card input diffractometer are suitable for the paper-tape input machine if the following conversion table is used.

  TYPE OF       BEGIN WORD       TAPE CODE
   WORD            CODE          87654.321
 
   HKL              W            01000.110
   CHI              Y            01001.000
   PHI              /            01000.001
TWO-THETA           S            01000.010
  OMEGA             O            01000.100
 (DIGITS)          0-9           R-4-2-1 BCD

If the tape is to be punched in ASCII code, two sets of letters give the required bit configurations in channels l-4 and 7, which are the only ones the equipment reads. The digits 0-9 also conform with respect to these channels.

  TYPE OF       BEGIN WORD       TAPE CODE    BEGIN WORD       TAPE CODE
   WORD            CODE          87654.321       CODE          87654.321
 
   HKL              F            11000.110        V            01010.110
   CHI              H            01001.000        X            11011.000
   PHI              A            01000.001        Q            11010.001
TWO-THETA           B            01000.010        R            11010.010
  OMEGA             O            01000.100        T            11010.100

(At NBS, X, Q, R and T are used for axis position commands and F is used for HKL identification data transfer.)

Considerable flexibility in generating the diffractometer tape or cards is provided. The program is designed around a ten-character command word such as is used by the GE-DATEX diffractometer, but other formats can be obtained. As many as twelve command words can be specified for measurements on each data reflection and (independently) on up to nine standard reflections. If fewer than twelve commands are used for a reflection, the unused ones are ignored. The same is true if fewer than nine standard reflections are specified.

The current data reflection, which changes each time a new HKL is generated, and the nine standards are numbered sequentially from 1 to 10 for identification. The data reflection is always number 1. These numbers appear on the =STDREF=, =XRDFMT=, and =TTYFMT= cards to indicate which reflection they apply to. All the cards for a given standard must be together, followed by the =HKL= or setting card that determines which reflection is to be measured. All standard reflections must be ordered according to identification number. Parameters on the =STDREF= card determine how many data reflections are to be done before that standard is inserted. All reflections within the index and angle limits (including systematically absent reflections, but not standard reflections) are counted. During each output cycle commands for one data reflection, and any standard reflections whose turn has come up are put on the diffractometer control tape or in the card deck.

Either an =HKL= card or a setting card may be used to provide the setting angle data for a standard reflection. An =HKL= card causes settings to be computed. The index and angle limits are checked, and the PHI angle correction, if any, is applied. Setting cards (generated hy this program in a previous run, or punched in the same format) may be used to provide up to five angle settings. The indices and the angles in the CHI, PHI, START TWO-THETA, PEAK TWO-THETA, and STOP TWO-THETA fields are used as specified on the =XRDFMT= card. There are no checks made, and fictitious indices and angles may be used for special purposes such as checking arc alignment, TWO-THETA drift, and crystal deterioration. It is possible to use two standard reflections together to manipulate as many as ten angle settings with as many as 24 commands.

Only the first =HKL= or setting card after a =STDREF= card is treated as a standard reflection. Any others are treated as data reflections. Thus it is possible to use =HKL= and setting cards as input to this program in order to prepare a control tape or card deck in a special order or for a few scattered reflections.

It is wise to check out the processing of output data before running a large job.

DUMCOP: Dump or copy the binary data file

Binary Data File Dump, Copy, or Punch

=DUMCOP= was written by J.M. Stewart.

This link is designed to aid in checking out new programs. It will dump the contents of the binary data file, physical record by physical record. The alphanumeric material in the file will not be printed correctly but all integers and floating point quantities will be printed properly.

This link may also be used to simply copy the binary data file. This function may be found useful when one wishes to transfer a file from one mass storage device to another (e.g. drum or disc, to tape).

FC: Structure factor calculation

Program for the Calculation of Structure Factors

The basic programming of the structure factor program was done by James M. Stewart at the Ohio State University during 1958-1960 for the IBM 704. This program was written for the IBM 709 by James M. Stewart and Darrell High at the University of Washington during 1960-1962. The current Fortran version was prepared in 1965 by Robert Braun and J. M. Stewart. The latest version (1970) was written by F.A. Kundell.

The structure factor calculation is accomplished in two steps - the first reads the atom parameters from the binary data file and generates the full cell of atomic coordinates, and the second calculates the structure factors.

This method of calculating structure factors is useful in that it is a faster method for structure factor summation because of the simpler summation algorithm. In addition to this feature the program is faster than a least squares program because no derivatives are calculated. It thus serves as the best link to use when fixed atom structure factors are prepared or when one wishes to calculate structure factors to give phases, for example, for a Fourier or Difference Fourier calculation.

Since the program generates all the atoms in the unit cell, the restrictions on numbers of atoms is dependent on the number of symmetry operations supplied at data reduction time. For a triclinic cell, PI or PI BAR, the program will handle thousands of atoms in the asymmetric unit cell, the limit depending upon specific machine storage availability.

Each of the atom type scattering factors may have the Templeton dispersion correction (2,3) applied as desired if these correction data had been stored in the binary file during data reduction.

(1) F(J) = F(J) + F'(J) + F''(J) where F(J) is the scattering factor from the tables supplied at data reduction, F'(J) is the Templeton correction to the real part of the scattering factor, F''(J) the imaginary part of the dispersion correction.

In addition to the calculation of the structure factor for each reflection in the binary data file, the program will apply the extinction correction, see =DATRDN= for a complete description of this factor.

The program operates in four temperature factor modes:

  1. Overall
  2. Individual isotropic
  3. Individual anisotropic
  4. Individual mixed anisotropjc and isotropic

Provision has been made to list the structure factors, displayed in this listing are - H, K, L, SIN(THETA)/LAMBDA, SCALE GROUP, F OBSERVED, F CALCULATED, A, B, DELTA F, WEIGHTED DELTA F, the PHASE of the reflection from the values of A and B and the phase angle from direct methods (if it has been placed in the binary data file for a given reflection). There is a control over whether the dispersion calculation is to be carried out or not. There is also an option to cause statistics to be printed out which show how the reflection data is sorted on the binary data file. This feature is useful as a check before =LISTFC= is to be used. It permits one to know that the data are sorted in an appropriate manner for final listing. The ability to carry out =PARTIAL= contributions calculations is a feature of this program which allows the calculation to be carried out for very large structures. See GENERL System Terminology, partial contribution for a detailed description of this option. Both X-ray and neutron data may be treated.

Certain other functions are calculated as a logical adjunct to the structure factor calculation. These are 1) the number of atoms being treated, 2) the number of reflections being treated, 3) the number of observed reflections (JCODE=1), 4) the number of unobserved reflections (JCODE=2), 5) the number of reflections ignored (JCODE=3,4,5), 6) the number of reflections where the the ratio of FO/FC lies outside the range 0.1 to 10., i.e. the number of reflections in very serious disagreement, 7) the overall linear scaling ratio, i.e. the sum over all the reflections of abs(F CALCULATED) divided by the sum of abs(f OBSERVED), 8) the slope of ln(FO/FC) vs (SIN(THETA)/LAMBDA)**2, i.e. an indicator of the goodness of the temperature factor(s) applied, 9) the F RELATIVE scale factor, i.e. the sum of abs(F CALCULATED) divided by the sum of abs(F RELATIVE), and finally (10) the conventional R value, i.e. the sum of abs(DELTA F) divided by the sum of abs(F OBSERVED).

FOURR: Fourier transformations to give Patterson, vector, electron density, difference, or E maps

Fourier Synthesis Program

The initial plan for programming the Fourier synthesis program was worked out by Lyle H Jensen and Darrell F. High. The initial programming was dome by Darrell F. High and brought to its present form by James R. Holden, James M. Stewrat, and Hiroshi Takeda.

The refinement of crystal structures is facilitated by use of Fourier transforms. Cochran and Lipson, Buerger, and many others supply information on the use of this valuable technique. This Fourier program was designed to have a number of features:

  1. Automatic operation for all space groups
  2. Any convenient grid (e.g., 1/60, 1/13, 1/373) or automatic layout to inch/angstrom scale if desired
  3. Print out of Fourier map ready to be contoured, or with suppression of background to facilitate this operation or perhaps eliminate its necessity
  4. Many options for coefficients
  5. Reasonable speed
  6. No restrictions on reflection order (except for maximum speed)
  7. Prepare a binary file of the map to serve as input to other routines.

A paper by Jurg Waser and a monograph by Lipson and Taylor serve to point the way in which condition (A) may be met. A symmetry relationship in real space causes an equivalent symmetry relationship in reciprocal space. The transposed rotation matrix being applied to the indices H, K, and L, and the translation modification of the phase of the symmetrically related reflection. The actual Fourier summation is accomplished by summing all space groups as if they were triclinic, using the method of factoring shown in Jensen and Stout, X-ray Structure Determination, section 9.2, p, 246 et, seq.

The binary data file, however, contains only a unique set of reflections plus the necessary indicators to make possible the automatic generation of symmetry related reflections. The data reduction program analyzes the space group symmetry operations for a set of rotation matrices (R) and translation vectors (T) which are stored in the binary data file. These generations are applied to each unique reflection and a set of codes are formed which define for each unique reflection the operations necessary to generate the symmetrically related reflections. The operations may include sign changes and permutations of H, K, and L, and phase rotations of A and B. The Fourier program uses these codes to deliver the correct generated set (properly combined A(H,K,L),A(-H,K,L), A(H,-K,L), A(H,K,-L) and similar B terms for the summation.

The calculations are done by factoring the three-dimensional summation into three one-dimensional summations, after the manner of Beevers and Lipson. Summation is carried out over one hemisphere of reciprocal space, symmetry related reflections being generated from a unique set of observations.

The symmetry operations of the space-groups may be written in terms of rotation matrices (R) and translation vectors (T) (see equation 1). Wastes result, in matrix notation, is given in equation (2).

The table gives all allowed values for phase changes in the crystalographic space groups. Also tabulated are the effects of the real and imaginary parts of F(H). In addition to the phase change, the problem of the generation of the symmetrically related indices (R-PRIME H) must be handled.

For non-diagonal rotation, the magnitude of H, K, L as well as the signs will be altered.

In the following discussion, the concept of scanning or summation order will be used - thus, H(1) is the index summed over first and X(1) the corresponding coordinate will be generated. It varies from page-to-page (section-to-section) in the output. Similarly, H(2) is summed second and X(2) varies vertically (line-to-line) down the page, while H(3) is summed third - and X(3) varies horizontally (point-to-point) along the line. On the other hand, the notation X, Y, Z, and H, K, L represents the coordinates and indices referred to their conventional axes. Program input is always in terms of the conventional directions, the scanning order being specified on the =LAYOUT= card or chosen automatically if the =LAYOUT= card is omitted. It is sometimes necessary, however, to consider the scanning order, especially with regard to program limitations which are described below.

In order to simplify the use of the Fourier program and make interpretation easier it is possible to leave out the =LAYOUT= card and let thf program establish grid divisions based on a consideration of resolution desired and character positions of the lineprinter. An article in Science, vol 143 No. 3611, 1:62_1163 (1964) gives a method suggested by J. D. H. Donnay and H. Taceda. The program uses an improvement of this approach. A Fourier laid out in the following manner results in developing the electron or Patterson or difference Fourier at the appropriate point, in the authors terminology the machine grid point. In order to print out undeformed sections true to a specified scale (in angstroms/inch) the following values may be supplied in the =LAYOUT= card or if the =LAYOUT= card is omitted they will be supplied automatically :

  1. The cosine of the angle ALPHA, BETA or GAMMA (QU) between the axis in the printed pages (sum directions 2 and 3)
  2. The number of divisions across the page (third sum direction) (must be equal to (CELL LENGTH(3) * (incnes/angstrom) * 10.0)/(number of character positions per Fourier grid column))
  3. The number of divisions down the page (second sum direction) (must be equal to (CELL LENGTH(2)) * SIN(QU) * (inches/angstrom * 6.0)/(number of print lines per each Fourier grid line))
  4. The number of divisions from page to page (may represent any sensible resolution (e.g. quarter or third angstrom)). Remember that if there is an angle between any axis and the page to page axis, then one must off-set each layer accordingly.

The following coefficients are presently coded into the Fourier program.

  1. Unused
  2. Patterson A = (FO**2) as coefficient
  3. Vector Map: sharpened, origin removed Patterson. =DATFIX= must be run first (=NORMSF= will not do as it puts EPSILON into the appropriate reflection word in the July 1970 release) in order to generate E values.
  4. FO Fourier: Substitute HO/2 for LESS-THANs and then test all reflections - if (FO * RR -ABS(FC)) less than zero, then reflection is used, where (RR) is a rejection ratio supplied in the =FOURR= card. If an (RR) is not supplied, (RR) is arbitrarily set equal to zero so that all reflections are used. Substitute FC for FO for extinct reflections (if any).
  5. Unused
  6. FO Fourier: Phase Angles determined from the phase of the quasi-normalized structure factors for only those reflections or KNOWN phase. Criteria of type 4 are used, rejecting all LESS-THANs.
  7. FC SYNTHESIS: uses all reflections with magnitudes and phases of the calculated structure factors as amplitudes.
  8. DELTA-F: test observed reflections - if (FO * RR - ABS(FC)) less than zero, reflection is used where (RR) is a rejection ratio supplied in the =FOURR= card. If an (RR) is not supplied, (RR) is arbitrarily set equal to zero thus making a zero-percent rule. Test LESS-THANs: if (FO - ABS(FC)) LESS-THAN ZERO reflection is used. Rejects all extinct reflections (if any). (e.g.- RR = 0.50 is 50-PERCENT rule, and RR = 1.00 is 100-PERCENTrule).
  9. DELTA-F: for observed reflections, each DELTA-F is multiplied ny the least squares weight: (W * (FO - abs(FC))). Test LESS-THANs - if (FO - ABS(FC)) less than zero, reflectlon is used. Reject all extinct reflections (if any).
  10. Unused
  11. DELTA-F: observed reflections only. Reject all LESS-THANs and extinct reflections (if any).
  12. DELTA-F: variable weighting applied: where W = (ABS(FC/FO), to all observed reflections and LESS-THANs where (ABS(FC) greater than FMIN). Reject LESS-THANs where (ABS(FC) less than FMIN) and all extinctions (if any).
  13. E MAP: uses quasi-normalized structure factors (E) generated by =DATFIX= or =NORMSF= as coefficients, phases predetermined (e.g. from Karle and Karle symbolic addition procedure). Reject all deflections with undetermined phase, reject when the magnitude of (E) is less than (RR). Reject all LESS-THAN reflections. Estimated phases must have been placed in the binary data file by use of =PHASE=, =TANGEN=, =MODIFY=, or similar program.
  14. E MAP: phases from a structure factor calculation. Reject when the magnitude of (E) is less than (RR), reject all LESS-THAN reflections.

Note that there are two scale factors of importance in the final values printed for the Fourier summation. The first is the scale of F RELATIVE which applies only to the calculation types which use F RELATIVE. In general the F RELATIVE scale factors are used to put the F RELATIVES on, the scale of absolute F CALCULATED. Once this is done, the other scale factor becomes important. This is called the electron density scale factor and is supplied in the =FOURR= card. As a rough guide when using the program in the 4 columns/grid point mode the following rules may be applied for organic compounds with atoms lighter than bromine:

COEFFICIENT TYPE  ELECTRON DENSITY SCALE  UPPER LIMIT  LOWER LIMIT
   F**2                 .1                   10         -999
   F                    10.                  10          -99
   DELTA F              100.                 9            -9
   E**2                 1000.                10         -999
   E                    1000.                10          -99

Once the calculation switches are set the program reads, reflection hy reflection, the unique set supplied on the binary data file. It will reject any reflection having a SIN(THETA)/LAMBDA or H or K or L greater than specified on the =MAXHKL= card or the value stored in the binary data file at data reduction time if no =MAXHKL= card used. On the first pass through the binary data file FC's may be printed if the user so desires. All the reflections in the file are listed, and those reflections rejected are marked with =P=. The correct coefficients are formed for the current reflection and contributed to the first summations. (No sorting is required except to gain maximum computing speed.) Once all reflections in the binary data file have been treated, the second and third sums are calculated for all the first sum coefficients stored.

The Fourier calculation subroutine which does the actual Fourier summation contains a provision for breaking the summation up into an optimum number of passes. This is done when the whole calculation cannot be accomplished in a single pass through the binary data file. For example the following limitations may apply (depending upon 32000 words of core available for program and storage, e.g. 65K 1108).

1. The product of the (maximum values + 1 ) of the second and third summation indices may not exceed 5000 (e.g.- H(2)MAX equals 99 and H(3) MAX equals 49. or H(2)MAX equals 77 and H(3)MAX equals 63, etc.).

2. The product of the (third summation index + 1) and the number of points along the second sum direction may not exceed 2000 (note that the number of points does not necessarily or usually equal the second sum grid specification) (e.g.- an H(3)MAX equal to 49 limits points such that X(2) could he (0 - 1/4) in 159ths, (0 - 1/2) in 79ths. etc.).

3. The finest grid which may be calculated in the first sum direction is l/2627, in the second sum 1/400, and 1/200 in the third sum direction.

4. The above restrictions may be rescinded only by reassignment of storage and recompilation, see program statements and comments for details.

Because of the particular method of summation a very large number of reflections can be accommodated.

No intermediate files are written. the main part of the memory holds second sum coefficients for as many levels as possible - if all levels cannot be processed in one pass the calculation is divided into two equal passes and so on. During the second sum, only the third sum coefficients for one layer are stored at any given time and only one line of electron densities is carried in storage. As soon as the lines are formed they are output to the line printer. It is possible to suppress printing values between selected maximum and minimum cut-off points by the use of a =MAP= card. This greatly facilitates interpretation of the printed maps.

LISTFC: Lists structure factors for publication

Program for Listing Structure Factor Data

The =LISTFC= program was written by J. M. Stewart and R. L. Braun based on a program of D. High.

=LISTFC= is designed to give lists of FC and FO with their corresponding H, K, and L, and for acentric space groups, the phase angle alpha. These lists are designed to be as succinct as possible and if printed on white paper with a new ribbon will be suitable for photography. The formats of the output are designed to meet the requirements for Journal referees and/or thesis committees.

The program prints its listing jn terms of a =LISTFC= page, the size of which is at the user's discretion and is independent of the size of the printer paper. + Signs are printed as fiduciaries for alignment for photo-reproduction. This =LISTFC= page will be divided into an integral number of =LISTFC= columns, depending upon the total number of print positions required for the various data chosen on the =LISTFC= card.

In order to list with this program the reflections must be sorted in exactly the way the lists are to be made. If this was not done before =DATRDN= it will be necessary to take appropriate steps to place the reflections in order. Many options are given, and reference to the card formats in section LISTFC should make this clear. The program will either list from a system binary data file or from cards containing H, K, L, FO, etc, which may be punched using this program.

All reflections with JCODE greater than 5 are ignored.

The usual control card structure for a thesis page would be as follows:

Centric Structure
00000000001111111111222222222233333333334444444444555555555566666666667777777777
12345678901234567890123456789012345678901234567890123456789012345678901234567890
LISTFC COMPID123  50   3 8 3 6 6         1 1   1             5
Acentric structure
00000000001111111111222222222233333333334444444444555555555566666666667777777777
12345678901234567890123456789012345678901234567890123456789012345678901234567890
LISTFC COMPID123  5U   3 4 3 6 6         1     1             5

The usual control card structure for a journal page would be as follows:

Centric Structure
00000000001111111111222222222233333333334444444444555555555566666666667777777777
12345678901234567890123456789012345678901234567890123456789012345678901234567890
LISTFC COMPID123 152  13 2 3 5 6 0       1 1                 5
Acentric structure
00000000001111111111222222222233333333334444444444555555555566666666667777777777
12345678901234567890123456789012345678901234567890123456789012345678901234567890
LISTFC COMPID123 152  11 2 3 5 5 4       1                   5

LOADAT: Load atomic parameters into the binary data file

Atomic Parameter Loading Program

Programming for this link was first written by J. M. Stewart and Linda Plastas. The current program was written by F.A. Kundell. The new program is completely new and includes the ability to establish the constraints on atoms in special positions.

The function of this link of the X-RAY system is to serve to place the atomic parameters in the proper arrays in the binary data file. This means that this program must always he used at least once before any program which calculates structure factors (e.g., =FC= , =CRYLSQ=, etc.) may be used. This program permits either an a priori loading of atomic coordinates or the editing of parameters all ready stored in the data file.

The overall plan is such that at an a priori start all atomic quantities will he taken from cards and be placed in the binary data file. At an update, quantities from cards will take precedence, but no information from the file will be lost. The possibility for insertion, deletion, and replacement all exist. Considerations concerning atom identification is described in GENERL.

Note that this program serves all the structure factor calculating programs which themselves cannot load atomic coordinates. They can, however, select particular atoms or atom types from the binary data file prepared by =LOADAT=.

Data must bt presented to =LOADAT= in four distinct groups. That is to say, input card order is important in the logic of the program. The first group of cards consists of those which deal with general parameters of a structure under study. These are =SCALE=, =GRID=, =MAXHKL=, =LABEL=, =EXTINC=, =DISPER=, =CELCON=, =UATOMS=, and =U= overall or =B= overall. The second group is that which deals with the parameters of atoms in the structure. These are =ATOM=, =ATOMG=, =U=, =B=, =UIJ=, =DIJ=, =BETA=, and =ATOMD=. The third group is that which deals with special constraints one wishes to impose in the course of refinement of the structure, and these are =BLOCK=, =REF=, =NOREF=, =CONSTR=, =GROUP=, and =IDMOL=. The fourth group is that which deals with the modification of reflection information stored in the binary data file. These are =DELHKL= and =EDIT=. The order of these groups is dictated by the order of storage of data on the binary data file (see Appendix 6).

The first group contains data which is simply copied to the output binary data file superceding the corresponding quantities on the input file. In general, fields left blank or with physically unreasonable quantities are ignored.

The second group. however. is treated in much greater detail and is the burden of the calculation carried out by =LOADAT=. All the parameters of known atoms of the asymmetric set (see GENERL) name, scattering factor type. X, Y, Z, population parameter, temperature factors, and estimated standard deviations are loaded. Once stored, they are checked for physical reasonableness.

For each atom the symmetrically equivalent atoms to it are generated under the given symmetry operations. From this list, the atom in special positions may be detected by their coincidence with respect to X, Y, Z. The number of times any given atom falls upon itself then gives the site multiplicity (as given in Int. Tab. Vol. I). When an atom is found to be in a special position an analysis is carried out by a method of equating coefficients. That is to say, when the symmetry operations which give rise to an atom landing on itself have been identified, the symbols for the parameters of the atom may be operated upon and give rise to equations which express the restraining conditions of the particular site. For example, P4 with symmetry operations:

--        --     --        --     --        --     --        --     
| 1   0   0 |    |-1   0   0 |    | 0   1   0 |    | 0  -1   0 |    
| 0   1   0 |    | 0  -1   0 |    |-1   0   0 |    | 1   0   0 |    
| 0   0   1 |    | 0   0   1 |    | 0   0   1 |    | 0   0   1 |    
--        --     --        --     --        --     --        --     

and an atom read in at 1/2, 1/2, Z. All four generations give rise to exactly the same coordinates (modulo 1). The symmetry operations require that X = -X = Y = -Y and that Z is independent. The only numerical values modulo 1 that have this property are 0 and 1/2. Since 1/2 is supplied, it is accepted and the parameter coded invariant.

In full generality including space groups with translational symmetry, the equations may he no more complex than Y = AX + B.

For the anisotropic temperature factors, a similar treatment is used. since the atoms generated are in fact all one atom in the above. All four generated temperature factors must be identical. In other words EXP(H*BETA*H(TRANSPOSE)) must give the same numerical value. This means that H*R*BETA*(H+R)(TRANSPOSE) will give rise to four matrices of elements U11, ..., U23 which may me equated and the constraints on the temperature factors reduced. Returning to the example of P4 the four matrices generated are as follows:

--        --         --        --    
| U11   U12  -U13 |        |-1   0   0 |   
| U12   U22  -U23 |  BY    | 0  -1   0 |   
|-U13  -U23   U33 |        | 0   0   1 |   
--        --         --        --    

--        --         --        --    
| U11   U12   U13 |        | 1   0   0 |   
| U12   U22   U23 |  BY    | 0   1   0 |   
|-U13   U23   U33 |        | 0   0   1 |   
--        --         --        --    


--        --         --        --    
| U22  -U12   U23 |        | 0   1   0 |   
|-U12   U11  -U13 |  BY    |-1   0   0 |   
| U23  -U13   U33 |        | 0   0   1 |   
--        --         --        --    


--        --         --        --    
| U22  -U12   U23 |        | 0  -1   0 |   
|-U12   U11  -U13 |  BY    | 1   0   0 |   
|-U23  -U13   U33 |        | 0   0   1 |   
--        --         --        --    

These results imply that for an atom in this special position in this setting of the space group P4 that:

U11 =  U11 =  U22 =  U22
U12 =  U12 = -U12 = -U12
U13 = -U13 =  U23 =  U23
U22 =  U22 =  U11 =  U11
U23 = -U23 = -U13 = -U13
U33 =  U33 =  U33 =  U33

A moment's reflection will show that a requirement of U12 = -U12 implies that U12 is zero. This method works in general and requires no consideration of translations symmetry.

It should be noted that if two atoms are included which are really the same atom, =LOADAT= does not check among the atoms except for name. (see GENERL for naming rules). This kind of checking is carried out by =BONDLA=.

The program calculates all the space group special constraints except that of fixing the appropriate parameter(s) for one atom of the asymetric set of atoms in a polar space group. For example, in P4 cited above the Z parameter of one atom must be specified as fixed. The usual practice is to choose the atom of highest atomic number.

The third group of input cards serves to store information concerning the special relationships desired for the structure under study. They may also be supplied under the =CRLSQ= link.

The fourth group is for the purpose of deleting reflections and hence shortening the reflection output record and for editing chosen reflections on the data file. The only quantities which mav be edited are JCODE, LEVEL INDICATOR, F RELATIVE, LEAST SQUARES WEIGHT. Any complicated editing should be done through =DATRDN=, =MODIFY= or =WTLSSQ=.

The program runs in either the a priori or update mode. In the former case all atomic parameters are purged and those supplied are accepted, checked and loaded. In the latter case, any atom name not in the file is added, any present replaced, and =ATOMD= may be used to remove previously named atoms.

LSQPL: Calculation of equations of 3-dimensional planes and lines

Least Squares Plane and Line Program

The least squares plane and line program, =LSQPL=, is a program to calculate 3-dimensional planes or lines without regard to the figure's distance from the origin. This program was written by Roger V. Chastain, and modified by Wilson H. de Camp.

The method of calculation is that of Schomaker, et a|, with the exception of the method for obtaining the roots of the cubic equations in Lagrangian multipliers. Schomaker, et al, used an iterative technique; whereas this program solves for the roots directly by the general solution equations.

The operation of the program can be described as follows - first the necessary data are read from cards and/or the binary file, then the equation of the line or plane is calculated. It is possible to calculate the equation of a plane or line with a center of symmetry at the origin or any other point permitted by space group symmetry by supplying the atoms in one asymmetric unit only and coding the program to generate equivalent atoms before pursuing the calculation (this code is in the calling card).

The calculation of the least squares plane or line is over the (N1) atoms (specified in the calling card) on the first (N1) =ATOM= cards in the data plus the generated centrosymmetric atoms if so coded. If more than (N1) =ATOM= cards are supplied, the excess will he ignored in the calculation of the equation, but will be considered in the calculations of the distances of atoms from the line or plane. When working from a binary data file, it is necessary only to supply the atom identifications of the atoms defining the line or plane. Distances from the line or plane will be calculated for all other atoms in the file.

Frequently one is interested in angles between planes and lines. =LSQPL= can be coded so that, if a series of =LSQPL= calculations are submitted one right after another, the angles between all pairs of lines and planes will be calculated for those lines and planes coded non-zero in the calling sequence. The order of =LSQPL= calculations is not important as long as no other system program is called between successive plane calculations.

MODIFY: Binary data file editing and generation of pseudo data

Modification of the Binary Data File

This program was written by J.M. Stewart. The purpose of this link of the X-RAY system is to provide a mechanism for making insertions and replacements of quantities in the binary data file. A quantity might be the phase of selected reflections, new values of the standard deviation of unit cell parameters or any other quantities stored in the data file. The input deck permits replacement or addition by three methods. One through the use of =MODFIL= cards, one by means of =MODREF= cards, and one which produces F RELATIVES of controlled error. (This is done by replacing every relative structure factor with the current value of calculated structure factor multiplied by an arbitrary scale and modified to have a stipulated amount of random error.)

The =MODFIL= card gives the user the direct ability to specify and replace any word of any physical record of any logical record in his binary data file.

The =MODREF= card permits the user to replace any specified quantity for any specified reflection in the binary data file. One may not remove (except by coding as ignored, i.e. JCODE=4) nor insert reflections within the file.

The replacement of F RELATIVE is carried out when it is signaled in the =MODIFY= card. This function is provided for experimental and test calculations to provide controlled data of known random error (phony data).

The main restrictions in the use of this program are:

  1. The =MODFIL= and =MODREF= cards must come in exactly the same order as the data comes in the file (see Appendix 6 for a description of the binary data file)
  2. =MODFIL= cards which call to modify the reflection record cannot be used at the same time as =MODREF= cards - all =MODFIL= cards must come before any =MODREF= card
  3. Two separate =MODIFY= runs are required if one wishes to modify both a reflection record with =MODREF= and also a record beyond the reflections with =MODFIL=.

Each card for modification provides for the input of two quantities, one fixed point, the other floating point. If the fixed point quantity is zero, the floating point quantity is stored. If both are zero, zero is stored, in neither case is the mode changed. It is essential that one take care in using this link since no restriction is placed on the quantities which may be replaced and this could lead to very strange errors in subsequent runs from the modified data file.

One way in which this program could be used is to place phases in the data file for reflections determined by the symbolic addition procedure of Karle and Karle. In this case a =MODIFY= card with the compound identity is prepared, then a bundle of =MODREF= cards each with H, K, L, the word catalogue number (20) and a phase angle in cycles punched in them. These must be sorted in exactly the same order as the original data reduction reflections - only those reflections to be modified need be present. The catalog number indicates the relative position in each reflection record where the estimated phase belongs. In the floating point field of each card one places a zero for phases of zero, a 0.5 for phases of PI radians. Thus the phase angle ALPHA is inserted in units of cycles between -0.9999 and +0.9999. Finally the deck is concluded with an =END= card.

If one wishes to replace more than one quantity for the same record or reflection, appropriate =MODFIL= and =MODREF= cards are placed right next to one another with the various word designations set properly. It should be noted that =HKL= cards of data reduction also allow for the storing of phase information.

It should be obvious that this program is intended only for limited and special modification of the binary data file. when extensive changes need to be made =DATRDN=, =LOADAT=, etc. are designed for these purposes.

NORMSF: Preliminary data scaling, calculation of quasi-normalized structure factors (E), and estimation of overall temperature factor

Calculation of Normalized Structure Factors

=NORMSF= is a program to calculate quasi-normalized structure factors and in the process, to estimate temperature and scale parameters. In addition to this, statistical information needed in the direct phasing methods is obtained. The program was written by Syd Hall based on earlier work done by himself and Ted Maslen. It has been adapted to the X-RAY system by Michael Schneider.

In the application of statistical phase determination methods to crystal structure analysis, a necessary first step is the treatment of the unscaled F RELATIVE values. This is done by applying scale and thermal corrections and calculating the quasi-normalized structure factors (E's). E's have properties which are theoretically independent of molecular structure although their distribution depends upon the centric or acentric character of the lattice.

E's are calculated in =NORMSF= from the following relationship:

                          /F(H,K,L)/
/E(H,K,L)/ =  ---------------------------    - DK
              SQRT(EPS*SUMMATION(F(J)**2))

where /F(H,K,L)/ is the structure factor on an absolute scale (and is further described below)

EPS
is a correction factor allowing for space group symmetry and converts quasi- into normalized structure factors. It is calculated at data reduction time and placed in tht binary data file (see GENERL).
F(J)
is the Jth scattering factor at the appropriate SIN(THETA)/LAMBDA value for the reflection
DK
is the F RELATIVE scale factor correction to ensure that tht average value of /E/**2 =1.0

A formal discussion is presented in reference 1 and the literature cited therein.

In the course of the calculations, the following two quantities are required:

F(000) = SIGI

           SIGI
E(000) = --------
         SQRT(SIG2)

where SIGI = SUMMATION(Z**I) and Z is the atomic number of each atom in the unit cell.

Four methods are used in =NORMSF= for correcting F RELATIVE (FREL(H,K,L)) for scale and thermal factors, of which.the first two are isotropic. The other two are anisotropic fits and are based on the method of Maslen.

1. E(1) is calculated using /F(H,K,L)/ derived from:

/F(H,K,L)/ = /FREL(H,K,L)/ *K*EXP(M)
where    M = B*S**2
and      S = SIN(THETA)/LAMBDA

The values of the F RELATIVE scale factor,k, and the overall isotropic temperature factor, B, are estimated by a least squares fit to the Wilson plot of:

        SUMMATION(MULT*EPS*SIG2(S))
LN( ---------------------------------- )
     SUMMATION(MULT*/FREL(H,K,L)/**2)

against the average value of S**2

Where MULT is the reflection multiplicity in 19 overlapped ranges, each occupying an equal volume in reciprocal space (i.e. equal increments of S**3).

2. E(2) is derived using:

/F(H,K,L)/ = /FREL(H,K,L)/*K(S)

The J(S) curve is taken as the 19 averages interpolated into 0.01 increments of S**2. This procedure provides a non-linear approximation and it may be found necessary to request more than the default number of correction cycles in order to obtain satisfactory values.

3. E(3) is derived using:

/F(H,K,L)/ = /FREL/*K*EXP(M + DM1)
where
DM1 = DB(11)*H**2 + DB(22)*K**2 + DB(33)*L**2 +
      DB(12)*H*K + DB(13)*H*L +DB(23)*K*L
with
   DM1 referring to DELTA M PRIME
   DB  referring to DELTA BETA

The values of DB(IJ) are obtained by a least squares fit to the plot of:

              SUMMATION(MULT*EPS*SIG2(S))
LN( -------------------------------------------------- )
     SUMMATION(MULT*(/FREL(H,K,L)/**2)*K**2*EXP92*M))
     
 versus  AVERAGE VALUE OF H**2 FOR DB(11)
         AVERAGE VALUE OF H**2 FOR DB(22)
         AVERAGE VALUE OF H**2 FOR DB(33)
         AVERAGE VALUE OF H**2 FOR DB(12)
         AVERAGE VALUE OF H**2 FOR DB(13)
         AVERAGE VALUE OF H**2 FOR DB(23)

4. E(4) is derived using:

/F(H,K,L)/ = /FREL/*K(S)*EXP(DM2)
where
DM2 =  DB1(11)*H**2 + DB1(22)*K**2 + DB1(23)*K*L 
with
UM2 referring to DELTA M DOUBLE PRIME
UB1 referring to DELTA BETA PRIME

The values for DB1(IJ) are obtained by a similarmethodin the calculation of DB(IJ), with the average values of:

H**2, K**2,...K*L
plotted against:
        SUMMATION(MULT*EPS*SIG2(S))
LN( ----------------------------------- )
      SUMMATION(/FREL/*MULT*K(S)**2)

As with the isotropic non-linear corrections, it is necessary to iterate these values a number of times to obtain reliable estimates, a damping factor may he applied, if necessary, to assist with convergence.

The anisotropic corrections, DB(IJ) and DB1(IJ), are also adjusted for correlation effects. DELTA B and DELTA B PRIME, with the isotropic temperature factor before being used to calculate the normalized structure factors E(3) and E(4).

Sequence During the Calculation

The calling card and data cards are read in and checked. If there are too many reflections than can be handled in core (ca, 5000), they are placed on a scratch file, =NFILEE=, B and K for E(1) and E(2) are calculated. at the end of this, as for all calculations, plots are printed for relevant information on a graph. The DM(IJ) corrections are then made for E(3) and DB(IJ) and for E(4), and plotting is again carried out. Finally, a new binary data file is written with all four normalized structure factors stored therein.

PARAM: Least squares refinement of cell parameters from TWO-THETA data

Least Squares Refinement of Lattice Parameters

The program for the least squares refinement of lattice parameters was written by Richard A. Alden. It was adapted to the system and slightly modified by Herman L. Ammon and F. Mauer.

The refinement is accomplished by minimization of the quantity R:

D = ARCSIN(((SIN THETA CALC)**2)**0.5) - THETA DBS
R = SUM OVER J OBSERVATIONS OF (D(J)/SIGMA(2 THETA))**2

Necessary data for the refinement consists of the radiation wavelength used, lattice type, crude lattice parameters, TWO-THETA values for several reflections (at least ten should be used) and their standard deviations. It is recommended that axial reflections be avoided. The standard deviations are used only to weight the several TWO-THETAs. =PARAM= will set all unspecified standard deviations to 0.01, a case in which all TWO-THETAs have equal weight. If SIN(THETA) is greater than 1.0 for any reflection, it will be omitted from the refinement.

TWO-THETA measurements utilizing different wave lengths can be mixed together in the same =PARAM= run.

The refinement will stop when any one of the following three conditions is met:

  1. five cycles have been calculated
  2. no change in a lattice dimension calculated during the last cycle was greater than .0005 angstroms
  3. no change in a lattice angle calculated during the last cycle was greater than .005 degrees.

Output for each cycle consists of old and new parameters, parameter changes, estimated parameter standard deviations, the error of fit and correlation coefficients. Following the last cycle, a summary of input TWO-THETA's calculated from the new lattice parameters and the difference between these two values is given. A rapid scan of the difference column will serve to spot any unusually bad observed TWO-THETAs and is well worth the minute required to do so.

Equations for the important quantities calculated are:

Error of fit = E = (N-K)**-0.5 SUM D(K)/SIGMA(2 THETA)
Estimated standard deviation = S - (M**-1)E
N = number of observations
K = number of parameters
M = matrix of normal equations adjusted
Correlation coefficient = C(N,M) = M(N,M)**-1/((M(N)**-1(M(M)**-1))**0.5

The programs =PARAM=, =DIFSET=, =DIFPCH= and =DATCO5= form a logically connected set for using the XRD-6 at Maryland. A discussion is given here as an example of data gathering and preliminary data treatment. This aspect of computing techniques applied to crystallography is as diverse as the number of different laboratories.

=PARAM= accepts TWO-THETA data for a number of carefully measured reflections and produces precise cell parameters. It is necessary, because of the limitation on minus TWO-THETA and on the XRD-6, to:

1. Pick medium strong reflections

2. Measure plus and minus TWO-THETA by averaging half height values of OMEGA in order to obtain the average value of TWO-THETA. Choose a set of reflections with TWO-THETA values between 2.7 and 20.0 degrees. The reflections must be of visible size on the 1000 scale of the recorder (2000 DCTS / 10 sec). The CHI values range from a minimum of 16 degrees for a TWO-THETA of 4 degrees to a minimum CHI of 90 degrees for a TWO-THETA of 26 degrees. These requirements for CHI are due to the mechanical problems encountered as one goes to negative TWO-THETA values on the XRD-6. Choose appropriate reflections from looking at the survey films and the preliminary =DIFSET= as calculated from film cell dimensions. The CHI, PHI, and TWO-THETA are used to position the crystal for a given reflection. Then using the manually operated OMEGA, the reflection is half-heighted first on the low side of the peak and then on the high side. The values of OMEGA for the given CHI and PHI are recorded for PLUS TWO-THETA. (Now go to MINUS TWO-THETA and repeat the half-heighting.) The average OMEGA for the MINUS TWO-THETA peak is subtracted from the average value of the PLUS TWO-THETA peak and this is the correction to be applied to the given TWO-THETA.

TWO-THETA(true) = TWO-THETA (apparent) - (average OMEGA(PLUS) - average OMEGA(MINUS) )

Always take symmetrically equivalent reflections where possible. This gives another independent measurement of the TWO-THETA(true) at a different PHI and/or CHI. The average TWO-THETA(true) for equivalent reflections is then taken to be the most accurate value for the given TWO-THETA.

Remember to always advance OMEGA and TWO-THETA through the peak from low to high side to avoid backlash in the gears.

((OMEGA(PLUS-LOW) + OMEGA(PLUS-HIGH) / 2) - (OMEGA(PLUS-LOW) + OMEGA(MINUS-HIGH)/2) = TWO-THETA CORRECTION = (AVERAGE OMEGA(PLUS) - AVERAGE OMEGA(MINUS))

therefore

TWO-THETA(TRUE) = TWO-THETA(APPARENT) - (AVERAGE OMEGA(PLUS) - AVERAGE OMEGA(MINUS))

3. Unrelated reflections with the same magnitude HKL indices should be used where possible to help in refining the cross terms in cases such as monoclinic or triclinic. (e.g. H,K,L and H,K,-L for monoclinic, B unique)

4. The minimum number of independent reflections should be three times the number of cell parameters to be determined, (e.g. greater than 12 for monoclinic and greater than 18 for trilinic) but in practice an over-determination of four or five is safest especially when peak data is to be gathered.

5. Average over any equivalent reflections that may be available (e.g. -H,K,-L and H,K,L in a B mounted monoclinic).

6. Be sure to measure as many different orders as possible.

=DIFSET= generates the actual values of CHI, PHI, START TWO-THETA,STOP TWO-THETA, or TWO-THETA PEAK needed for the measurement of data. It is linked to =PARAM= and may be run right after it utilizing the latest refined cell parameters. It will simply list these values for further exploration of a given crystal - gathering more TWO-THETA data, for example. It will also prepare punched cards or else write the information on =NFILEH= for use by =DIFPCH=.

=DIFPCH= reads the. output of =DIFSET= and sorts the reflections in shells of TWO-THETA. Within each shell it sorts on PHI and CHI such that PHI always advances and CHI goes back and forth. It also inserts given standards at regular intervals and resets PHI in each instance so that it will always drive forward. It then punches XRD-6 settings cards for use in the machine. These may be punched as (fixed crystal, fixed counter) peak heights, (TWO-THETA-OMEGA) scans or peak height-scan pairs. The last case may be used for gathering information for peak height scan conversion but =DATCO5= described next, offers a better method for obtaining these settings cards.

=DATCO5= - processes the output of the XRD-6. It treats peak height data and will, if given a table of conversion factors, convert it to scan basis as a function of TWO-THETA (by four point interpolation from the table). It will treat TWO-THETA-OMEGA scan data to aid in developing the conversion as a function of TWO-THETA. When processing the peak height data, it can re coded to produce scan cards for all reflections above a given number of deca-counts intensity or, to issue pairs of scan-peak height cards for a limited number of peaks in each region of TWO-THETA for developing the conversion information. This requires a table of scan range as a function of TWO-THETA to be supplied. Finally, after all preliminary work is done and the conversion factors are known, the program will produce a sorted, averaged, unique asymmetric set of reflections on =NFILEI= ready to be processed by =DATRDN=. In the case where only one measurement exists, it is accepted, where two exist, they are averaged unless one is a given number of counting statistic standard deviations lower in which case it is rejected and the higher accepted. Where three or more exist, they are all averaged and any which are a given number of standard deviations from the mean are rejected. All rejection criteria are user controlled. The estimated standard deviations are properly adjusted during the averaging process. Any systematic change in intensity may be compensated for by =SCALES= cards.

The objective of this set of programs is to provide a means of exploring reciprocal space as quickly as possible using 10-20-10 second peak height measurements. Then to go back and develop a table of peak height to scan conversion factors as a function of TWO-THETA and then to gather a 20 sec scan -20 sec scan data on all the larger reflections and finally to sort and merge the whole collection into as precise and wide an intensity range as the XRD-6 will encompass. By using the peak height measurement on the low intensities it is hoped to pick up values that would be LESS-THANs based on a scan. By scanning all the large reflections it is hoped to keep the total scanning time down. By doing all important reflections twice we hope to mitigate accidental instrument failures. Since the average scan time is one minute forty seconds plus setting time and the peak time is just forty seconds plus setting time the time factor is reduced. The sorting done by =DIFPCH= helps keep the setting time to a minimum.

PEKPIK: Search Fourier maps for peaks

Location of Peaks in Fourier Maps

=PEKPIK= was written by Margaret 0. Dayhoff and James M. Stewart. It examines a Fourier or Patterson map and returns the coordinates and density of the maxima. Three additive one-dimensional parabolic interpolations are made to find the coordinates and the density of the true peak. The maximum deviation of this approximation to a one-dimensional Gaussian curve is .003 grid units and .02 percent density from the true value.

The Fourier or Patterson map which was prepared as a binary file (on =NFILEE= by the =FOURR= program is read into core, one layer at a time, including as many aa 20,000 points per layer. The layer is scanned for grid peaks. Near each of these, the true peak location and density is determined and the values stored. Maxima within one-half grid unit of the boundary surface of the map are accepted as being in the surface. As successive layers are read in, records are kept of the location, density, and layer numbers of each peak in the last two layers in which it has been found. As soon as the density of a peak decreases, the interpolation between three successive layer peaks is made and coordinates and density are printed out. If three peaks are available, a parabolic fit is made. If only two have been found, the larger is assumed to be the exact position. Identical peaks from each layer must be matched. A resolution of two grid units is used. 100 peaks appearing in one layer can be stored. Any excess is lost. This may happen if the cutoff of density is set too low or if too many peaks are searched for in one pass. Peaks are eliminated from the lists when they are no longer detectable in the latest layer. Grid points below a specified level are skipped over. If any grid points (holes) are below a specified level, a signal is set. If the number of peaks read out becomes too great, peak-picking is terminated.

As many as 500 three-dimensional peaks are stored. Symmetrically related peaks are eliminated as each new peak is found. The equivalent peak with highest density is retained. A resolution of .75 angstroms is used to distinguish different peaks. If special resolution is desired, it may be set during the search.

After all the layers have been searched, a specified number of peaks of highest density are retained, listed, and can be output on cards.

If desired, holes may he sought.

As a practical application, this program can prove very helpful in searching E maps (e.g. Fourier with Karle-Hauptman E values as coefficients and phases obtained by ihe symbolic addition procedure). For heavy atom structures it will be found useful to search first the sharpened Patterson with origin removed for precise heavy atom coordinates and then subsequently the FO-FC difference map for the light atom positions. This latter map has proved more powerful because of the mitigation of the series termination errors and the added clarity of the light atom positions.

PHASE: Search of SIGMA-TWO relationships for a set of possible phases (centric case)

An Algorithm for Finding a Set of Phases Directly from SIGMA-TWO Relationships (Centrosymmetric Case)

=PHASE= was written by R.V. Chastain, E.G. Boonstra. and J.M. Stewart. This program is designed to obtain a set of phases for the solution of centrosymmetric structures. It uses an approach which treats the output cf the SIGMA-TWO search by a direct solution of product equations using a multi-symbolic approach technique. After the solution is carried out, there is a review of the results to aid in establishing if the solution is correct or if there are alternative possible solutions.

There are two distinct ways in which the program may be used. The choice is dependent upon presence or absence of translational symmetry (exclusive of Bravais lattice translations). When there is a great deal of translational symmetry such as in P2 or PBCA, the program is most powerful because symmetrically equivalent reflections have the possibility of producing phase reversals (ses- also GENERL - Treatment of Symmetry) which are a good way of checking the results. When there is little or no translational symmetry, such as in P1BAR or PMMM, there is always the danger of producing the ALL PLUS catastrophe. This catastrophe is always possible because of the lack of the checks which arise from translational symmetry.

Description of the Method

The output of the =SINGEN= program consists of the relationships which are shown in SINGEN.

Through the use of standard trigonometric identities the equation

PHI(H1) + PHI(H2) + PHI(H3) + PHI(SHIFT) = PSI

may be shown to result in a simple product relationship in the centrosymmetric case. Firstly, all values of PSI may be set to zero (which is a basic assumption in setting out to apply the symbolic addition procedure of Karle and Kahle). Secondly, since all the values of PHI are 0 or PI, their cosines are simply + or -1.0. Thus the product relationship becomes:

SE(H1)*SE(H2)*SE(H3) = SD(DELTA)

where SE and SD are more carefully defined at the end of this section. At this point let it be said that SE(H1) means the sign of the E of a given reflection, H1, and that SD of DELTA is the sign that results from any phase change necessary so that H1, H2, H3 are kept in the asymmetric set of reflections supplied at =DATRDN= time (see SINGEN).

Each reflection (H) is supplied a symbolic phase at =SINGEN= time which is simply an integer equal to its rank according to decreasing value of E magnitude. Thus, the highest E value reflection has symbolic phase 1 and so on down. The output of =SINGEN= can thus be used to produce a large number of product equations in terms of these symbols. The next step is to decide which of the symbols should be solved for directly. A rough rule is to try initially to solve directly for a number of symbols equal to three times the number of atoms (exclusive of hydrogen) in the asymmetric part of the unit cell. Whatever number is decided upon, this subset of reflection phases are called generators, since, once they are known, many more phases may be generated from them with very little trouble. In straightforward cases with high translational symmetry, a large number of generators will usually give a solution on the first attempt. When the translational symmetry is low or the data is not of the best quality, it is best to keep the number of generators lower. In this way the symbols which are hard to find will be left unsolved and may be forced one way or another systematically, thus uncovering the physically correct solution. The classic ALL PLUS catastrophe arises in P1BAR where, if the number of generators is set too high, this trivial solution of the product equations will be found. The method here is to set the number, such that, say two symbols over and above the origin defining symbols are left unsolved and then to consider them +-, -+, or -- in turn. E maps may be calculated in each case and searched for the answer. In very bad cases in P1BAR, as many as five additional symbols may be required. Much above this level suggests that other strategies are in order (see =TANGEN=).

Consider a structure in which 30 generators are to be sought directly. There will not in general (if ever) be 30 SIGMA-TWO product equations which relate these 30 symbolic phases. It is therefore necessary to define two kinds of product equations - those of the first kind which come directly from the SIGMA-TWO process

(e.g., 1*7*22 = +)

and those of the second kind which are produced by elimination a single non-generator between two different SIGMA-TWO relationships.

(e.g., 2*9*35 = - AND 7*12*35 = + hence 2*9*7*12 = -)

These relationships of the second kind practically always make it possible to produce a sufficient number of product equations to reduce all generators to be expressed in terms of the lowest symbols suitable to define the origin. The program is set to carry out this operation if the unknown number of symbols and their parity groups satisfy the conditions for origin definition (see SIGMA). Details of the actual procedure are given in Crystallographic Computing..

The overall processes that are programmed are as follows:

  1. The output of =SIGMA= is loaded into core. All relationships of the first kind are saved and all relationships of the second kind are formed for the number of generators specified. Relationships of the second kind are assigned a probability value corresponding to the lowest of the two SIGMA-TWO relationships (empirical basis).
  2. All the relationships of the first and second kind are sorted in decreasing order of probability and each is assigned a catalog number for purposes of reference.
  3. A triangular matrix of order equal to the number of sought generators is set up.
  4. The sorted relationships are scanned from highest probability to lowest and every encountered relationship which can serve to cause a higher symbol to be expressed in terms of lower symbols, is utilized. The end of the solution attempt is either when all symbols are known or when all the relationships are scanned.
  5. The results of this operation are printed out in a number of categories: defined by user, undetermined, phase reduces to, determined to be, or missing. Thus every generator is accounted for. In the case of phase reduces to the relative phase is printed along with the products of the symbols upon which the given phase depends. e.g. 44 phase reduces to -1*3.
  6. During the process of solution a pedigree is kept, such that every relationship from the sorted list which is used in the solution of any given symbolic phase is noted. This means that one may see just which relationships (by catalog number) were used to solve for each generator sought. This can be used in a powerful way as discussed below.
  7. At the end of the solution process, the number and parity groups of any undetermined phases are checked. If they meet the criterion for origin definition they are assigned a value of + as origin defining reflections.
  8. The pedigree is then printed and stored for the checking process which follows. The symbolic phases and catalog numbers of the sorted relationships are used for this display.
  9. The solution of N generators will usually only require N-3 relationships from the sorted set. The sorted set on the other hand will usually contain 10 to 30 N members. This means that there is a tremendous over determination ratio for the solution of the product equations. Under these conditions, the solution may be substituted into all the relationships and by means of the information contained in the pedigree, a check can be made on the N-3 equations actually used in the solution for the generators.

    From this process, a table of discrepancy differences may be developed which shows the difference in the number of times each of the relationships used in the solution appear wrong minus the number of times they appear to agree. When these differences are minus, the relationships are accepted. If the difference is plus, the condemned relationship is arbitrarily changed in sign and the appropriate signs changed. In effect, this is an attempt to find any relationship which violates the assumption that the PSI given in the equation above is truly zero. It seldom happens that this occurs, but when it does this strategy is very powerful. It is not useful for space groups with no translational symmetry (where no discrepancies can arise).

  10. Lastly. the generators are substituted into all SIGMA-TWO relationships and are used to generate all phases possible. These are placed in an output binary data file - which may them he used to calculate an E map or an F phased from statistics Fourier map. Each generated phase may in fact have several separate determinations. When there are some discrepancies in these separate determinations a ratio of agreement may be set and those phases in doubt will not be assigned a phase.

The following description of the method describes more rigorously the actual solution process and the formation of the relationships and pedigree.

All SIGMA-TWO relationships of the E's above an arbitrary value {usually E greater than or equal to 1.5 depending on computer speed and time) are generated by =SIGMA=. =SIGMA= writes all possible relationships onto an intermediate scratch file. =PHASE= can then select from this file an arbitrary subset of the whole set of SIGMA-TWO relationships. For purposes of this description! the original SIGMA-TWO relationships are dealt with in two distinct ways. The first subset is taken directly from the output of =SIGMA2=. These are referred to as SIGMA-TWO relationships of the first kind and are expressed as:

SE(H)SE(K)SE(L) = PI(J), P(J) (FIRST KIND)

where J is the relationship catalog number, H, K, L are catalog numbers of the E's SE(H) is the sign of E(H), PI is the symmetry sign (e.g. for. P ONE BAR all PI(J) are ( + )), and P(J) is probability that the J-th relationship is valid.

SIGMA-TWO relationships of the second are next formed as products between relationships of the first kind. which have a common sign factor (symbolic phase) for the third member. We express these as:

SE(H)SE(K)SE(L)SE(H')SE(K')SE(L') = PI(I)PI(K), P(I), or P(K)
whichever is smaller

which reduces.to

SE(H)SE(K)SE(H')SE(K') = PI(J), P(J) (second kind)

In order to maintain a high confidence level with the relationships of the second kind, E(L) in the above expression, it is necessary to have a value equal to or greater than some arbitrary level (Note 1). The combined set of relationships of the first and second kind is referred to as the extended set of relationships among the symbolic phases.

E(1) to E(M), in decreasing value of E, are defined as generators, that is, their phases will be solved directly. It is on the basis of M, the number of generators sought, that the selection of relationships of the second kind is based. For relationships of the first kind E(H), E(K), and E(L) are all greater than or equal to E(M). In relationships of the second kind, a common E(L) (=E(L')) less than E(M) is eliminated to form the relationship from a pair cf parent SIGMA-TWO relationships. E(M+1) to E(N) are referred to as generated because their phases will be generated in terms of the phases of the generators. The extended set of relationships is now limited to those relationships involving only the generators and having P(J) greater than some arbitrary value. For optimization, the limited subset of relationships is sorted in the order of decreasing P(J).

The limited subset of relationships is now solved by assuming that every relationship in the limited subset is correct (note 2).

Every sign of the generators which is determined is expressed as

SE(H) = O(H) H = 1,2....., M where

The function O(H) is a product of PI's from the equations used in the inversion, and the arbitrary phases permitted by the space group. This set of signs for the generators may be a good first approximation to the correct set of phases (note 3).

Not only does the product of PI's in O(H)) serve to define the sign of E(H), it also shows each PI upon which the sign of E(H) is dependent. For this reason O(H) is referred to as the pedigree of SE(H). Through the set of the M O's it is possible. to find all SE's which are affected by a change in any given PI.

The inversion process required only M relationships of the complete limited subset of relationships of the first and second kind. The remainder of the relationships can he used to check the reasonableness or the approximate solution. Some number of the relationships may be found discrepant. That is subset of relationships of the first and second kind. The remainder of the relationships can be used to check the reasonableness of the approximate solution. Some number of the relationships may be found discrepant, that is

SE(H)SE(K)SE(L) NOT EQUAL TO P1(J) OR SE(H)SE(K)SE(H')SE(K') NOT EQUAL TO PI(J)

while the other relationships will be found accordant. That is

SE(H)SE(K)SE(L) = P1(J) OR SE(H)SE(K)SE(H')SE(K') = PI(J)

The program is designed to modify the approximate solution to reduce the total number of discrepant relationships. To accomplish this, a second kind of pedigree is introduced - the pedigree of a relationship. The elements of this pedigree are found as the resultant factors given by the products of the symmetry sign and the pedigree of the SE's involved in the relationships. That is:

O(H)O(K)O(L)PI(J) or O(H)O(K)O(H')O(K')PI(J)

The pedigree of the relationship shows each PI which will influence whether this relationship is accordant or discrepant.

The algorithm used for modifying the approximate solution employs two counts for each of the PI's involved in the inversion process. One count, D(J), is the number of times PI(J)) appears in pedigrees or discrepant relationships. The other. count, A(J), is the number of times PI(J) appears in the pedigrees of accordant relationships. When the counting is completed for the limited subset of SIGMA-TWO relationships, the discrepancy differences, DELTA(J), are formed.

DELTA(J) = D(J) - A(J)

The list of DELTA's is scanned for the largest positive DELTA(J), and the PI(J) associated with it is established as the villain (note 4). Such an equation is termed a condemned equation.

At this point, each SE which contains the villain PI(J) in its pedigree is changed to produce a new approximation to the phases that will yield fewer discrepancies. The process can be carried out repeatedly by substituting the new approximation of the phases into the limited set of SIGMA-TWO relationships until no more positive DELTAs remain. The set of phases which gives no positive DELTAs is accepted as a solution for a set of generator phases.

It is important to realize that the sign of the condemned equation has been inverted and the equation not removed from the relationships used in the solution. One may wish through the use of =BADEQN= or =BADSIG= cards to remove such relationships from use in subsequent runs.

To determine the values of the generated phases, the SIGMA-TWO relationships are limited to the SIGMA-TWO relationships of the first kind which contain two generator and one generated phase. If SE(L) is the phase to be generated, and SE(H) and SE(K) are known generator phases, then the rearranged relationship:

SE(L) = PI(J)SE(H)SE(K)

serves to define tht phases SE(L). Since any particular SE(L) may be determined many times, sometimes resulting in conflicting phase values, the current code simply uses the phase value given most frequently. Subject to a control parameter, it leaves as undetermined those phases for which equal numbers of opposite values occur.

Notes

Note 1
This minimum E-value is usually the value of the smallest E to have its phase generated.
Note 2
Sometimes it is found that not all SE can be solved for uniquely. This is usually remedied by either lowering the established confidence levels or by increasing the number phases to be used as generators. Sometimes it is expedient merely to withdraw the few troublesome SE's from the subset of generators.
Note 3
This is because most relationships involving signs of large E's and having high probabilities are expressing the truth.
Note 4
Except for the accordant SIGMA-TWO relationships which by coincidence are dependent on an even number of incorrect PI's, all relationships depending on a villain PI will be discrepant and no accordant relationships will be dependent on a villain PI. With good data and by establishing a sufficiently high confidence level for the relationships used, A(J) in general will be much smaller than D(J) for a villain.
Also, a condition could exist in which two or more DELTA's could be the largest non-negative discrepancy differences. This condition can usually be removed by raising the confidence level of the relationship used.

REVIEW: Evaluation of direct phase determination

REVIEW - a Program for Reviewing Direct Phase Determinations

This program was written by G. J. Kruger and is designed to compare the accuracy of the direct phasing methods with the final phases calculated from the refined structure. When using this program, the binary data file should contain the results of the programs =FC=, =SINGEN=, and possibly =TANGEN= and =APHASE=.

If the phases estimated by =TANGEN= are available, their values are compared with those from a structure factor calculation and the differences displayed in a table and a graph.

The statistical structure invariant relationships set up by =SINGEN= is in the form:

PHI(H1,K1,L1) + PHI(H2,K2,L2) + PHI(H3,K3,L3) + PHI(SHIFT) = PSI

By substituting the phase angles (PHI values) calculated by =FC = into the relationship the actual value of PSI can be calculated. Furthermore, hy using the averaging process in =APHASE= an averaged value of PSI can be established. If the PHI values estimated by =TANGEN= are available, an estimated value of PSI can also be calculated.

The structure invariant relationships can be used in two different ways. Either the SIGMA-TWO assumption is followed where PSI is assured to be zero, or, the PSI value derived by the averaging process can be used directly. The effectiveness of the direct phasing methods is examined by comparing the actual PSI values with the SIGMA-TWO assumption value (zero), the averaged value, and the =TANGEN= estimated value.

The comparison is done in two steps. First, the PSI values for triplets involving E's with a value greater than or equal to a minimum value set by the user, is calculated. The distribution of the deviations of PSI from zero and the dependence of the magnitude of the deviations on A is then displayed. The distribution of the COSINE(PHI) values for relationships with A greater than or equal to a minimum value, set by the user, is then displayed in a table and graph. Up to nine different values of A can be used, resulting in up to nine graphs for different values of A.

Secondly, a value of PSI may be derived by the averaging process in =APHASE=. When these values are used the treatment is similar to that used in treating the =SINGEN= triplets. The deviations from the calculated PSI are displayed for the ZERO-PSI-ASSUMPTION, the AVERAGED-PSI, and the TANGENT-REFINEMENT-ESTIMATED PSI.

RLIST: Lists R values for various zones and other reflection classes

Program for the Calculation of R Values

=RLIST= was written by William Keefe in collaboration with J.M. Stewart.

This program is designed to explore on several bases the agreement between calculated and observed structure factors. It is designed to separate the reflection data into a number of groupings - some as standard features of the program, the rest as specified by the user. The standard classifications are - all reflections H00, 0K0, 00L,HK0,H0L,0KL, HKL (all indices non-zero), the level scale groups, by equal 0.1 increments of SIN(THETA)/LAMBDA, and by geometric increments of the magnitude of F OBSERVED, 0-1, 1-2, 2-4, 4-8, etc. Beyond these one may choose, through the use of =CATEGO= cards, many other possible categories. These categories may specify classes of reflections, ranges of SIN(THETA)/LAMBDA, F OBSERVED, intensity, CHI, or PHI. The output is then in the form of counts of the various types of reflection in each category, and a number of R values. These R values take the following form:

  1. The conventional T, that is, the sum of DELTA F over the sum of F observed for the observed reflections (DELTA F is FO-FC).
  2. An R value for the LESS-THANs. DELTA F is set equal to zero for those reflections for which it is minus. The level for establishing a LESS-THAN in terms of standard deviations in the intensity above background may be set at calculation time.
  3. The square rout of the ratio of the sum of the least squares weighted DELTA F squared over the sum of the weighted F's OBSERVED squared.
  4. The conventional R including reflection multiplicity.
  5. The conventional R utilizing I observed and I calculated
  6. The slope of LN(FO/FC) versus (SIN(THETA)/LAMBDA) squared. This is an estimate of temperature factor fit.
  7. The rescale factor ratio which is the sum of F CALCULATED over the sum of F OBSERVED.
  8. An approximation of the standard error of an observation of unit weight.

One may select up to 500 categories (depending on machine size) per run by means of =CATEGO= cards. These cards allow for a 12 character name for the category which is to be supplied by the user for the output listing. A match test for H, K, and/or L is established if any or all of these fields is left blank then all reflections are tested further. If however a number is punched then only reflections with the value(s) punched will be included in the category. For example, if one punches 1 in the H field, then the category applies only to 1KL reflections. Next, one may specify that the category is to be based on an additive combination of the Miller indices having a specified value. For example, one punches a 4 to indicate the category is based on H+K and a 2 to indicate that H+K must be even. The final alternatives for categories are based on ranges of values for five possible crystallographic quantities - SIN(THETA)/LAMBDA, intensity, F OBSERVED, CHI, or PHI.

These possibilities should permit the evaluation of structures with very special categories of reflections.

The output for all the categories consists of the various R values and the summations which are used in their calculation. Nothing is printed for categories which have no reflections in them. This is to keep the output as short as possible.

A parameter may be set which causes individual reflections with a R value (DELTA F/FOBS) greater than the value of the parameter to be listed. This parameter applies only to observed reflections.

Caution should be exercised in the use of the option which automatically prints the R values for all classes of indices taken one at a time. That is to say all reflections for H=0, then 1, then 2, through K=0, then 1, then L=1, etc. For an orthorhombic case with maximum H, K, and L of 90, this gives 1000 categories of 5000 lines which is about 100 pages of output. This output is usually large and unselective. The =CATEGO= card may better be used to tailor the output to the compound at hand.

In order to calculate the R values as a function of CHI and PHI, it is necessary to supply the transformation matrix used by =DIFSET= .

SINGEN: Forms triples for phase determination (centric or acentric)

SINGEN - a Program for Developing SIGMA-TWO Structure Invariant Relationships

Within tht X-RAY system, there have been three previous SIGMA-TWO programs. The first by H. Ammon was rewritten by J. Stewart, R. Chastain, and E. C. Boonstra and used as =SIGMA2= and aimed particularly at the centrosymmetric case. At the same time, another program, =SIGMA=, was developed by Syd Hall, aimed particularly at the acentric case and using a significantly different algorithm from =SIGMA2=. Both programs gained their speed through different techniques which have proven to be compatible. Thus, this program is a result of combining these techniques into a new generalized program for the generation of SIGMA-TWO relationships.

Prologue

This program is designed to find the reflections which have indices satisfying the condition:

H1 + H2 + H3 = 0
K1 + K2 + K3 = 0
L1 + L2 + L3 = 0

where (HN, KN, LN) is the vector for the nth reflection. The values of (HN, KN, LN) must encompass all possible reflections in the limiting sphere. In order to relate the asymmetric set of reflections supplied to the reflections which satisfy the above condition, it may be necessary to apply a symmetry transformation (see GENERL).

These combinations of reflections give rise to the statistical structure invariant relationship:

PHI(H1, K1, L1) + PHI(H2, K2, L2) + PHI(H3, K3, L3) + PHI(SHIFT) = PSI

The value of the residual variable, PSI, is obtained in two distinct ways. When the product of the three E(HN, KN, LN) values is large, PSI is approximately zero. Moreover, even when the E product is small, the average value of PSI over many relationships tends to be zero. The other way is to estimate PSI by means of a more complicated averaging process.

These relationships may be treated in a number of different ways to determine a set of phases for a given structure.

1. In the event that numeric phases are to be used directly in determining further values, it is first required to specify the cell origin and enantiomorph (where necessary). Information for the cell specification is produced by the =SINGEN= program. When the specifications are followed, one may then use the relationships to manually generate other phases.

Manual generation of phases using the symbolic addition procedure is also possible though this may not be necessary if some of the methods described below are employed.

2. In the centrosymmetric case, the relationships from =SINGEN= may be used directly to form a set of equations. The solution of these equations is described in PHASE. This method obviates the need to make an a priori definition of the origin.

3. The program =TANGEN= may be used to generate a set of phases starting with a small number of numeric values (often just those specifying the unit cell).

The Method of Calculation

=SINGEN= carries out the following sequence of operations:

1. The symmetry information is placed in store in the form of rotation matrices (translation vectors are not used). The whole set of rotation matrices is developed by taking Friedel's law into account.

2. If the space group under study has a centered lattice, the rotation matrices are transformed to the equivalent primitive lattice.

3. The characteristic matrix is calculated by subtracting the identity matrix from each rotation matrix in turn. The results of these subtractions are then searched column by column for the seminvariant vectors and moduli.

4. A summary is printed giving the following information:

A. Primitive transformation matrix
B. Structure seminvariant vectors and moduli
C. Origin definition determinant
D. Enantiomorph definition.

5. The A-value and the probability relationship for the centrosymmetric case are given as:

A = 2.0*SIG3*SIG2**(-1.5)*/E1*E2*E3/
PROB = 0.5 + 0.5(0.5*A)TANH

The A-values are also summed to provide a sensitive measure of the importance of a given reflection in the interaction process. The value of A may be used in place of the actual probabilities in subsequent calculations because they are a faster varying quantity proportional to the probability.

6. The (H,K,L) sort order for the SIGMA-TWO search is established from the maximum values of H, K, and L as supplied at =DATRDN= time. This sort order is such that storage will be in as many small groups as possible. Thus, if H maximum is large, K medium, and L small there will be set up a large number of groups of constant H and changing K and L. Thus, H is the primary, K the secondary, and L the tertiary sort index. In addition, each group of H is broken down by parity of H, K, and L.

7. All reflections above a specified E value are loaded. During this loading procedure, the deflection symmetry operation codes (SYMOPS) are extracted from each reflection record. These SYMOPS are used to generate the asymmetric reflection and its symmetrically related equivalent reflections. If the magnitude of H, K, L is changed by the symmetry transformation, the resulting reflection is stored separately. All reflections of the same magnitude of H, K, L are stored together with pointers to the first and last HKL-SIGNS and phase shifts (relative to that asymmetric reflection) which have been stored in a non-redundant SYMOP table. These directors are stored in a packed word (see GENERL).

8. Certain reflections may have restrictions on their phase values. This is due to the symmetry of the space group (e.g. in centrosymmetric cases, all phases are 0 or PI). This information is stored with each reflection.

9. The maximum values of the secondary and tertiary indices are determined for each value of the primary sort index plus their parity group. This is to define the limits of the search for (H3,K3,L3).

10. All E values are assigned a symbol number in decreasing order of E. A table is then printed showing all the asymmetric reflections and their symmetrically related equivalent reflections. In this table is displayed the phase shift information, PHI (SHIFT), which arises from the space group symmetry.

11. A pointer table is developed which serves to point to the core region in which the information about any (H3,K3,L3) reflection may be found. This pointer table gives rise to a major source of efficiency in this SIGMA-TWO algorithm.

12. The search for the SIGMA-TWO related reflection involves five basic steps.

13. When a SIGMA-TWO relationship is found, the following information is generated:

14. statistics concerning the number of non-redundant interactions for each asymmetric reflection are kept. This information is printed at the end of the run.

For every asymmetric reflection, its order of symbol number (that is, decreasing E magnitude) is (H,K,L), /E/, parity group, number of triplets involving this reflection, the sum of the A's, the phase restriction, the primitive cell indices. the vectors (U,V,W) as defined in the cell specification information, and whether or not this reflection is a structure seminvariant are all printed.

Origin Definition

In the course of the determination of a crystal structure by statistical methods, the phases which are determined will ultimately depend upon the position of the atoms in the unit cell expressed relative to a given point in the crystal lattice called the origin. The space group choice for a given crystal describes the symmetry operations for that group in terms of a set of equipoints. These are discussed in the symmetry section of GENERL and displayed in the International Tables, Vol. 1.

There exist points other than (0,0,0) in a unit cell which are identically equivalent with respect to the symmetry elements (rotation matrices) of the space group. These points are equivalent origins to (0.0,0) and are characterized by translations which give rise to no change in the magnitude of F, but may change its phase. Thus, a translation in direct space gives rise to a phase change in reciprocal space (see Lipson and Taylor, Fourier Transforms).

For example, in the space group P1BAR, there are eight equivalent origins corresponding to (0,0,0), (1/2,0,0), (0,1/2,0), (0,0,l/2), (1/2,1/2,0), (1/2,0,1/2), (0,1/2,1/2), (1/2,1/2,1/2). Other examples are shown in table 1 of Hauptman and Karle.

In order to fix an origin, the phases of certain reflections must be established subject to the constraints discussed below. There exist two subsets of reflections which must be considered and identified. The first is that subset which does not change phase when the origin choice changes. These reflections are said to have seminvariant phases. The determination of this subset assumes a fixed functional form for the space group. The other subset of reflections has phases which are dependent on the choice of origin. The reflections which are used to specify origin must be chosen from this second subset.

The reflections that have a seminvariant phase may be defined explicitly in terms of the seminvariant vectors and moduli. These values are given in the paper by J. Karle in Crystallographic Computing.

These sets are displayed by =SINGEN= according to the symmetry supplied at =DATRDN= time.

Let the matrix of the J seminvariant vectors be SV(J), then the product of this matrix with the primitive vector (H,K,L) = H of a given reflection gives a vector which taken to the base modulo OMEGA, W(J), give a vector (U,V,W). If all UVW are zero, the reflection H has a seminvariant phase and cannot be used in origin specification. If the space group is centered, then the primitive vector H must be obtained by transformation of the reflection indices.

Consider the example of the space group P4BAR. P4BAR has the seminvariant vector: (H+K,L)

     --        --     
     | 1   1   0 |    
SV = | 0   0   1 |    
     | 0   0   0 |    
     --        --     

and the moduli: (2,2)

     -- --     
     | 2 |    
     | 2 |    
     | 0 |    
     -- --     

consider the two reflections (1,1,1) and (1,1,4)

(A) Reflection (1,1,1)

--        --       -- --          -- --    
| 1   1   0 |      | 1 |          | 2 |    
| 0   0   1 |  *   | 1 |    =     | 1 |    
| 0   0   0 |      | 1 |          | 0 |    
--        --       -- --          -- --    

-- --          -- --        -- --     -- -- 
| 2 |          | 2 |        | 0 |     | U |
| 1 |     MOD  | 2 |    =   | 1 |  =  | V |
| 0 |          | 0 |        | 0 |     | W |
-- --          -- --        -- --     -- --

which is a non structure seminvariant since U, V and W are not all zero.

(b) Reflection (1,1,4)

--        --       -- --          -- --    
| 1   1   0 |      | 1 |          | 2 |    
| 0   0   1 |  *   | 1 |    =     | 4 |    
| 0   0   0 |      | 4 |          | 0 |    
--        --       -- --          -- --    

-- --          -- --        -- --     -- -- 
| 2 |          | 2 |        | 0 |     | U |
| 4 |     MOD  | 2 |    =   | 0 |  =  | V |
| 0 |          | 0 |        | 0 |     | W |
-- --          -- --        -- --     -- --

which is a structure seminvariant.

It is necessary to fix J linearly independent non-structure invariant phases in order to define the origin, where J is the number of seminvariant vectors (used in SV).

In practice, the values of (U,V,W) which are under consideration. are entered into a J by J determinant whose value must be +1 or -1. This is the test of linear independence.

Many reflections will meet the criteria given above. However, there may be added restrictions on the values of phases due to the symmetry of the given space group. Care must be taken in these instances so that the values of the restricted phases are not violated. e.g., in acentric space groups with centric projections, the projection reflections will have restricted phases.

If general phases are to be used as origin definers, great care must be taken so that the choice wi!l not violate the restricted phases. As a practical matter it is best to choose restricted phases whenever permissible.

Enantiomorph Definition

In non-centrosymmetric space groups, the chirality (i.e. left or right handedness) of the structure is unknown in the absence of anomalous dispersion. The phases of the reflections of a given structure (L) are the inverse of the phases for the enantiomorphic structure (D). That is, every

PHI(L) = -PHI(D)

Since the structure factor magnitude does not distinguish between the enantiomorphs, it is necessary to define explicitly which phase set, PHI(L) or PHI(D) is to be used. This is done by establishing the sense of at least one phase which is known to be significantly different from zero or 180 degrees. In certain cases when origin defining phases are non-zero or non-PI, the above requirement does not hold. This is discussed below. In any cast, all reflections not used to define the origin are eligible for use to fix the enantiomorph and it remains only to find which are capable. In the case where the origin defining reflections all have unrestricted phase values one of them may be set to 45 degrees rather than zero. This may be a less productive procedure if the origin defining reflections do not interact in a substantially productive way.

In practice, the method used to define the enantiomorph is imposed by the space group symmetry. If the space group has many clashes of restricted phases, it may be possible to use one of these reflections to define the enantiomorph. In this case it is essential that the parity group containing this restricted reflection conform to the following condition. A phase associated with each parity group can be generated directly from the linearly dependent parity groups of the origin defining reflections. Generated phases which are contradictory to the restricted phase values of that parity group specify thc possible enantiomorph defining reflections. e.g., if the origin definers in the space group P2:2121 were taken from (U,U,0) (U,0,G), and (U,0,U) they may be assigned the restricted phases 90, 0, 90 degrees respectively. The remaining parity groups of restricted reflections may be obtained by combinations of those three reflections. The table shows predicted phases for all parity groups other than those defined by the origin. (Note that this is a specific example and not a general table - other origin choices give rise to other phase configurations.) When the predicted phase and the restricted phases are different, the reflections in this group are eligible for use in defining the enantiomorph. This table is found below.

Group Parity Group of
Restricted Phases
Restriction
in Degrees
Derived from
Combination
Predicted
Phase
Possible
Definer
1 U U 0 90(O.D.)
2 U 0 U 90(O.D.)
3 0 U U 90/270 1,2 0/180 YES
4 G U 0 0/180 1,2,2,7 90/270 YES
5 U G 0 90/270 1,1,2,2,7 0/180 YES
6 G 0 U 90/270 2,7 90/270 NO
7 U 0 G 0(O.D.)
8 0 G U 0/180 1,1,2,7 90/270 YES
9 0 U G 90/270 1,7 90/270 NO
10 G G 0 0/180 1,1 0/180 NO
11 G 0 G 0/180 7,7 0/180 NO
12 0 G G 0/180 1,1,7,7 0/180 NO

Thus, for this type of space group with many restricted phases, one defines the origin phases then produces a possibility table similar to the one shown in order to identify reflections suitable for defining the enantiomorph.

In space groups where the use of a procedure like the one above is not possible, a genera| phase must be used to define the enantiomorph. The crux of the problem is to find a general reflection with a phase magnitude which differs significantly from 0 or 180 degrees. Once such a reflection is obtained, the enantiomorph is defined by assigning a sign to the magnitude.

One method of obtaining a suitable reflection is from interaction of the origin defining reflections. When phase estimates of a general reflection are both 0 and 180 degrees, this implies that the true phase is between these two values. This reflection is then a candidate for use as an enantiomorph defining reflection at the initial value of 90 or 270 degrees. The magnitude may not be exactly correct, but generally is a sufficiently good approximation to permit further generation of phases.

These phases will be consistent with the one enantiomorphic structure. As the generation expands, the value of the enantiomorph defining phase may be refined to its more correct value.

STEPRF: Step refinement

TANGEN: Use of tangent formula to calculate phases

Phase Estimation and Refinement by Repeated Tangent Iteration

This program was written by Syd Hall to take the output of =SINGEN= and, from a small set of starting phases, often only the origin and enantiomorph defining reflections, produce a sufficient number of phases to permit structure solution.

The program is designed to calculate the following relationship:

                 SUMMATION/W*E(H2)*E(H3)*SIN(PHI(H2)+PHI(H3))/
TAN(PHI(-H1)) = ---------------------------------------------------
                 SUMMATION/W*E(H2)*E(H3)*COS(PHI(H2)+PHI(H3))/

where PHI(-H1) is the phase associated with the normalized structure factor, e, of reflection (-H1) and where W is a weight normally taken as one. If a weighted tangent formula is specified then:

W = 0.5 + 0.5TANH(0.5*EC(H1)*EC(H2)*EC(H3)*SIG3/SIG2**1.5)

where EC is the average R.M.S. value of the numerator and denominator in the tangent formula. (-H1) is a vector in reciprocal space ( -H1 , -K1 , -L1 ). Application of the formula to structure solution requires that numerical values of the phases (PHI) of several (or many) high E value reflections with vectors (H2) and (H3) be estimated or established beforehand. The formula then becomes useful when there are a sufficient number of known phases for reflections which interact to produce new estimates of the values of PHI(-H1) or where I1 can be used to refine a known value of PHI(-H1) in terms of other known phases. From. the foregoing, one may see that it is necessary to begin the use of =TANGEN= with an inner set of phases which interact to produce an expanded set. This may in turn be used to expand and refine the number of known phases. The initial inner set of phases must be derived from some consideration other than =TANGEN= itself. One way is simply by use of a set of carefully selected origin defining reflections (see SINGEN). This, however, is sometimes not sufficient to produce further known phases by such an expansion. Another method involves using phases from a partial structure calculated by =FC= which =TANGEN= accepts from the binary data file. Other statistical methods are discussed under SINGEN and PHASE. The symbolic addition procedure carried out using the output lists of =SINGEN= may be fruitful in producing further phase estimates in order to proceed with the =TANGEN= process.

Once a useful inner set of phases is established, the program is applied in a cyclic fashion based upon certain restrictive criteria under the control of the user. Depending upon how the criteria are set up, the attempt to expand the inner set of phases may he unproductive. If the criteria are too restrictive and stringent no new PHI(-H1) will be generated. On the other hand, too permissive criteria may produce many erroneous phases and in turn these will be used to produce even more which will result in an uninterpretable E map. When the limits are set carefully, there will be a steadily increasing number of accepted new phases in each cycle and convergent refinement of all previously estimated phases. It may be seen from the tangent formula that the values of phases may be refined in terms of the rest, since the range of the summations will be increased as the number or the phases included is increased. This process must be restricted if the true solution is to be achieved because when the inner set grows very large and the E values are allowed to get small, the formula begins to give erroneous results. Success with the method thus requires an appropriate reasonable inner set of phases and depends on carefully defined restrictions being applied during expansion and refinement of the phases.

It is preferable that the inner set be a limited number of well established numeric phases (say 4-10) rather than a large number. A large number of starting phases, whether they are poor or good estimates, may not lead to convergence due to the larger number of low probability interactions they are involved in.

At times one may see that the inner set expands in a very promising way in the first one or two cycles. But, in succeeding cycles shows signs of divergence (values of ((EO - EC)/EO) increase). One may by use of the =BDFPHI= card control the course of events and possibly prevent the divergence. To do this, =TANGEN= is run only through the promising cycles and then rerun using its own output through control of a =BDFPHI= card where it may be specified that the inner set be held fixed for additional cycles.

The program operates in two distinct modes. Firstly, a cycle for which one defines the lowest magnitude of E is to be utilized in the second mode. Secondly, an iteration, for which one defines all new phases which can be generated from known phases for E magnitudes above the current cycle threshold. During. an iteration all values (-H1) which may be discovered from (H2) and (H3) are added to the list of known phases. then all are used to refine the values of all those currently in the list.

Any given cycle will be terminated when a specified number of iterations (max. of 50) has been completed or that successive phase estimates have converged, or oscillate, between specified limits of the ratio: (AV. E(OBS.)/AV. E(CALC)).

A new phase is accepted as useful and valid, if, during the iteration process:

  1. The phase has not altered in three successive iterations by more than a specified limit (e.g. 100 degrees)
  2. A restricted phase estimate has not deviated from its permissible values by more than a specified limit (e.g. 75 degrees)
  3. The calculated E value (= average R.M.S. value of the numerator and denominator in the tangent formula) is not less than the specified limit (e.g., 0.5)
  4. The number of triplets used to estimate a phase must exceed the specified limit (e.g. 1 or 2).

If a reflection violates one of these criteria, it is not used in the succeeding iteration, although its value will be reassessed. In this way, a suspect phase estimate is temporarily suppressed and prevented from contributing to the phasing process.

A new cycle may be initiated at the end of a series of iterations. The new cycle will include reflections with lower E magnitudes. Since no reflection of E value lower than the current cycle limit is included in any iteration, it is important to note that the inner set of starting phases may not appear in the first cycles unless the minimum E magnitude is set properly.

The phases uf reflections used to initiate the phasing process (i.e. starting phases) may be entered separately on cards or from a binary data file output from an =FC= or previous =TANGEN= calculation or from =APHASE=. In the first case, starting phases are extracted only when the associated F CALC value exceeds the product (P*K*F(rREL), where P is the fraction of the complete structure known, and K is the overall scale factor specified at input time (or extracted from record 7 of the BDF).

Starting phases which define the position of the origin in the unit cell should be fixed throughout the phasing process. Similarly, the phase intended to define the enantiomorph of the structure (necessary only in acentric cases) should also be fixed in the early cycles, even if its value is not known accurately.

There is also the provision to suppress particular reflections in the E list so that their phase is estimated but not used in phasing process. This may be necessary if certain reflections are expected or have proven to be unsuitable for phase extension purposes in the early stages. This is often the case with axial reflections.

Once the iterations of the requested cycles have been carried out, the final accepted refined phases are written in the output binary data file. This file may then be used in conjunction with =FOURR= to calculate an E map or an FO PHASES FROM STATISTICS map to be searched for the structure.

Choosing the Best Set of Cell Defining Reflections

The formal rules for selecting the reflections whose phases must be fixed in order to specify the cell origin and enantiomorph, haye been discussed earlier in =SINGEN=. However, there is usually a large number of reflections, and combinations of reflections, in the E-LIST that can be used for this purpose. If the SIGMA-TWO structure invariant relationships were exact it would not matter which set were used, as all must ultimately lead to a correct expanded phase set. This is not the case. the relationships are statistical and usually considerable care must be taken to select the starting set with the highest probability of success. The success or failure to extend the inner set of phases correctly is often determined in the very earliest interactions. Unless there is sufficient redundancy at this stage a single bad estimate in the first one or two iterations can permeate the entire phasing process. It is of first importance therefore to select the set of cell defining reflections, and other reflections used to initialize =TANGEN=, so as to facilitate both the highest probability of early single SIGMA-TWO relationships, and the rapid interaction of these phases for early redundancy.

There are a number or procedures for choosing the best starting set (see Hall, 1970). A relatively simple method which has met with considerable success when used in conjunction with =TANGEN= will be described briefly here.

The basic steps are as follows:

  1. Using ihe summary of structure invariant relationships output from =SINGEN=, select between 10 and 20 (depending on the structure size) reflections which are eligible for use as starting phases, and have the highest SUM OF A-S values. For example, in the space group P(2SUB1,2SUB1,2SUB1) these would be the 0KL, H0L and HK0 reflections, and in P(2SUB1), the H0L and H1L reflections. Some of these phases can be implicitly seminvariant (stated in the R.H.S. of the summary =SINGEN=) since, although they are ineligible for origin definition, they can be used to fix the enantiomorph or for other starting phases.
  2. List the selected reflections as phase No., H,K,L, and phase restriction, in a column on the L.H.S. of a sheet of paper.
  3. For non-centrosymmetric space groups, repeat 1 and 1 for reflections in the summary that are not *DIRECTLY* accessible for use in the initialization of =TANGEN= (usually due to the unrestricted nature of their phases), but have high SUM OF -A-S values.
  4. These lists should now contain the reflections that form the largest number, and/or the most probable, SIGMA-TWO relationships. Subsequent steps will attempt to find which of these reflections form the largest number of relationships among themselves. Such interactions are essential so that reflections in the first list (c.f, 1 and 2) provide early proliferation of reliable phases. This property is also important in the second list (c. f. 3) as these reflections invariably provide relationships critical to the rapid expansion of the inner phase set. It should be remembered that in all non-centrosymmetric space groups the reflections with unrestricted phases dominate the structure invariant relationships. It is therefore important that unrestricted phases should be estimated as soon as possible since this, in addition to enabling a more rapid access to all reflections, ensures that the enantiomorph information is rapidly propagated to the reflections with NONZERO or NONPI phase values.
  5. Use the structure invariant relationship information from =SINGEN= to find which relationships involve more than one reflection in the lists already prepared. Tabulate (in rows on the lists) the phase nos. of reflections which are in such relationships, remembering to cross reference (e. g. if the horizontal list of reflection phase no. 5 contains phase no. 37, then the list of phase no. 37 must contain 5).
  6. On completion of this search, the lists should reflect the extent and direction of interactions involving the selected reflections. In the first list, the reflections showing the most extensive interactions (the longest rows) should now be considered as the most suitable candidates for origin and enantiomorph definition. These reflections must of course, comply to the formal conditions required for origin definition (stipulated at the start of =SINGEN=). Often a compromise between reflections satisfying these requirements and those most suitable in the selected lists, is necessary. It is obviously most desirable that several of the starting reflections interact with each other immediately and this should be an overriding consideration.
  7. If the best cell defining phases do not extend rapidly and prolifically amongst reflections used in the first =TANGEN= cycle (top 50-100 E-values) additional starting phases may have to be used. The prepared list should also be invaluable for this purpose. One can use either a restricted phase from the first list, assigning the two possible numerical values in two different =TANGEN= runs (n. b. first check if one of these values is indicated in a limited symbolic addition procedure), or an unrestricted phase with numerical values from 0 to 360 degrees in intervals of 45 degrees. Criteria for recognizing which =TANGEN= calculations are successful are discussed below.

Recognizing Correct Phase Convergence

The initialization of the tangent iteration process with a limited number of correct numerical phases does not guarantee that the expanded set of phases will be correct. This may be due to a number of the factors which have been discussed earlier. It is intended here to outline how one can tell if the tangent calculation has succeeded, and that the output phases are correct, before the E-map has been calculated. The ability to distinguish a correctly refined phase set from an incorrect one is particularly important when the =TANGEN= calculation is repeated with a number of alternative starting sets. Successive =TANGEN= runs are necessary when one or more of the starting phases is unknown and must be permuted through a number of numerical values.

The =TANGEN= output contains at least four parameters that may be used to approximately gauge convergence to a correct phase set. Nevertheless, it should he stressed that these parameters are statistical and cannot be taken as precise indications of the correctness of a phase set. In order of sensitivity, these are

  1. The agreement factor (av.(EO-EC)/av.(EO)), which is listed for each iteration, should rise at the beginning of each new cycle and then decrease to a constant value. After the last cycle this value should be at its lowest and have a value which is often less than 0.19. In comparing different =TANGEN= runs the phase set with the lowest agreement factor should be used to calculate the first E-map.
  2. The distribution of restricted and unrestricted values should be relatively even in a correct phase set. Some imbalance in the number of specific. restricted phase values is permissible but the unrestricted phase distribution should not be peaked about particular values. The latter effect is usually due to inadequate definition of the origin or enantiomorph by the starting phases, or insufficient relationships among these phases.
  3. The absolute figure of merit based on the value of Germain, Main and Woolfson compares the expected and estimated phase statistics. The largest figure of merit (within the range 0.95-1.20) should reflect the probability that the expanded phase set is correct.
  4. The ratio (av.(BO)/av.(EC)) should have a value close to 1.0 for the final set of refined phases, provided this set is large enough (EMIN should be 1.2 to 1.4).

There are a number of other less consistent indications of a successful =TANGEN= calculation. Here are several:

A) The starting phases should rapidly expand to phase all other phases in the first or second cycles (E-thresholds).

B) All OPHI values decrease towards zero ( 0-5 degrees) after two or three cycles.

C) Multiple estimates of a phase should not be contradictory so that there are few very low EC values (marked T) or restricted phase conflicts (marked R).

D) There should be an absence of individual phase oscillations (marked 0) and of overall oscillations from iteration to iteration (detected sy the (av.(EO)/av.(EC)) ratios) in the final cycles.

WRITEU: Generation of write-up

Preparation of Printed Copies of the Write-up

The =WRITEU= program is designed to prepare printed copies of the write-up of the system from punched cards. Each program calling card mnemonic is used to give a character page code. Three kinds of pages are expected l.XXXXXX-NNN, 2.XXXXXX-ANN, and 2.XXXXXX-BNN. The X's are the characters, the N's are sequence numbers. The 1 section of the manual is general description, the 2-A the card order and file requirements, and the 2-B the card format section. Each section is then defined as an element.

The body of the write-up must leave column one for carriage control. Blank means single space, 0 (zero) double space. and 1 means start a new page.

The general description of each program, in part 1, has the following format. (Note the format of the card immediately following the =ELEMENT= card.)

Columns-
0000000001111111111222222222233333333334444444444555555555566666666667777777777
1234567890123456789012345678901234567890123456789012345678901234567890123456789
ELEMENT
1                                                          1.EXAMPL- 1
0
0
0                   =EXAMPL= - AN EXAMPLE PROGRAM WRITE-UP
                    -------------------------------------
0 THIS PROGRAM IS NON EXISTENT IN THE X-RAY SYSTEM. BUT ITS WRITE-UP
 NEVERTHELESS SERVES TO AID AS AN EXAMPLE FOR THE USER WISHING TO DESCRIBE
 THE FUNCTIONS AND LIMITATIONS OF HIS PROGRAM. EQUATIONS OF SIGNIFICANCE
 USED WITHIN THE CALCULATION SHOULD BE GIVEN WHERE POSSIBLE.
0       NOTE THAT ESOTERIC CHARACTERS WHICH ARE AVAILABLE ON SOME PRINTERS
 ARE NOT UNIVERSAL AND ONE SHOULD RESTRICT ONESELF TO USE OF 0-9 A-Z / *
 + - ( ) ' , .
ENDELT

The card order and file requirements (2-A) and the card have the following format.

Columns-
0000000001111111111222222222233333333334444444444555555555566666666667777777777
1234567890123456789012345678901234567890123456789012345678901234567890123456789
ELEMENT
1                                                          2.EXAMPL-A 1
0
0
0A.  CARD ORDER SUMMARY FOR EXAMPLE PROGRAM
     --------------------------------------
0
0
0    EXAMPLE   PROGRAM CALLING CARD
0    END       END CARD
0
0*****POSSIBLY READS =NFILEA= *****
C***** NEVER WRITES =NFILEB= *****
1
0
0
0B. CARD FORMATS FOR =EXAMPL= PROGRAM
    ---------------------------------
0
0
0OPERATION CARDS ARE DESCRIBED IN SECTION 2.GENERL-A, AND THEIR FORMATS ARE
 GIVEN IN SECTION 2.GENERL-B. THE POSITIONING OF THESE CARDS IS DICTATED BY
 THEIR FUNCTION.
0EXAMPL _ PROGRAM CALLING CARD.
      FORMAT (A2,A4,1X,A2,A4))
0 COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
  1-6   EXAMPL
  8-15  COMPOUND IDENTIFICATION CODE
0END   - END CARD,
    FORMAT (A2,A4)
0 COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
  1-3  END
  4-6 BLANK (NOTE THAT COLUMNS WHICH MUST BE BLANK ARE SO DESCRIBED -
      IGNORED COLUMNS ARE NOT REFERENCED)

WTANAL: Analysis of least squares weighting schemes

=WTANAL - a Program to Analyze Weighting Schemes

=WTANAL= was originally written by Peter Woodward and adapted to system format by John Baldwin.

The purpose of this program is to examine SUM(W*DELTA SQUARED) and SUM(DELTA SQUARED) as a function of the parameters FOBS, SIN THETA, or LAYER INDEX. Further, it allows a separate analysis of reflections for which FOBS is less than a specified threshold value (as a function of FOBS), and also of LESS-THANs (as a function of SIN THETA). In each of these two cases, reflections are sub-divided as to whether F OBSERVED is greater or less than F CALCULATED.

The input data specifies the wavelength of the radiation used. By choosing a LAMBDA value of 1.0 the SINF THETA analysis will be in. terms of SIN THETA over LAMBDA. Up to 20 intervals are allowed for each analysis excepting that for LAYER INDEX. In this case, a maximum of 41 layers (e.g. any one of H, K, L from -2N through +2N) is permitted and the user must specify the largest occurring negative index.

During the scan through the binary file. the following are summed - F OBS, F CALC, DELTA, DELTA SQUARED, W*DELTA SQUARED and number of reflections - for parameter intervals defined by the user. Note that LESS-THANs are only included in one type of analysis.

The method of defining the parameter intervals means that the final output for that interval is an analysis of reflections for which the actual parameter value is less than the chosen interval value. Thus, with F OBS interval values of 10.0, 20.0, 50.0. Reflections with F OBSs less than 10.0 will be listed against 10.0. Those in the range 10.0 to 20.0 against 20.0 and so on. Thus, if the first interval value for F OBS is made to be the same as the threshold value, all reflections with F OBS less than this value will be generally analysed in the F OBS analysis and in more detail- in the small F OBS analysis. Furthermore, the maximum specified interval value for any parameter should be chosen to be greater than the largest value. (If it is not, the highest interval value will also include the reflections above the top of its range.) If the series of the interval values is chosen such that it is not monotonic increasing, then at least one interval value will not contain any reflections. The program makes no check for these conditions.

Extinct reflections are not analyzed.

WTLSSQ: Revision of least squares weighting schemes

=WTLSSQ= - Revise Weights for Least Squares

=WTLSSW= was originally written by Ann Kerr and adapted to system format by John Baldwin. Michael Schneider extended the program's usefulness by including additional weighting schemes.

This program is designed to copy a binary data file changing only the weight assigned to each reflection. It utilises W, the weight currently in the binary data file and therefore care should be taken that the original value of W is not overwritten until a satisfactory new weighting scheme is obtained.

In the early stages of refinement, artificial weights may be employed in order to accelerate refinement. For example, down-weighting high order reflections to those with small F CALCULATED.

During the latter stages of refinement, weights should be related to the accuracy of the structure factors. This may be done in one of two ways. First, the weights.could reflect the precision of the data, e.g.. SIGMA(F), or SIGMA(I) for data collected on a diffractometer. The second method is to use a scheme with a very small number of parameters in relation to the data and adjusted so that the average W*DELTA**2 is about the same for similar sized groups analyzed in a systematic way, e.g., by ranges of F OBSERVED, or SIN(THETA). In this way, the weights will allow for systematic experimental errors not paralleled in the calculated model and defects in the model not paralleled in the data.

The X-RAY system allows the user to choose any of the following schemes by defining the various coefficients - A, B, C, etc.

Scheme 1. W = 1.0/(A + B*SIGMA(FOBS)**2 + C/(OLD WEIGHT) +D*FOBS + E*FOBS**2 + G*FOBS**H + J*SIN(THETA))

This allows the user to develop a power series type scheme. Reduced forms are available in schemes 2 and 7.

Scheme 2. W = 1.0/(A + B*FOBS + C*FOBS**2/(OLD WEIGHT) +D*FOBS**6 + E*SIN(THETA) )

The E*SIN(THETA) term will be useful in the early stages of refinement when the phases of the high order reflections are uncertain. (see scheme. 7).

Scheme 3. This scheme. gives unit weights to most reflections but down-weights those with large F(OBS) and/or small SIN(THETA) values. Reflections with a serious uncertainty of phase (e.g., if ABS(FCALC)) is less than 0.33*FOBS) can be removed from the refinement. This scheme is often useful with data obtained from a linear diffractometer.

W = X*Y  - if A*FOBS is greater than /FCALC/ then weight is 0.000000001.
B = SIN(THETA) limit - if SIN(THETA) is greater than B, X = 1, else X = SIN(THETA)/B.
C= FOBS limit - if C is greater than FOBS, then Y = 1, else Y = C/F(OBS)

*Note - B should not he zero.

Scheme 4. If FOBS is less than or equal to A, W= (FOBS/A) **2, else W = (A/FOBS)**2

Reflections with FOBS = A are given maximum weight.

Scheme 5. If FOBS is less than or equal to A, W = 1, else W= (A.FOBS)**2

Small reflections are given constant weight. In Hughes' original treatment, A=4*F(MIN).

Scheme 6. W = 1.0/(1 + ((FOBS - B)/A)**2)

Reflections with FOBS = B are given maximum weight, but if A is very large, the weights are constant.

Scheme 7. W ='1.0/(A + FOBS + B*FOBS**2 + C*FOBS**3)

Cruickshank. suggests that A = 2*F(MIN), B = 2/F(MAX)), and C = 0 are useful.

A large value of C, say C = 5/F(MAX)**2, may help down-weight large FOBS subject to extinction. These values may prove useful in schemes 1 and 2.

Scheme 8. W = A/AMAX1 (SIGMA(F), (B*FOBS + C), (D*G + E)) where G is FRELM. For a complete description of this (Univ. of Washington) scheme, see DATRDN.

Scheme 9. W = 1.0/SIGMA(FREL)**2

Scheme 10. W = l.0/SIGMA(I)**2

*Note - Schemes 9 and 10 require the SIGMA values to have been included at =DATRDN= time.

Scheme 11. W = A i.e., produces constant weights.

It is possible to supply a maxima allowable weight for any reflection, thus preventing errors in subsequent least squares refinements.

In addition to assigning new values to the weight of each reflection, it is possible to modify the LESS-THAN status of a reflection by defining a new threshold value (see LESS-THANs , GENERL).

A suggested use of this program is to make a preliminary run with the appropriate weighting scheme using default ranges of FOBS and SIN(THETA) and writing on to a scratch file for =NFILEB=. Repeated use of the program (possibly in conjunction with =WTANAL=) will then allow more satisfactory ranges to he chosen until the desired series of weights is obtained. Only at this stage should the output binary data file be saved. A good rule of thumb is that when the maximum average W*DELTA**2 is equal to, or less than, twice the minimum value, a reasonable set of weights has been obtained.

The program produces a monovariable analysis of the proposed weighting scheme as a function of FOBS and of SIN(THETA) at specified intervals, and then uses these same intervals to produce a bivariate analysis. For this reason the interval chosen will usually be larger and fewer than those used in =WTANAL=. LESS-THANs are not included in these analyses, but it is possible to weight the LESS-THANs with a constant weight, or by the equation chosen, or to give them negligible weight if FOBS .GT. FCALC, and by the equation if FCALC .GT. FOBSs. The program prints out minimum weight, maximum weight, and average W*DELTASQ for both the observed reflections and the LESS-THANs.

Part 2: Input Data Requirements

GENERL: Card Formats and Card Order

For each card type that defines a program to be called, the following sections appear:

List of Operation Cards

ENDFIL
Writes remark =END OF OUTPT FILE= and writes one END-OF-FILE mark. Rewinds file =NTOUT= and redefines =NTOUT= to =NTOUTM=. Note: if (NTOUT) = (NTOUTM) the =ENDFIL= card is ignored. (these file designations are defined in l.GENERL.) This card should follow the appropriate =END= card.
FILES
Assigns file unit designations. This will usually precede a program calling card.
FINISH
Causes immediate return to laboratory system (if any). Must be used with any laboratory monitor which does not use END-OF-FILE marks between jobs (e.g.- BELL). This card must occur at the absolute end of a data deck.
REMARK
Inserts remarks on the printed output.
RESTART
Causes reinitialization of system file assignments, clears title to blank, resets page count to zero, etc. (refer to 1.GENERL). A =RESTART= card should only appear after an =END= card.
SAVE
Causes unloading or physical disconnection of the specified logical files. This should not be included until the end of the run, and should usually be preceded hy a =RESTART= card.
TITLE
Fills in page title. New =TITLE= card changes stored title. =RESTART= card initializes stored title to blanks.
VERIFY
Controls listing of all data input cards on =NTOUT= as they are encountered

Card Formats for System Operation Cards

ENDFIL
End file output (File =NTOUT=)
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ENDFIL
FILES
Set values for logical file designation numbers. A blank field implies no change in given file designation. Remember that =NFILEA= and =NFILEB= are interchanged automatically after each program call.
      FORMAT (A2,A4,12I3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   FILES
6     BLANK
      FILE      Usual Purpose
      ----      ------------
7-9   NTIN      Card input (from card reader)
10-12 NTOUT     Printed output (to line printer)
13-15 NFILEA    Input binary X-RAY data file
16-18 NFILEB    Output binary X-RAY data file
19-21 NFILEC    Punch card output (to card punch)
22-24 NFILED    Spare off line print output file
25-27 NFILEE    Scratch file for various links
25-27 NFILEF    Scratch file for various links
25-27 NFILEG    Scratch file for various links
25-27 NFILEH    Scratch file for various links
25-27 NFILEI    Scratch file for various links
25-27 NFILEJ    Scratch file for various links
FINISH
Run termination card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FINISH
REMARK
Remark card. A =REMARK= card is used to insert a remark onto the printed oufput on =NTOUT= at any time.
      FORMAT (A2,19A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   REMARK
7-80  Alphanumeric information for remark
RESTART
Reinitialize system.
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-7   RESTART
SAVE
Physically remove the specified data file from the computer. Will not work for all machines.
      FORMAT (A2,A4,12I3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   SAVE
5-6   BLANK
7-9   Numbers of logical files to be removed. first
10-12 blank field terminates scan of card.
etc
TITLE
For heading pages on the printer output (=NTOUT=). Should be used at the start of every run and after every =RESTART= card. Include reason for run.
      FORMAT (A2,18A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   TITLE
6     BLANK
7-74  Alphanumeric information for page title
VERIFY
Controls listing of input cards at the time they are encountered (=RESTART= resets this flag to suppress listing).
      FORMAT (A2,A4,2X,I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   VERIFY
9     BLANK/1 for (DO/DO NOT) list input data cards

ABSORB: Card Formats and Card Order

A. Card Order Summary for =ABSORB= Program

ABSORB  Program calling card
CELL    Unit ctll parameters
ORREF   Crystal orientation definition
*FACE   Crystal description in terms of PHI, CHI and distance
*FACEPT Crystal description using 3 points per face
*HKL   Standard system reflection card
END

B. Card Formats for =ABSORB= Program

ABSORB
Program calling card.
      FORMAT (A2,A4,1X,A2,A4,F7.4,3I5,5X,F10.5,F6.2,F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ABSORB
8-13  Compound identification code
14-20 Linear absorption coefficient in CM**-l
21-25 Number of grid points to be calculated along X (N1)
26-30 Number of grid points to be calculated along Y (N2)
31-35 Number of grid points to be calculated along Z (N3)
        (N1*N2*N3 must not exceed 406)
41-45 0/1/2 for reflection output on NFILEG/NFILEC (cards) /nothing
46-55 Radiation wavelength (angstroms)
56-61 PHI value (degrees) of reflections measured at CHI = 90.0 degs
62-70 Multiplier to convert input crystal dimensions to cm
      (0 or BLANK = 1.0)
CELL
Cell parameters.
      FORMAT (A2,A4,7X,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
14-21 A (ANGS)
22-29 B (ANGS)
30-37 C (ANGS)
38-46 ALPHA(DEGS)
47-55 BETA(DEGS)
56-64 GAMMA(DEGS)
ORREF
Crystal orientation
      FORMAT (A2,A4,4X,2(3F3.0,1X,2F10.5))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ORREF
11-13 H of primary orienting reflection
14-16 K
17-19 L
21-30 CHI(DEGS)
31-40 PHI(DEGS)
41-43 H of secondary orienting reflection
44-46 K
47-49 L
51-60 CHI(DEGS)
61-70 PHI(DEGS)
FACE
Crystal face definition for face in diffracting position
      FORMAT (A2,A4,4X,3F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   FACE
11-20 CHI (DEGS) required to place crystal face in diffracting position 
21-30 PHI (DEGS) required to place crystal face in diffracting position 
31-40 Distance from face to some point inside the crystal in cms
Note:the distance need not be in specified in cms if the appropriate conversion factor is placed in cols 62-70 of7 the =ABSORB= card.
FACEPT
Crystal face definition with 3 points per face
      FORMAT (A2,A2,I2,9F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FACEPT
7-8   -1/0 for fake face to be used only for crystal orientation/
       normal or orientation face
9-16  X1
17-24 Y1  Coordinates (cm) for point 1 in an arbitrary.
25-32 Z1  right-handed coordinate system
33-40 X2
41-48 Y2  Coordinates (cm) for point 2
49-56 Z2
57-64 X3
65-72 Y3  Coordinates (cm) for point 3
73-80 Z3
Note:the coordinates may be converted to the cm scale using the conversion factor in cols 62-70 of the =ABSORB= card.
Note well - the primary and secondary orienting reflections on the =ORREF= card must be the indices of the faces specified on the 1st and 2nd =FACEPT= cards.
HKL
Standard system reflection card (see =DATRDN= for details and card format).
      FORMAT (3A4,A1,3I3,3(2A4,A1),A4,A1,2A4,7X,2A4,A3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   HKL
7-13  Anything
14-16 H
17-19 K
20-22 L
23-62 Anything
70-80 Anything
Note:the only data used is H, K, L. The data contained in the =ANYTHING= columns is regurgitated unchanged to the output file, The absorption correction is placed in cols 63-69.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END

APHASE: Card Formats and Card Order

A. Card Order Summary for =APHASE= Program

APHASE  Program calling card
*PHI    Definition of starting reflections
*IGNORE Deletion of a relationship
*HOLD   Witholding a reflection from the simplification process
END     End card

B. Card Formats for =APHASE= Program

APHASE
Program calling card.
      FORMAT (A2,A4,1X,A2,A4,I2,6I5,3F5.2,2I5,1X,4I1,F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   APHASE
8-13  Compound identification code
15    (Blank)/(1) to enter binary data and =SINGEN= files from (=NFILEA= and
      =NFILEE=)/(=NFILEA= only) in both cases =NFILEA= must contain E-values
      produced by =NORMSF=
16-20 Maximum phase no. to be considered as a possible =GENERATOR= (blank=0) 
21-25 Minimum number of =GENERATOR= required for this calculation (blank=0)
26-30 Minimum number of struct. inv. relationships a phase must appear in to
      form a =GENERATOR= (blank = 5)
31-35 Maximum phase no. (N3) considered jn the formatiom of struct. inv,
      relationships of the type - (PH1+PHI2+PHI3+PHI4) (blank=9999)
40    (blank>/(1) enter from =NFILE= or =NFILEA= triplets with (both restricted
      and unrestricted phases )/( restricted phases only)

45    (blank)/(1)/(2) calculate (S.I. averages to estimate PSI and solve
      for PHI) /(S.I. averages for PSI only) /(solve for PHI assuming
      PSI is zero)
46-50 Minimum A-value of triplet used in calculation (blank = 0.5)
51-55 A-threshold of TYPE2 triplets to count towards defining =GENERATOR=S (blank = MIN, A = value)
56-60 E-threshold of the D and S averages (blank = 1.3)
61-65 Number of triplets per group of constant A to estimate scales M and K
      in the N(D-KS) formula (blank = 50)
66-70 Maximum deviation of a PSI value (if restricted) before it is marked
      unreliable for the =SOLVE= process (blank = 60 degrees)
72    (Blank)/(1) (Do not)/(Do) print summary of =GENERATOR=
73    (Blank)/(1) (Do not)/(Do) print triplets sorted according to A-value
74    (Blank)/(1) (Do not)/(Do) print PSI values and averages
75    (Blank)/(1) (Do not)/(Do) print solve pedigree tables
76-80 The value to be used to test discrepancies. That is the number of
      degrees by which a generated phase can differ during the solution and
      still be considered non-conflicting. Blank is set to 15 degrees.
PHI
Card to define given phases
      FORMAT (A2,A4,1X,I3,5X,3I5,F5.0,I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   PHI
4-6   Blank
7-10  R-list serial no. of reflection
11-20 H index
21-25 K index
26-30 L index
30-40 Phase in degrees
41-45 (N) to fix phase for N cycles when using the phases determined by 
      =APHASE= as the starting reflections in =TANGEN=
IGNORE
To cause the deletion of certain relationships from use in solving for generators.
      FORMAT (A2,A4,3X,14I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   IGNORE
11-15 Catalog or serial number of relationship to be ignored. The program
      must have been run once in order to display these numbers.
16-20 All used in the same manner. The first blank field terminates the scan
21-25
....
76-80 
HOLD
To cause certain generators to be solved for but not to be used to update or solve for other generetors. In effect, it makes it possible to place =GENERATED= reflections among the generators.
      FORMAT (A2,A4,4X,14I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   HOLD
11-15 Symbolic phase of reflection to be =HELD=
16-20 All used in the same manner. The first blank field terminates the scan
21-25
....
76-80 
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

BONDAT: Card Formats and Card Order

A. Card Order Summary for =BONDAT= Program

BONDAT  Program calling card
*CELL   Cell parameters if no binary data file, not allowed with BDF
*ATOM   Atomic parameters not required with binary data file -
        will supercede or add to list if used with BDF.
CALCAT  Calculate atoms from given atoms in specified configuration -
        these cards are repeated for each of the generated atoms required.
END     End card

B. Card Formats for =BONDAT= Program

BONDAT
Calling card for bonded atom calculation program
      FORMAT (A1,A4,1X,A4,A2,1X,I1,2(1X,I1)))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BONDAT
8-13  Compound identification code
15    (Blank)/(1) (expect binary data file and NFILEA)/(cards only)
17    (Blank)/(1) (Do not)/(do) punch atom cards for generated atoms
19    (blank)/(1) (Do not)/(do) write updated binary data file (col. 15
       must be blank if col. 19 is 1)
CELL
Cell constant card
      FORMAT (A2,A4,1X,A4,A2,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
8-13  Compound identification code
14-21 A cell dimension
22-29 B cell dimension
30-37 C cell dimension
38-46 COS ALPHA
47-55 COS BETA
56-64 COS GAMMA
Note Direct cell constants and cosines only
ATOM
Atom parameter cards
      FORMAT (A2,A4,1X,A4,A2,3F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ATOM
8-13  Atom identification code (see 1.GENERL)
14-21 X Parameter in fraction of a cell edge
22-29 Y Parameter in fraction of a cell edge
30-37 ZParameter in fraction of a cell edge
CALCAT
Specific atom calculation card
      FORMAT (A2,A4,1X,A4,A2,F7.3,7(1X,A4,A2),2F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   CALCAT
8-13  Calculation type may be specified either as right justified 1,2,3,4,5,
      6,7, or 8 or as codes LINEAR, TRIGON, TETCHN, TETERM, SQRPLN, OCTHED,
      HEXGNL, or GENRAL as described in 1.BONDAT.
14-20 Distance of attachment of generated atoms
      Calculation type    1   2   3   4   5   6   7   8
22-27 Name of P1          R   R   R   R   R   R   R   R
29-34 Name of P2          R   R   R   R   R   R   R   R
36-41 Name of P3              R   R   R   R   R   R   R
43-48 Name for P4         R   R   R   R   R   R   R   R
50-55 Name for P5                 R   R   R   R   R    
57-62 Name for P6                     R       R   R    
64-69 Name for P7                             R        
70-74 ALPHA(1) in plane angle
75-79 ALPHA(2) angle of elevation
The names P1 throughP7 refer to the points described in 1.BONDAT. They may-be left blank if not required for the particular bonding situation, in all other respects they must obey the rules of atom naming given in 1.GENERL. The R in the columns above show which are required names in each given case.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

BONDLA: Card Formats and Card Order

A. Card Order Summary for =BONDLA= Program

BONDLA  Program calling card
*CELL   Cell dimensions
*CELLSD Standard deviations of cell parameters
*LATICE Lattice type
*SYMTRY Symmetry operation
*ATRAD  Set atomic radii
*ATOM   Atom parameters
*GRID   Grid information - required only if =ATOMS= cards are used
*ATOMG  Supply atom grid parameters - requires presence of a =GRID= card
*BOND   Produce a specific bond distance
*ANGLE  Produce a specific bond angle
END     End card

Note: the absence of a =CELL= card immediately following the =BONDLA= card will cause =NFILEA= to be read. The presence of a =CELL= card in that position will imply no input binary data file.

B. Card Formats for =BONDLA= Program

BONDLA
Calling card
      FORMAT (A2,A4,1X,A2,A4,I2,3F10.3,I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BONDLA
8-13  Compound identification code
14-15 (blank)/(1) for (print)/(suppress) angle information
16-25 Maximum contact distance (blank = 2.50)
26-35 Maximum bond distance (blank = 1.80)
36-45 Minimum bond distance (blank = 0.03)
46-50 (blank)/(1) for (do not)/(do) punch =ATOM= cards on =NFILEC= for all
      bonded atoms. This allows for the production of a connected set of atoms.
CELL
Cell constant card
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
5-6   Blank
8-13  Compound identification code
14-21 A cell dimension or A* reciprocal cell dimension
22-29 B cell dimension or B* reciprocal cell dimension
30-37 C cell dimension or C* reciprocal cell dimension
38-46 COS ALPHA or ALPHA in degrees or COS ALPHA* or ALPHA* in degrees
47-55 COS BETA or BETA in degrees or COS BETA* or BETA* in degrees
56-64 COS GAMMA or GAMMA in degrees or COS GAMMA* or GAMMA* in degrees
Note: quantities must be either all in direct space or all in reciprocal space. Angles must all e given as either cosines or in degrees.
CELLSD
Standard deviation of unit cell parameters
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CELLSD
8-13  Compound identification code
14-21 Standard deviation in A cell dimension (angstroms)
22-29 Standard deviation in B cell dimension (angstroms)
30-37 Standard deviation in C cell dimension (angstroms)
38-46 Standard deviation in COS ALPHA cell dimension 
47-55 Standard deviation in COS BETA cell dimension 
56-64 Standard deviation in COS GAMMA cell dimension 
LATICE
Centricty identification card
      FORMAT (A2,A4,2X,A1,2X,A1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LATICE
9     C = centric cell, A = acentric cell
12    Designation' of lattice type P, I, R, F, A, B, C - - one of the foregoing must be punched
SYMTRY
Symmetry operation card
      FORMAT (A2,A4,66A1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SYMTRY
7-72  General equivalent position. The symmetry of the space group is
      indicated by supplying the set of general equivalent positions. Each
      equivalent position is specified on a separate =SYMTRY= card. a simple
      rule is that any general equivalent position in the international
      tables may be written verbatim with the following conventions!
      (1) minus signs precede the negative quantity e.g. -X for X-BAR
      (2) fractions are written with the slash, e.g. 1/2 for one-half
      (3) blanks are ignored.
      Note: 1/2-X or -X+l/2 are both acceptable formats.
      Note: do not punch any operations through the center if space group
            is coded centric on =LATICE= card.
     (see statement on symmetry in 1.GENERL)
ATRAD
Set atmic radii card
      FORMAT (A2,A4,1X,A4,4X,3F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ATRAD
6     Blank
8-11  Atom type (see 1.GENERL)
16-25 Contact radius in angstrom units
26-35 Bond radius in angstrom units
36-45 Minimum bond radius in angstrom units
      N.B. these are radii - the quantities in the =BONDLA= card are diameters
ATOM or ATOMG
Atom parameter card
An ATOMG card is identical to an ATOM card save that the X, Y, Z, are divided by the three parameters supplied on a =GRID= card - used to avoid converting Fourier map coordinates.
      FORMAT (A2,A4,1X,A4,A23F8.4,11X,3F8.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ATOM or ATOMG
6     Blank
8-13  Atom identification (see 1.GENERL)
14-21 X parameter in fractions of a cell edge
22-29 Y parameter in fractions of a cell edge
30-37 Z parameter in fractions of a cell edge
49-56 Standard deviation in X
57-64 Standard deviation in Y
65-75 Standard deviation in Z
GRID
Fourier grid card
      FORMAT (A2,A4,7X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   GRID
5-6   Blank
14-17 Number of grid points along A axis
18-21 Number of grid points along B axis
22-25 Number of grid points along C axis
BOND
Calculate a specified bond distance
      FORMAT (A2,A4,2(1X,A4,A2))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   BOND
5-6   Blank
8-13  Atom identification of first atom
15-20 Atom identification of bonded atom
ANGLE
Calculate specified bond angle
      FORMAT (A2,A4,4(1X,A4,A2))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ANGLE
6     Blank
8-13  Atom identification of first bonded atom
15-20 Atom identification of second bonded atom
22-27 Atom identification of third bonded atom
29-34 Atom identification of fourth bonded atom
Note: if the first three fields are specified. the central atom must be second. If four fields are specified, the first and second define one line, the third and fourth the second and atoms two and three are presumed to be toward the apex of the angle to be calculated. Whenever =BOND= or =ANGLE= cards are supplied, they will cause corresponding cards to be punched containing the resulting bond lengths and angles with their standard deviations.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

CRYLSQ: Card Formats and Card Order

A. Card Order Summary for =CRYLSQ= Program

CRYLSQ  Program calling card
*SCALE  Scale card for F RELATIVE data
*GROUP  Group refinement
*IDMOL  Identical molecule refinement
*EXTINC Isotropic extinction correction
*MAXHKL Puts limits on H, K, L, or SIN THETA for this run only
*ATOM   Atom selection card
*BLOCK  Matrix blocking card
*REF    Turn on refinement of specified parameters
*NOREF  Shut off refinement of specified parameters
*CONSTR Constrains one parameter to be a function of another
*SPECIA Special position card
*DISPER Dispersion factor card
*RELEAS Release all constraints RFAD from the binary data file for a specific atom
END     End card

Note 1: If no atom cards are present, all the atoms in the binary file are used, if any atoms are specified by cards only those specified on the cards are selected from the binary file. If there are too many atoms in the file for the storage capacity, cards will be expected.

Note 2: If all refinement restriction cards are left out, refinement will be on all positional, scale, and thermal parameters. However, no scattering factors, or population parameters will be set to refine.

Note 3: Cards are read in two different blocks:

B. Card Formats for =CRYLSQ= Program

CRYLSQ
Calling card for the crystallographic least squares program
      FORMAT (A2,A4,1X,A2,A4,19(1X,I1),9X,4F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CRYLSQ
8-13  Compound identification code
15    Number of cycles (blank = 1)
17    (0)/(1)/(2) = refinement based on (F)/(F**"2)/(I)
      Note: in the following fields, the mnemonics in the final parentheses
      are used to identify the input specifications on the output listing
19    (0)/(1)/(2)/(3) = (Overall)/(Isotropic)/Anisotropic)/(Mixed)
      temperature factors = (OVRL)(ISO)(ANSO)(MIXD)
      Note: the program converts as required in the mixed mode
21    (0)/(1) = (Refine the scale factor separately)/(Refine them together) = (SEPR)/(UNIT)
23    (0)/(1)/(2)/(3) = (Use unit weights)/(Take weights from the binary data file)
      = (Unit)/(File)/(Calculated)/(1/SIGMAI)
25    0)/(1) = (Fullmatrix or as specified by =BLOCK= cards)/(Block-diagonal
      refinement = (FREE)/(BLCK)
27    (0)/(1) = (X-RAY)/(NEUTRON) Data = (XRAY)/(NEUT)
29    (0)/(1) = (Do not)/(Do) consider isotropic extinction = (NONE/ISO)
31    (0)/(1)/(2) = (Do not list)/(list the reflections for which
      weighted DELTA-F is greater than the rejection parameter)/(List
      rejected reflections) = (NONE)/(GRTR)/(RJCT)
33    (0)/(1)/(2)(3) = (List the correlation matrix on the last cycle)/
      (Every cycle)/(Not at all)/(Dump the direct and inverted matrices and
      the vector for each cycle) = (LAST)/(ALL)/(N)/(DUMP)
35    (0)/(1) = (Terminate when convergence i.e. a decrease in R or less than 
      0.01 per cent is achieved or else when divergence of R of greater than
      0.2 occurs)/(Do not) = (YES)/(NO)
37    (0)/(1)/(2) = (Reset temperature factors that go non positive
      definite)/(Terminate when a temperature factor goes non positivr
      definite)/(Write message and continue) = (RESET)/(STOP)/(GO)
39    (0)/(1)/(2) = (List reflections on the last cycle)/(Every cycle)/(Do not list)
      = (LAST)/(ALL)/(NO)
41    (0)/(1)/(2) = (Do not puncj new parameter cards)/(Only on the last cycle)
      /(On every cycle) = (NO/(LAST)/(YES))
43    (0)/(1)/(2) = (No partial contribution)/Apply the partial
      contribution)/(Establish and apply) = (NO)/(APLY)/(E+A)
45    (0)/(1) = (Do not save the correlation matrix on =NFILEE=/(Do)
      = (NO)/(YES)
47    Reflection skip factor N, Consider only one in each N reflections.
      N can have a value in the range 0 through 9 (0 or 1 means consider
      every reflectiom)
49    0)/(1) = (Contribute only those LESS-THAN reflections which calculate
      reflections) = (GRTR)/(NO)
51    (0)/(1)/(2)/(3)/(4) = (Do not type reflections as observed or
      LESS-THANS)/(Type, based on SIGMA F, but do not alter the binary data file)/
      (Like 1 hut based on SIGMA I)/(Like 2 but based on SIGMAI)
      =(NO)/(YES-SIGMA F)/(SAVE-SIGMA F)/(YES-SIGMA I)/(SAVE-SIGMA I)
      Note: done in conjunction with cutoff parameter in columns 76-80 of this card
61-65 Damping or enhancing factor for parameter shifts(blank or 0.0 = 1.0)
66-70 Do not contribute a reflection to the matrix if its weighted DELTA-F is
      larger than this quantity (blank = 10**8)
71-75 Rejection parameter (see columns 30-31) (blank = 2.0)
76-80 Cutoff parameter (minimum number of SIGMAs required for classifying
      a reflection as observed) (see columns 50-51)
SCALE
SCALE card for F RELATIVE data
      FORMAT (A2,A4,F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to F RELATIVE
17-20 Group identification (1-64)
GROUP
Group refinement
      FORMAT (A2,A4,1X,A4,A2,2X,3I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   GROUP
8-13  Atom identification of leading atom
16-20 Temperature factor type (0/1) for (OVRL/ISOTROPIC)
21-25 Number of atoms in the group
26-30 (0/1/N) = (GROUP/ First IDMOL/N-th IDMOL)
Note: Members of a group or an identical molecule should follow immediately after the leading atom.
IDMOL
Identical molecule refinement
      FORMAT (A2,A4,1X,A4,A2,2X,3I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   IDMOL
8-13  Atom identification of leading atom
16-20 Temperature factor type (0/1) for (OVRL/ISOTROPIC)
21-25 Number of atoms in the group
26-30 (0/1/N) = (GROUP/ First IDMOL/N-th IDMOL)
Note: see Note of GROUP above.
EXTINC
Isotropic extinction correction
      FORMAT (A2,A4,E10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   EXTINC
7-16  As X.XXXXE-NN where X.XXXX is the mantissa, E and - are required
      and NN is the power of 10 to characterize the number. see Larson,
      Crystallographic Computing, a starting
      value of 0.0 is usually acceptable,
MAXHKL
Limits for data set for this run only
      FORMAT (A2,A4,7X,3I4,2F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MAXHKL
14-17 Maximum H to be used
18-21 Maximum K to be used
22-25 Maximum L to be used
26-33 Maximum SIN(THETA)/LAMBDA (Blank = 0.7)
34-41 Minimum SIN(THETA)/LAMBDA (Blank = 0.0)
ATOM
Atom selection card
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   ATOM
5-6   Blank
8-13  Atom identification (See 1.GENERL)
BLOCK
Matrix blocking card. Block the matrix prior to the first parameter of this atom
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   BLOCK
6     Blank
8-13  Atom identification (See 1.GENERL)
REF or NOREF
Set parameter refinement if it is to be different from that already set in the data file
      FORMAT (A2,A4,1X,A4,A2,13A3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   REF or NOREF
6     Blank
8-13  Atom identification (See 1.GENERL). If blank, the card applies to
      all atoms. If only atom type is given, the card applies to all atoms
      of this given type.
14-16 Each field may contain blanks or one of the following left justified symbols
      * SCL  Scale factor
      * UOV  Overall temperature factor
      * E    Extinction parameter
        X
        Y
        Z
        PP   Population parameter
        SCT  Neutron scattering factor
        DFI  Imaginary dispersion parameter
        U    Isotropic temperature factor
        U11
        U22
        U33
        U12
        U13
        U23
      *These cards must have =GNRL- in columns 8-11 (except the UOV when used
       in the mixed temperature factor mode to correct a particular atom to
       the overall mode.)
17-19
20-22  Symbol from above list
....
50-52
Note: if cols 14-52 are blank in the case of the =NOREF= card, all parameters for the indicated atom or atoms will be held invariant
Note: while in the mixed temperature factor mode, the T. F. mode of refinement for any atom may be altered viz a =REF= card (e.g., the conversion from anisotropic to isotropic is accomplished by including a =REF= card containing a U for the particular atom).
CONSTR
Impose a constraint between the specified parameters. The constraining equation is: P(SUB) = F*P(REF) + S where F and S are floating point numbers, P(SUB) is the subject parameter, amd P(REF) is the reference parameter
      FORMAT (A2,A4,1XA4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CONSTR
8-13  Atom identification (see 1.GENERL) of subject atom
15-20 Atom identification (see 1.GENERL) of reference atom
21-23 Parameter of subject atom (see =REF=/=NOREF=)
24-26 Parameter of reference atom (see =REF=/=NOREF=)
31-40 F for constraining equation
41-50 S for constraining equation
SPECIA
Special position card. One needed for each atom in a special position
      FORMAT (A2,A4,1X,A4,A2,2X,9(F4.0,A1),F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SPECIA
8-13  Atom identification (see 1.GENERL)
14-15 Blank
16-20 X section (see Note 1 below)
21-25 Y section (see Note 1 below)
26-30 Z section (see Note 1 below)
31-35 U11 section (see Note 1 below)
36-40 U22 section (see Note 1 below)
41-45 U33 section (see Note 1 below)
46-50 U12 section (see Note 1 below)
51-55 U13 section (see Note 1 below)
55-60 U23 section (see Note 1 below)
61-65 The position multiplicity
Note 1: these nine double fields are used for specifying the special position. Each double field requires five columns (F4.0,A1). The first field possible contains a number and the second a letter or zero. Consider the special position X, 2X 1/4 from Vol 1 of the Int. Tables. This restriction on refinement is entered in the following way:
COLUMN    111122222222223
          678901234567890
              X   2X    I
where I is used to stipulate that the specified parameter is to be held invariant. If a parameter is to be zero and also held invariant, a zero is placed in the second field. Note: at least one special position parameter must be prefixed by a one or a blank.
Special position constraints on the anisotropic temperature factor parameters are entered in the same way with the exception that the X is replaced by A and/or B. If U11 is to be equal to U22, Ul3 is to be equal to U23, and U12 is to be set equal to zero, the following would be entered into columns 31 through 60:
COLUMN    333333333444444444455555555556
          123456789012345678901234567890
              A    A         0    B    B
Note: when special positions are present, the correct derivatives are calculated for the special position parameters.
DISPER
Templeton uispersion correction card
      FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DISPER
8-11  Atom type (see 1.GENERL)
14-21 DELTA FJ PRIME
22-29 DELTA FJ DOUBLE PRIME
RELEAS
Release all constraints read from the binary data file on a particular atom.
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   RELEAS
8-13  Atom identification (see 1.GENERL)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

DATCO5: Card Formats and Card Order

A. Card Order Summary for =DATCO5= Program

DATCO5  Program calling card
SYMTRY  General equivalent positions for Laue group. One card per
        operation expressed in terms of X, Y, Z must be supplied.
        Include -X, -Y, -Z operations if Friedel's law pairs are to be
        averaged.
*SYSABS Indicate systematic absences
*ATTENU Set values for automatic attenuators (not optional when
        attenuators are used)
PROCES  Indicates diffractometer type and number of reflections to
        process
END     End card

B. Card Formats for =DATCO5= Program

DATCO5
Program callingcard
      FORMAT (A2,A4,1X,A2,A4,I2,4F5.2,1X,A1,I2,3I1,3X,I2,3F4.1,I1,F6.0,F4.0,I2,F3.1,I2,2I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DATCO5
8-13  Compound identification code
14-15 (0)/(1)/(2) for (no special reflection output)/
                 (punch =HKL= cards on =NFILEC)/
                 (write =HKL = card images on =NFILEI=)
16-20 Number of standard deviations above background to define clearly
      observed reflections (blank = 3.0)
21-25 X control parameters for calculation of SIGMA(I). See 1.DATCO5
26-30 N for definitions
31-35 Number of standard deviations between the values of the first and
      second background which should be flagged on the output listing
      (blank = 10.0)
37    Character to delimit counting statistics on graphs of standards
41    (1)/(2)/(3) for H index varies (MOST)/(NEXTMOST)/(LEAST) rapidly
42    Sorting frequency for K index
43    Sorting frequency for L index
46-47 Laue group indicator
       1    1 BAR (Alternate 1)
              HKL-- H.GE.0,  0KL --K.GE. 0,  00L -- L.GE.0
       2    1 BAR (Alternate 2)
              HKL-- K.GE.0,  H0L --L.GE. 0,  H00 -- H.GE.0
       3    1 BAR (Alternate 3)
              HKL-- L.GE.0,  HK0 --H.GE. 0,  0K0 -- K.GE.0
              
       4    2/M (Alternate 1)
              HKL-- K.GE.0,  AND L.GE. 0,  HK0 -- H.GE.0
       5    2/M (Alternate 2)
              HKL-- H.GE.0,  AND K.GE. 0,  0KL -- L.GE.0
       6    MMM
              HKL-- H.GE.0,  OKL, K.GE. 0,  AND L.GE.0
       7    4/M
              HKL-- H.GE.0,  L.GE. 0  with  K.GE.0 if H.GE.0 or K.GE. 1 IF H.GE.0
       8    4/MMM
              HKL-- H.GE.0,  K.GE. 0, L.GE.0 with H.GE.K
       9    3 BAR 
              HKL-- H.GE.0,  L.GE. 0 with K.GE.0 if H.GE.0 or K.GE.1 if H.GE.0, HK0 -- K.GT.H
      10    3 BAR M
              HKL-- H.GE.0,  L.GE. 0 with H.GE.-K if K.LE.0 or H.GE.2K if K.GE.0, HK0 -- K.GE.0
      11    6/M 
              HKL-- H.GE.0,  L.GE. 0 and K.GE.0 with K.EQ.0 if H.EQ.0 or H.GE.K if H.GT.0
      12    6/MMM 
              HKL-- H.GE.0,  K.GE. 0 and L.GE.0 with H.GE.2K 
      13    M3 
              H.GE.0,  K.GE. 0 and L.GE.0 with L.GE.H and with K.GE.H if L.EQ.H, or K.GT.H if L.GT.H 
      14    M3M 
              HKL-- H.GE.0,  K.GE. 0 and L.GE.0 with  K.GE.L and L.GE.H 
48-51 Number of ten thousands of decacounts which should cause a reflection
      to be flagged as out of bounds (i.e. beyond reasonable known maximum
      intensity) (blank =10.0)
52-55 Number of counting statistic standard deviations between a pair of
      measurements of a single reflection that should cause acceptance of
      the higher value instead of acceptance of the average value of the two
      (blank = 5.0)
56-59 Number of calculated standard deviations from the mean to cause
      rejection of some of a group of 3 or more measured intensities of the
      same reflection (blank =3.0)
78    (0)/(1)/(2) for (list all reflection information) / ( list only sorted
      averaged reflections) / (list no reflections)
79    (0)/(1) for (automatic)/(non-automatic) adjustment required for drift
      in standard reflections
SYMTRY
Cards to give symmetrv operations of Laue group
      FORMAT (12(A2,A4))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SYMTRY
7-72  General equivalent position. The symmetry of the space group is
      indicated by supplying the set of general equivalent positions. Each
      equivalent position is specified on a separate SYMTRY card. A simple
      rule is that any general equivalent position in the international
      tables may me written verbatim with the following conventions.
       (1) minus signs precede the negative quantity. e.g. -X for X-BAR
       (2) fractions are written with the slash, e.g. 1/2 for one-half
       (3) blanks are ignored.
     Note: 1/2-X or -X+1/2 are both acceptable formats.
SYSABS
Systematic absences card
      FORMAT (A2,A4,1X,A2,A4,7X,23I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SYSABS
8-13  Compound identificatiom code
21-43 Value of X for application of systematic absences test. Only those
      columns corresponding to tests to be applied should be non-zero.
21    HKL absent if H+K=XN+1
22    HKL absent if H+L=XN+1
23    HKL absent if K+L=XN+1
24    HKL absent if all H+K, H+L, K+L=XN+1
25    HKL absent if H+K+L=XM+1
26    HKL absent if -H+K+L=XM+1
27    HHL absent if H=XN+1
28    HHL absent if L=XN+1
29    HHL absent if H+L=XN+1
30    HHL absent if 2H+L=XN+1
31    0KL absent if K=XN+1
32    0KL absent if L=XN+1
33    0KL absent if K+L=XN+1
34    H0L absent if H=XN+1
35    H0L absent if L=XN+1
36    H0L absent if H+L=XN+1
37    HK0 absent if H=XN+1
38    HK0 absent if K=XN+1
39    HK0 absent if H+K=XN+1
40    HH0 absent if H=XN+1
41    H00 absent if H=XN+1
42    0K0 absent if K=XN+1
43    00L absent if L=XN+1
ATTENU
Attenu card
      FORMAT (A2,A4,4X,9F7.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ATTENU
11-17 Attenuator factor 1 (Attenuator factor zero implies no attenuator) (i.e. 1.0)
18-24 Attenuator factor 2
25-31 Attenuator factor 3          Note: the first attenuator does not
32-38 Attenuator factor 4                refer to the open slot and thus it must 
39-45 Attenuator factor 5                not be 1.0
46-52 Attenuator factor 6
53-59 Attenuator factor 7
60-66 Attenuator factor 8
67-73 Attenuator factor 9
PROCES
Diffractometer identification card
      FORMAT (A2,A4,3X,I1,I5,4X,I1,5X,F5.0,3I5,F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   PROCES
10    (1)/(2)/(3) for  (picker with G. Lenhert magnetic tape format)/
                       (picker with old magnetic tape format)/
                       (Siemens magnetic tape)
11-15 External refection sequence number to indicate number of reflections
      to process (blank indicates whole file)
20    (blank)/(1) for (no print)/(print) input images
26-30 Time seconds for background (time of one background)
31-35 External reflection number to begin deletion of reflections
36-40 External reflection number to end deletion of reflections
41-45 Number of input data files (blank = 1, usual value)
46.55 Minimum reflection scam time in seconds (if the recorded reflection
      scan time is less than this quantity, the reflection will be rejected)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

DATRDN: Card Formats and Card Order

A. Card Order Summary for =DATRDN= Program

DATRDN  Program calling card
*LABEL  File identification information
CELL    Unit cell Parameter
*CELLSD Standard deviation of unit cell parameters
*MAXHKL Establishes limits on H, K, L, or SIN THETA
FORMFX  Atomic scattering factors for X-rays. Grouped by atom type
        by increasing SIN(THETA)/LAMBDA (at least 10 and no more than
       40 entries per atom type).
or
FORMEN Atomic scattering factors for neutrons
or
FORMON Generation of atomic scattering factors for X-rays
LATICE Specifies centrosymmetry and latice type
SYMTRY Symmetry operations for the space group. Up to 48 allowed.
       Must have at least one =SYMTRY= card (i.e. X, Y, Z)
*DISPERTempleton dispersion correction (one per atom type)
*GRID  One may specify a desired grid interval to be used later
       by the Fourier program. If it is left out the data
       reduction program calculates a set of intervals based
       upon the cell dimensions
CONDIT Condition card to key calculations
   From this point onward, the card order is determined by the data
   under consideration (i.e. dealer's choice) and cards with the following
   designations are permitted
*ABSBON Bond absorption corrections (must be grouped for each
        different crystal or level by placing immediately prior to
        reflection of that level)
*SCALE  Supplies error, weighting, and scaling data
*CONDIT Sets up codes based on camera type calculations to be performed
*FORMAT Actual format for unusual reflection input
*REFIN  Instruction card for unusual reflection input
*ENDOBS Signals that reflections which follow are systematically
        absent. Only required when a sharpened ORIGIN-REMOVED
        Patterson (vector map) is to be calculated
  If reflections after =ENDOBS card are in a different format from
  the ones preceding, then =CONDIT= and/or =FORMAT= cards will be
  necessary.
*REFIN  Use the =REFIN= card with care. The special reflection deck
        specified must follow next after the =REFIN= card or control
        will be lost
*HKL    Reflection cards
END     End card

The fact that the various cards can be optionally used at any time permits changes in scale, absorption corrections, or even conditions (e.g. Weissenberg, precession, etc.) during the course of the processing of reflection cards

B. Card Formats for =DATRDN= Program

DATRDN
Calling card for data reduction program
      FORMAT (A2,A4,1X,A2,A4,5I2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DATRDN
8-13  Six columns of Hollerith punching or blanks to identify compound -
      this identification is checked by various programs for consistency,
      so choose carefully and remember your choice. Take great care to
      locate blanks in the same way every succeeding time the compound .I.D.
      is punched.
14-15 (Blank)/(1) (NO)/(YES) an old data file on =NFILEA=
16-17 (Blank)/(1) (Do)/(Do not) list reflection information
18-19 (Blank)/(1) (Do not)/(Do) expect to edit reflections (forces the
       need for previous data file on =NFILEA = )
20-21  Maximum number of scalar groups if more than 1 (up to 64 allowed)
       This number specifies the total number to be supplied. Each scale
       card must have a unique number in col. 20 less than or equal to this
       number. Usually used for layered film data where cross scaling is not
       known.
22-23 Not yet used
LABEL
File labeling card. used to identify binary data file
      FORMAT (A2,A4,16A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   LABEL
5     Blank
7-70  Alphanumeric information to be used as file label
CELL
Cell constant card
      FORMAT (A2,A4,1X,A2,A4,3F*.3,3F9.5,F7.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
5-6   Blank
8-13  Compound identification code
14-21 A cell dimension or A* reciprocal cell dimension
22-29 B cell dimension or B* reciprocal cell dimension
30-37 C cell dimension or C* reciprocal cell dimension
38-46 COS ALPHA or ALPHA in degrees or COS ALPHA* or ALPHA* in degrees
47-55 COS BETA or BetA in degrees or COS BETA* or BETA* in degrees
56-64 COS GAMMA or GAMMA in degrees or COS GAMMA* or GAMMA* in degrees
65-71 F(0,0,0)
Note: quantities must be either all in direct space or all in reciprocal space. Angles must all be given as either cosines or in degrees.
CELLSD
Standard deviation of unit cell parameters
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CELLSD
8-13  Compound identification code
14-21 Standard deviation in A cell dimension (angstroms)
22-29 Standard deviation in B cell dimension (angstroms)
30-37 Standard deviation in C cell dimension (angstroms)
38-46 Standard deviation in COS ALPHA cell dimension
47-55 Standard deviation in COS BETA cell dimension
56-64 Standard deviation in COS GAMMA cell dimension
MAXHKL
Limits for Fourier summation
      FORMAT (A2,A4,7X,3I4,2F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MAXHKL
14-17 Maximum H to he used
18-21 Maximum K to he used
22-25 Maximum K to he used
26-33 Maximum SIN(THETA)/LAMBDA (Blank = 0.7)
34-41 Minimum SIN(THETA)/LAMBDA (Blank = 0.0)
FORMFX
Atomic scattering factors for X-rays
      FORMAT (A2,A4,1X,A4,2X,F7.5,F8.3,10A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FORMFX
8-11  One to four characters to identify the atom type. to avoid errors
      left justification is recommenued (see 1.GENERL)
14-20 SIN(THETA)/LAMBDA
21-28 Atomic scattering factor
29-68 Source reference continued from card to card
FORMFN
Atomic scattering factors for neutrons
      FORMAT (A2,A4,1X,A4,2X,F7.5,F8.3,10A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FORMFN
8-11  One to four characters to identify the atom type, to avoid errors
      left justification is recommended (see 1.GENERL>
21-28 Coherent atomic scattering factor
29-68 Source reference
FORMGN
Calculation of atomic scattering factors for Xrays from numerical Hartree-Fock wave functions
      FORMAT (A2,A4,1X,A4,2X,9F7.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FORMGN
8-11  One to four characters to identify the atom type (see 1.GENERL)
14-20 Coefficient A(1)
21-27 Coefficient B(1)
28-34 Coefficient A(2)
35-41 Coefficient B(2)
42-48 Coefficient A(3)
49-55 Coefficient B(3)
56-62 Coefficient A(4)
63-69 Coefficient B(4)
70-76 Coefficient C
      The coefficients needed in columns 14-62 are those supplied by
      Cromer and Mann. 
      For elements C, N, O, P, S, CL, the coefficients are stored by the
      program and columns 14-62 can be left blank if the atom type is
      specified as one of the above left justified symbols. H of Stewart et.
      al. is also stored (Not generated).
LATICE
Centricity identification card
      FORMAT (A2,A4,2X,A1,2X,A1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LATICE
9     C = centric cell, A = acentric cell
12    Designation of lattice type P, I, R, F, A, B, C one of the foregoing must be punched
SYMTRY
Symmetrv operations card
      FORMAT (A2,A4,66A1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SYMTRY
7-72  General equivalent position. The symmetry of the space group is
      indicated by supplying the set of general equivalent positions. Each
      equivalent position is specified on a separate SYMTRY card. A simple
      rule is that any general equivalent position in the international
      tables may me written verbatim with the following conventions.
       (1) minus signs precede the negative quantity. e.g. -X for X-BAR
       (2) fractions are written with the slash, e.g. 1/2 for one-half
       (3) blanks are ignored.
     Note: 1/2-X or -X+1/2 are both acceptable formats.
     Note: do not punch any operations through the center if space group
     is coded centric on =LATICE= card.
     (see statement on symmetry in 1.GENERL)
DISPER
Templeton dispersion correction card
      FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DISPER
8-11  Atom type (see 1.GENERL)
14-21 DELTA FJ PRIME
22-29 DELTA FJ DOUBLE PRIME
GRID
Fourier grid card
      FORMAT (A2,A4,7X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   GRID
5-6   Blank
14-17 Number of grid points along X axial direction
18-21 Number of grid points along Y axial direction
22-25 Number of grid points along Z axial direction
CONDIT
Condition card. Sets-up calculations codes
      FORMAT (A2,A4,7X,2f*.5,8X,9I3,F8.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CONDIT
14-21 Wavelength in angstrom units
22-29 Maximum value of SIN THETA for the conditions of observation. This
      is the accurate value of SIN MU for the precession method.
      Be precise - use the true experimental maximum, not simply 1.0
38-40 (1)/(2) (X-ray)/(Neutron) diffractometer data
41-43 1/LP switch -
      1 - Powder spectrometer
      2 - Spectrometer with Eulerian cradle geometry and TWO-THETA SCAN
      3 - Equi-inclination Weissenberg
      4 - Precession
      5 - Normal beam
      6 - Flat cone
      7 - Equal cone
      8 - Oscillation
      9 - Do not apply  1/LP correction
44-46 (1)/(2) for (Do)/(Do not) take square root of intensity
47-49 Miller indices of the plane normal to the beam axis
      at zero degrees MU. For the precession method, four above. for
50-52 3,5,6,7 or 8 above these must be the general rotation axis defined
      the rotation axis. For example, correction for Weissenberg data from
53-55 a crystal mounted to rotate about the B cell axis use 010.
      For example in the precession method for a monoclinic crystal
                      **
                    ** * -- 010 PLANE
                  **   *
                  *    *
--------)  -------*--  *
 BEAM        'B'  *   **
             AXIS * **
                  **
  (e.g. if beam is coming along 'B' axis, then this plane is the 010 plane)
56-58 Miller indices of the plane normal to the
59-61 spindle axis-. (not needed for Weissenberg method)
62-64
      For example in the Precession method:
      
                         C*        /
                        I         / A*
                        I        /
                        I       /
                   *****.*.*** /
                   *         *
                   *         *
                   *      -(-*---100 reflection
--()---------------*    . .  *
                   *   ) .   *
                   *  /      *  
                   * /       *
                   */*********
                   /
                  /
                 /
                / BEAM
               / 'B' AXIS
     (Parentheses mean rotation)
     Pick one of the H0L reciprocal lattice points on the most nearly 
     horizontal axis passing through the center of the film (in this case
     the 100 reflection on the A* axis) the Miller indices of the plane
     normal to A* are 100 - the indices of that point.
  Note: the following field has different functions depending upon the 
            method of data collection 
65-72 A) for precession or equal-cone methods
      SIGMA, the angle between the most nearly horizontal axis ,(A*),
      and the horizontal of the film, measured in a right handed system
      looking along the X-ray beam (from source to crystal, clockwise is
      positive;
65-72 B) for spectrometer-monochromator angle (if it is zero, say so)
73-80 Linear absorption coefficient in CV**-l (UXU)
      if this value is not supplied, the value of TBAR (average pathlength
      through the crystal) is set equal to 0.03 cm. or taken from the HKL
      card if supplied there. If UMU is supplied here and no value of TBAR
      is supplied on the HKL card, TBAR is calculated as:
             (ALOG(ABSORP)/UPU) + 0.001
CONDIT
Condition card for change of data
      FORMAT (A2,A4,7X,2F8.5,8X,9I3,F8.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CONDIT
14-72 Punch only those columns for which there is a change of data.
      Leave all other columns blank unless camera type changes in which
      case, punch in full
ABSBON
Absorption correction card - requires one for each entry in table (total = 19 cards/level). In cylindrical case applies only to Weissenberg geometry
      FORMAT (A2,A4,1X,I2,4X,F4.0,2X,F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ABSORB
8-9   Absorption type. (l)/(2) for (no correction) / (sphere or cylinder)
      (1) is used to cancel previous type if no corrections are
      desired for the following set of data.
14-17 TYRTA, THETA, or UPSILON/2 (Buergers notation). See
      W.L.Bond in International Tables, Vol 2, pp 291-306. use table 5.3.5B
      for cylinder (p 295-298) and table 5.3.68 for sphere (p 302-305).
20-29 Absorption correction as listed in table
SCALE
Scale card for intensity data
      FORMAT (A2,A4,F10.4,I4,F10.4,I2,6F5.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to input intensity FREL, or FREL**2
17-20 Group identification i.e. number in range 01 to 60
21-72 May be blank or as follows
21-30 Minimum observed intensity (for film data)
31-32 Weight routine switch (0 or 1 ) / ( 2) / ( 3 ) /(4) (all weights 1.0)/(apply
      U. of W. weighting scheme )/ (use- cols 50-54. of =HKL= card as weight)/
      (set weight to reciprocal of cols. 50-54 of =HKL= card)
      U. of W. scheme is (weight = Q1/AMAX1 (SIGMA ,Q2*FREL+Q3*Q4*FRELM+Q5 )
      (refer to section l.DATRDN for detailed explanation of next six
      fields)
33-37 Q1
38-42 Q2
43-47 Q3
48-52 Q4
53-57 Q5
58-82 Q6
FORMAT
Defines reflection data
      FORMAT (A2,18A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FORMAT
7-72  The format of the reflection data, as in a standard Fortran format, e.g.
      FORMAT(A2,A4,1X,A4,A2,I2,3I4,F10.2,F10.4) which is supplied to
      accommodate X-RAY 63 reflection data format if no =FORMAT= card
      is read.
REFIN
Instruction card for unusual reflection input
      FORMAT (A2,A4,I3,2I6,3I3,14(1X,A2))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   REFIN
6     Blank
8-9   (0)/(1) for (reflections on cards) / (reflections om =NFILEI=). Note, if
      reflections are read from =NFILEI=, they must appear as card images.
      The reading from =NFILEI= must be terminated by a maximum number of
      reflections on a final H, K and L
10-15 Number of reflections to skip before processing first reflection record
16-21 Maximum number of reflections to process using information
      following this =REFIN= card
22-24 value of H for last reflection
25-27 value of K for last reflection
28-30 value of L for last reflection
   Note: there are two ways to terminate input of information under =REFIN=
   Control the number of reflections or the values of H, K, L for the last
  reflection. Either may be used or both. If both are specified the first to
  be satisfied will terminate treatment of that reflection group. Remember
  that the normal process of control by the punching of cols. 1-6 (except
  in the case of =HKL= cards) is lost during =REFIN= control.
31-72 Fourteen fields for specification's of reflection data
   This serves to specify the order and mode (whether fixed or floating) of the
   items to be read as reflection data. It also indicates which items of a record
   are to be ignored. Treat each field as representing from 1 to 9 items in
   a reflection record. If an item or group of items is to be skipped, punch =XB=
   where X is an integer from 1 to 9 depending on how many consecutive items
   are to be skipped. If x is blank, one item will be skipped.
   
   In fields corresponding to useful information punch -
   FH or IH for floating or fixed H
   FK or IK for floating or fixed K
   FL or IL for floating or fixed L
   FR or IR for floating or fixed function of intensity
   FW or IW for floating or fixed weight or standard deviation of the intensity
   FD or ID for floating or fixed 'JCODE' indicator
   FI or II for floating or fixed level indicator
   These fields must be punched in the same order as they appear in your
   reflection data records. A blank in any of these fields causes immediate
   termination of reading this card
ENDOBS
Signals that following reflections are systematically absent
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ENDOBS
HKL
Standard X-RAY system reflection input or reflection editing card
      FORMAT (A2,A4,1X,A2,A4,6I3,2F9.0,F5.0,F4.4,F4.3,F7.4,I3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   HKL
4-6   Blank
8-13  Compound identification code
14-16 H
17-19 K
20-22 L
23-25 Function of card signal
      (0 or Blank)/(1)/(2)/(3)/(4) for (causes the =HKL= card to be a reflection
      input card. Also used for an a priori start when no binary file
      exists.) / (signals that the binary data file is to be processed down to
      the reflection specified in the =HKL= card and then all values on
      the card are to replace the values on the file) / (process down to
      specified HKL in data file and delete the reflection from the binary
      file) / (copy the binary data file down to and including the
      designated H, K, and L. This is a positioning function ) / ( skip
      through the specified HKL eliminating reflections from the file).
26-28 Reflection type JCODE
      (1)/(2)/(3)/(4)/(5) for (OBSERVED)/(LESS-THAN)/(EXTINCTION)/
      (TO BE IGNORED)/(SYSTEMATICALLY EXTINCT)
29-31 Data group for scaling purposes
32-40 Reflection intensity
41-49 Average pathlength (TBAR) in CM.
50-54 Standard deviation in intensity
55-58 Phase (in cycles) if known
59-62 Normalized structure factor
63-69 Absorption correction
70-72 Number of times intensity was independently observed

  Note: in every case once an =HKL= card function is fulfilled. control
  returns to the card input stream. An =END= card causes the input
  binary data file to be drained of reflection data whenever any editing
  is being done.
  
  If, at any time during editing, the binary file is exhausted, a fault
  is signalled and the whole run aborted at that point.
  
  The order of H, K, and L on the input editing cards must be exactly
  the same as those in the binary data file.
  If they art not in the same order, a fault will occur.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

DIFPCH: Card Formats and Card Order

DIFPCH: Card Formats and Card Order

A. Card Order Summary for =DIFPCH= Program

DIFPCH  Program calling card
*STAND  Description of reflection to be used as a standard (maximum 10)
*TWOTHE Swatch of TWO-THETA desired (should be enough that the groups
        of TWO-THETA will be less than three or four thousand reflections)
END     End card

B. Card Formats for =CRYLSQ= Program

DIFPCH
Program calling card
      FORMAT (A2,A4,1X,A2,A4,1X,I1,3F10.4,I10,9X,F1.0,F10.4,I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DIFPCH
15    (l)/(2)/(3) for punch (peak)/(scan)/(peak-scan pairs)
16-25 Lower limit of TWO-THETAs to be punched. Less than 2.5 is set = 2.5
26-35 Upper limit of TWO-THETAs to be punched. More than 145.0 is set = 65.0
36-45 Number of degrees to drive PHI back before setting to next reflection
      (assure no backlash) Blank = 10.0 degrees
46-55 Frequency of inserting standards. Blank = every 250
65    Scan rate for XRD-6 code. Blank = 4 (i.e. 4 degrees/minute)
66-75 PHI correction - if PHI values from DIFSET are incorrect this value
      will he added to all PHIs from =NFILEH= - (but not to standards
      supplied below).
76    (Blank)/(1) punch cards in (GE DATEX)/(PICKER) card automated format

  Note: the =DIFPCH= card is used to call the program and pull out the first
         shell of TWO-THETAs. Subsequent swatches in the same job are
         initiated by use of =TWOTHE= cards
               
STAND
Standard card. A maximum of 10 =STAND= cards are allowed and they must be arranged in order of increasing PHI.
      FORMAT (A2,A4,3I4,5F9.2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   STAND
6     Blank
7-10  H
11-14 K
15-18 L
19-27 CHI of the reflection
28-36 PHI of the reflection
37-45 Start TWO-THETA of the reflection
46-54 Peak TWO-THETA of the reflection
55-63 Stop TWO-THETA of the reflection
 TWOTHE: Format exactly as the =DIFPCH= card
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

DIFSET: Card Formats and Card Order

DIFSET: Card Formats and Card Order

A. Card Order Summary for =DIFSET= Program

DIFSET  Program calling card
CELL or
PARAMC  Furnishes cell constants
ORIENT  Orientation
ANGMX   Limits of PHI, CHI and TWO-THETA ranges
INDEX   Limits of H, K, and L indices
BAKSET or
EQNCON Method of computing scan range
*SYSABS Systematic absences
PREP   Causes program to check input, print specifications, and
       prepare IO compute settings
       
*     (OPTIONAL AUTOMATIC DIFFRACTOMETER CONTROL DECK - SEE BELOW)

*HKL   Indices of reflection to be added to output
*---   (Setting card - compound identification in cols 1 - 6)
       Settings of reflection to be added to output
GENHKL Causes generation of Miller indices
END     End card

Automatic Diffractometer Control Deck

Insert as indicated above if control tape or card deck is required

XROC     Type of diffractometer. Output required, scanning speed,
         number of characters per output record
XRDFMT   Format of diffractometer command words for data
*STDREF Designates the reflection on the next HKL or 'setting card'
         as a standard reflection, gives its identification number,
         and specifies how often it is to be inserted in output
*XRDFMT Format for diffractometer command words for standard reflection
*TTYFMT Format for teletype output for standard reflection (NBS only)
*HKL or Defines the standard reflection 'Setting Card'

The cards marked * are optional as a group within the optional control deck. The whole group is repeated for each standard reflection. Standard reflections must be numbered sequentially 2 - 10. The cards =STDREF=, =XRDFMT=, and =TTYFMT= must bear the sequence number for the standard defined. by the =HKL= or 'setting card' for each standard reflection.

Note: =NFILEH= Setting Information

=NFILEH= contains a series of packed records with the following information. These are read and sorted by =DIFPCH= link, which see. the quantities stored are H index, K index, L index, CHI setting, PHI setting, TWO-THETA setting for background (low), TWO-THETA setting for peak, TWO-THETA setting for background (high), and time (seconds) for TWO-THETA SCAN.

B. Card Formats for =DIFSET= Program

DIFSET
Calling card for diffractometer setting program.
      FORMAT (A2,A4,1X,A2,A4,7X,3F10.6,2I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   DIFSET
8-13  Compound identification code
21-30 Wavelength for ALPHA(1). 1.54051 angstroms used if blank
31-40 Wavelength for ALPHA(2). 1.54033 angstroms used if blank
      Note: if ALPHA(l) is supplied but ALPHA(2) is blank, the ALPHA(1)
      wavelength given will also be used for ALPHA(2)
41-50 TWO-THETA scan rate in degrees per minute
51-60 (Blank)/(1) for (do)/(do not) punch setting cards on =NFILEH=
61-70 (Blank)/(1) for (do)/(do not) punch setting cards for those
      reflections which are systematically absent. This field has no
      effect unless columns 51-60 are blank. (will also suppress punching
      of diffractometer control cards for absent reflections.)
CELL
CELL constant card
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
5-6   Blank
8-13  Compound identification code
14-21 A cell dimension
22-29 B cell dimension
30-37 C cell dimension
38-46 COS ALPHA or ALPHA
47-55 COS BETA or BETA
56-64 COS GAMMA or GAMMA
PARAMC
Cell constants calculated by a previous =PARAM=
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   PARAMC
ORIENT
End card
      FORMAT (A2,A4,1X,A2,A4,2X,7F8.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ORIENT
8-13  Compound identification code
16-23 H index (may be fractional) of the reciprocal lattice vector lying
       along the positive direction of the PHI axis
24-31 K index as above
32-39 L index as above
40-47 H index (may be fractional) of a reciprocal lattice vector lying in the
      PHI=0 degrees plane (this plane contains the PHI axis)
48-55 K index as above
56-63 L index as above
64-71 Correction to be applied to all calculated PHI's to obtain true PHI's.
      This correction is the angle (of + or - PHI) between the plane
      specified above and the PHI = 0 plane
ANGMX
Diffractometer and goniostat angle limits
      FORMAT (A2,A4,4X,6F10.6)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ANGMX
6     Blank
11-20 Lower limit for PHI
21-30 Upper limit for PHI
31-40 Lower limit for CHI (in range -10 to +100)
41-50 Upper limit for CHI (in range -10 to +100)
51-60 Lower limit for TWO-THETA
61-70 Upper limit for TWO-THETA
INDEX
EIndex generation limits
      FORMAT (A2,A4,4X.6(1X,I4))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   INDEX
6     Blank
12-15 Lower limit for H index
17-20 Upper limit for H index
22-25 Lower limit for K index
27-30 Upper limit for K index
32-35 Lower limit for L index
37-40 Upper limit for L index
BAKSET
Constant increment for calculating TWO-THETA settings for background headings or for beginning and end of scan range.
      FORMAT (A2,A4,9X,F5.2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BAKSET
16-20 Increment in degrees
EQNCON
Constants for equation used in calculating TWO-THETA settings fop background readings or for beginning and end of scan range.
      FORMAT (A2,A4,4X,2F10.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   EQNCON
11-20 A in degrees
21-30 B in degrees
      Suggested values are A=1.80 and B=0.86, for copper radiation or
      A=1.80 and B=1.00 for molybdenum
SYSAB
Systematic absences card
      FORMAT (A2,A4,1X,A2,A4,7X,23I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SYSABS
8-13  Compound identification code
21-43 Value of X for application of systematic absences test. Only those
      columns corresponding to tests to be applied should be non-zero.
21    HKL absent if H+K = XN+1
22    HKL absent if H+L = XN+1    
23    HKL absent if K+L = XN+1
24    HKL absent if all H+K, H+L, K+L = XN+1
25    HKL absent if H+K+L = XN+1
26    HKL absent if -H+K+L = XN+1
27    HHL absent if H= XN+1
28    HHL absent if L= XN+1
29    HHL absent if H+L= XN+1
30    HHL absent if 2H+L= XN+1
31    0KL absent if K= XN+1
32    0KL absent if L= XN+1
33    0KL absent if K+L= XN+1
34    H0L absent if H= XN+1
35    H0L absent if L= XN+1
36    H0L absent if H+L= XN+1
37    HK0 absent if K= XN+1
38    HK0 absent if H= XN+1
39    HK0 absent if H+K= XN+1
40    HH0 absent if H= XN+1
41    H00 absent if K= XN+1
42    0K0 absent if K= XN+1
43    00L absent if L= XN+1
PREP
Causes program to prepare to compute settings by checking input data. Computing constants and printing out specifications.
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   PREP
5-6   Blank
HKL
Miller indices of a reflection that is to be inserted in the output. The settings are computed, the index and angle limits are checked, and the PHI-angle correction, if any, is applied.
      FORMAT (A2,A4,7X,3I3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   HKL
4-6   Blank
14-16 H index
17-19 K index
20-22 L index


      'Setting cards'. Miller indices and setting angles for a reflection
      that is to be inserted in the output. No check is made on
      the indices and angles. These cards may be generated by this
      program for sorting, and then read by it to create a control tape
      or card deck.
      FORMAT(A2,A4,3I4,6F9.2,A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   (compound identification code). must agree with =DIFSET= card
      cols 8-13.
7-10  H index
11-14 K index
15-18 L index
19-27 CHI setting
28-36 PHI setting
37-45 Start TWO-THETA setting
46-54 Peak TWO-THETA setting
55-63 Stop TWO-THETA setting
64-72 Scanning time
73-78 Blank or 'ABSENT'
GENHKL
Starts generation of Miller indices and specifies order. The reciprocal axis that lies along the PHI axis should be incremented most frequently so that PHI does not change often.
      FORMAT (A2,A4,I4,10X,3I1,12X,2I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   GENHKL
7-10  (2 or blank)/(l )/(0) for (to use subroutine XRY271)/(to use
      subroutine XRY272)/( attempts to use XRY270 which is currently inactive)
21    1/2/3 for H/K/L index incremented most frequently
22    1/2/3 for H/K/L index incremented next
23    1/2/3 for H/K/L index incremented last
36-40 +1/-1 for the increment to be applied to the index specified in col.
      22 when the index specified in col 23 is positive or zero.
      This determines the direction in which PHI settings will progress.
41-45 =1 if all positive values of the index specified in col. 23 are
      to be scanned, followed by all negative values. PHI will progress in
      one direction, then jump back when this index is incremented.
      =0 if for each value, N, of the index specified in col. 23 layers
      for both +N and -N are scanned before the index is incremented. In
      this case, PHI setting progress around the circle and start over again
      when the index is incremented.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank
The following cards are used only if an automatic diffractometer control tape or card deck is to be made.
XRDC
End card
      FORMAT (A2,A4,1X,4I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   XRDC
5-6   Blank
8-12  Type of diffractometer, 1 for DATEX
13-17 Type of input required by diffractometer
      1 for paper tape (DATEX), output on =NFILEI=
      2 for paper tape (NHS),   output on =NFILEI=
      3 for cards,              output on =NFILEC=
18-22 Scanning speeed code
      1/2/3/4/5/6 for .25/.50/1.0/2.0/4.0/slew speed in deg/min. This is
      used to compute scan time only. It is independent of actual scan speed
      selected, which is controlled hy =XRDFMT= card. If blank, scan time
      will be computed for a speed of 1 deg/min. This overrides scan rate
      on =DIFSET= card.

23-27 MAXOUT. This is the number of characters that must be accumulated in
      the output buffer before output of a diffractometer control card or a
      block of magnetic tape will occur. If necessary, cards will be filled with
      blanks to make 80 columns and magnetic tape records will be filled with
      blanks to make a block of 120 characters. Blanks are skipped in
      punching paper tape from the magnetic tape. MAXOUT must not exceed 80 for
      cards, 120 fot DATEX tape, or about 90 for NBS diffractometer tape. If
      col 23-27 are. blank MAXOUT=80.
XRDFMT
Format for as many as twelve diffractometer command words. One of these cards is required for data and one for each standard reflection.
      FORMAT (A2,A4,I2,12(5A1),I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   XRDFMT
7-8   Sequence number =1 for data reflection, =2 for first standard
      reflection ... =10 for ninth standard reflection. This number
      must agree with the sequence number on the corresponding =STDRFF=
      and =TTYFMT= cards, if any.
9     BEGIN-WORD code for word 1, which must be an HKL word.
15    Word 2 - BEGIN-WORD code for axis command
16    Word 2 - MODE code
17    Word 2 - STEP code
18    Word 2 - FILTER code
19    Word 2 - SPEED code
20    Word 2 - digit to designate the angle to be inserted as character
      6-10  of the command word. The options are:
            1 CHI setting
            2 PHI setting
            3 START TWO-THETA setting
            4 PEAK TWO-THETA setting
            5 STOP TWO-THETA setting
            6 Zero degrees
            7 Five blanks (card output only)
            8 (Close up angle field)
            6,7,8 are not ordinarily used
21-26 Word 3  - same format as Word 2
27-32 Word 4  - same format as Word 2
33-38 Word 5  - same format as Word 2
39-44 Word 6  - same format as Word 2
45-50 Word 7  - same format as Word 2
51-56 Word 8  - same format as Word 2
57-62 Word 9  - same format as Word 2
63-68 Word 10 - same format as Word 2
69-74 Word 11 - same format as Word 2
75-80 Word 12 - same format as Word 2
TTYFMT
Format for teletype output (NHS only). One of these is required for data, and one for each standard reflection.
      FORMAT (A2,A4,I2,2X,I2,1X,I1,11(5X,I1))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   TTYFMT
7-8   Sequence number - copy from corresponding =XRDFMT= card
11-12 N, the number of spaces or asterisks at beginning of each line of
      output after the first for each reflection. This permits indenting,
      and marking standard reflections. This number should not exceed
      eleven.
14    Word 1 prefix - 0/1/2/3 designates the teletype control characters to
      be inserted before the corresponding command word. Allow for a
      diffractometer output word whenever the mode code calls for one.
            0 - SPACE
            1 - SPACE, CARRIAGE RETURN, LINE FEED
            2 - SPACE, CARRIAGE RETURN, LINE FEED, N SPACES
            3 - SPACE, CARRIAGE RETURN, LINE FEED, N ASTERISKS
            
20    Word 2 Prefix (see Word 1)
26    Word 3 Prefix (see Word 1)
32    Word 4 Prefix (see Word 1)
38    Word 5 Prefix (see Word 1)
44    Word 6 Prefix (see Word 1)
50    Word 7 Prefix (see Word 1)
56    Word 8 Prefix (see Word 1)
62    Word 9 Prefix (see Word 1)
68    Word 10 Prefix (see Word 1)
74    Word 11 Prefix (see Word 1)
80    Word 12 Prefix (see Word 1)
STDREF
Designates the reflection on the next =HKL= or 'setting' card as a standardu reflection and specifies how frequently it is to be inserted in the control tape or card deck.
      FORMAT (A2,A4,I2,2X,3I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   STDREF
7-8   Sequence number, 2/3/4.../10 for first/second/third/.../ninth
      standard reflection. This number must agree with that on corresponding
      =XRDFMT= and =TTYFMT= cards.
11-15 Minimum number of reflections between measurements on this standard.
      All data reflections printed (even those that are systematically absent)
      are counted. Standard reflections are not. After minimum count is
      exceeded, standard is inserted after most frequently incremented index
      reaches zero
16-20 Maximum number of reflections between measurements on this standard
21-25 Initial count of reflection. If this is the same as the maximum, the
      standard will be inserted after the first data reflection.
HKL
Miller indices of the standard reflection. The format is the same as for the =HKL= card described above.
'SETTING CARD', HKL and settings for the standard reflection. The format is the same as for 'SETTING CARDS' described above.

DUMCOP: Card Formats and Card Order

A. Card Order Summary for =DUMCOP= Program

DUMCOP  Program calling card
END     End card

B. Card Formats for =DUMCOP= Program

DUMCOP
End card
      FORMAT (A2,A4,1X,A2,A4,1X,I1,2(4X,I1),I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DUMCOP
8-13  Compound identification code
15    (0)/(1)  (Do not)/(Do) copy the binary tape
20    (0)/(1)  (Do not)/(Do) print a dump of the binary file
25    (0)/(1)  (Do not)/(Do) punch a deck of cards with the information of
      the binary file (used for program check-out)
26-30 The maximum number of physical records of any given logical record
      to be printed. (blank or zero = 5 - this is to protect against huge
      printed output) usually 5 physical records of any one logical record
      suffice to discover errors.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

FC: Card Formats and Card Order

A. Card Order Summary for =FC= Program

FC      Program calling card
*SCALE  Scale card for F RELATIVE data
*ATOM   Atom card for selecting atoms from file
*MAXHKL Puts limits on H, K, L, or SIN THETA forthis run only
END     End card

Note 1: if no =ATOM= cards have been read when the =END= card is encountered, structure factors will be calculated from parameters stored in the binary data file. If =ATOM= cards are included, then only parameters for named atoms will me taken from the file.

B. Card Formats for =FC= Program

FC
Set-up card for structure factor calculation
      FORMAT (A2,A4,1X,A2,A4,7(1X,I1))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-2   FC
3-6   Blank
8-13  Compound identification code
15    (0)/(1)/(2)/(3) for (overall temperature factor)/(individual
      isotropic)/(individual anisotropic)/(individual mixed)
17    (0)/(1) for (do not list the reflections)/(do)
19    (0)/(1) for (do not consider dispersion correction)/(do)
21    (0)/(1) for (do not)/(do) make a survey of reflection sorting statistics
23    (0)/(1)/(2) for (no partial contribution)/(apply partial contribution)/
      (establish and apply previous FC as partial contribution).
25    (0)/(1) for (X-ray)/(Neutron) diffraction
27    (0)/(1) for (do not)/(do) update the scale factors.
      Note: updating scale factors requires an additional
      copying of the binary data file. If this option is used, =NFILEF= must
      be assigned.
SCALE
End card
      FORMAT (A2,A4.F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to F RELATIVE
17-20 Group identification (1-64)
ATOM
End card
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   ATOM
5-6   Blank
8-13  Atom identification (see 1.GENERL)
      If atom number is omitted, this card applies to all atoms of the stated type
MAXHKL
Limits for data set for this run only
      FORMAT (A2,A4,7X,3I4,2F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MAXHKL
14-17 Maximum H to be used
18-21 Maximum K to be used
22-25 Maximum L to be used
26-33 Maximum SIN(THETA)/LAMBDA (blank=0.7)
34-41 Minimum SIN(THETA)/LAMBDA (blank=0.0)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

FOURR: Card Formats and Card Order

A. Card Order Summary for =FOURR= Program

FOURR  Program calling card
*SCALE Scale card for F RELATIVE data
*FZERO Use different value of F(0,0,0) from that supplied to =DATRDN=
*MAXHKL Limits for Fourier summation
*MAP    Print control card
*GRID   Fourier grid card (optional if a =GRID= card has been used at
        any previous time when a binary data file was written)
*LAYOUT Description of Fourier map
END     End card

B. Card Formats for =FOURR= Program

FOURR
Calling card for Fourier program
      FORMAT (A2,A4,1X,A2,A4,3X,F3.2,F9.0,8F4.1,A2,I1,A1,I1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   FOURR
6     Blank
8-13  Compound identification code
17-19 (Blank)/(1) for (do not)/(do) write a copy of Fourier map on =NFILEE= for =PEKPIK=
20-22 (Blank)/(1) for (No)/(Yes) list reflections
23-25 Calculation type - refer to Section 1.FOURR for details
       1  Unused
       2  Patterson (A=FO**2)
       3  vector map (sharpened,origin removed Patterson) (results of
          =NORMSF= must be on binary data file)
       4  FO Fourier by rejection TES.. When (FO*RR-FC) is negative, the
          reflection is included in the summation. for LESS-THANs. The
          value of FO used is (FO*MLT) (see 26-28 below). FC is used for
          extinct reflections
      5   unused
      6   FO Fourier, phase angles determined from quasi-normalized structure factors
      7   FC fourier, uses all reflections
      8   DELTA-F, by rejection test (FO*RR-FC) for observed, (FO-FC) for LESS-THANs
      9   DELTA-F, with least squares weight applied to DELTA-F W*(FO-FC) 
          test LESS-THANs by (FMIN-FC)
      10  unused
      11  DELTA-F, observed deflections only
      12  DELTA-F, variable weighing W=(FC/FO) or 1.0 whichever is less
          and reject LESS-THANs calculating LESS-THAN
      13  E map, phases from statistics
      14  E map, phases from calculated FC's

26-28 Multiplier (MLT) for FO of LESS-THANs under FO Fourier option (4)
      usual value of 0.5. 0.0 rejects all LESS-THANs
29-37 Election density scale factor - blanks gives output as 10*(2/V)*SUMMATION(F)
      factor punched replaces 10
38-41 Rejection ratio used by criteria tests of (4) and (8). If left blank
      RR set equal to zero to include all reflections.
  The following quantities are used if and only if the =LAYOUT= card
       is left out (see Note below)
42-45 Scale of the Fourier in inches/angstrom (blank=1.0>
46-49 Lower limit of X in fractions of a cell (blank=0)
50-53 Lower limit of Y in fractions of a cell (blank=0)
54-57 Lower limit of Z in fractions of a cell (blank=0)
58-61 Upper limit of X in fractions of a cell (blank=1.0)
62-65 Upper limit of Y in fractions of a cell (blank=1.0)
66-69 Upper limit of Z in fractions of a cell (blank=1.0)
70-71 Page to page axis as $A, $B, or $C, or projections (regardless of data)
      as PA, PB, or PC ($ implies a blank)
72    Number of printer character positions per Fourier grid column - only 2
      or 4 allowed (blank = 4)
73    Carriage control character which will prevent automatic overflow
      of pages on line printer (if in doubt leave blank)
74    (Blank)/(1) (do)/(do not) automatically correct for interaxial angle
      within layers
Note: if no page to page axis or Fourier map (map here has nothing to do with =MAP= card) boundary limits are specified and no =LAYOUT= card is included after this card. The program will sum over the shortest axis first, thus giving the fewest layers possible, each layer being spaced 0.3 angstroms from the next. Within each layer the scale will be 1.0 inches/angstrom corrected for any interaxial angle. One half of centric cells will be mapped while whole acentric cells are plotted, four character positions per grid column will be utilized. For high symmetry cells with axes greater than 20.0 angstrom units, this method may result in a storage overflow. Moreover, this method of slicing the cell, while most attractive because it gives the fewest printed sheets to handle, is inefficient in use of machine time. In either condition, summation over the long axis first and short axis last with careful limitations on the portion of the cell to be mapped should be chosen. This may be done with the =FOURR= card or more elaborately with the =GRID= and =LAYOUT= cards. Note well that it is always a good precaution to carefully check the symmetry of the map produced. If =LAYOUT= card is left out, any =GRID= card is ignored.
SCALE
Update file F-RELATIVE scale factors
      FORMAT (A2,A4,F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to F-RELATIVE (also in CRYLSQ, FC, LISTFC,
      LOADAT, ORFLS, RLIST)
17-20 Group identification (1-64)
FZERO
End card
      FORMAT (A2,A4,7X,F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   FZERO
6     Blank
14-22 Value of F(000) desired
MAXHKL
Limits for Fourier summation for this run only
      FORMAT (A2,A4,7X,3I4,2F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MAXHKL
14-17 Maximum H to be used
18-21 Maximum K to be used
22-25 Maximum L to be used
26-33 Maximum SIN(THETA)/LAMBDA) (blank means no limit)
34-41 Minimum SIN(THETA)/LAMBDA) (blank means no limit)
MAP
Print control card
      FORMAT (A2,A4,7X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   MAP
4-6   Blank
14-17 Blank              ignore the field
      Non-zero integer   force the first printed point to have this value
                         and scale the remaining points accordingly
                         (generally only useful for Pattersons starting at
                          the origin)
18-21 Upper limit to establish print suppression
22-25 Lower limit with sign to establish print suppression
      (blanks will be 'printed' at all points where the Fourier values fall
      between these values)
GRID
Fourier grid card
      FORMAT (A2,A4,7X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   GRID
5-6   Blank
14-17 Number of grid intervals along the X axial direction
18-21 Number of grid intervals along the Y axial direction
22-25 Number of grid intervals along the Z axial direction
LAYOUT
Description of map for Fourier, Patterson etc
      FORMAT (A2,A4,7X,9I4,1X,3I1,I4,2I2,F7.5,A1)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LAYOUT
14-17 Number of points calculated in X direction
18-21 Origin value of X (in grid coordinates)
22-25 Increment along X (in grid coordinates)
26-29 Number of points calculated in Y direction
30-33 Origin value of Y (in grid coordinates)
34-37 Increment along Y (in grid coordinates)
38-41 Number of points calculated in Z direction
42-45 Origin value of Z (in grid coordinates)
46-49 Increment along Z (in grid coordinates)
51    Scanning index for X direction
52    Scanning index for Y direction
53    Scanning index for Z direction
54-57 Line width
The scanning index for a given direction is one if that coordinate goes from page to page in the map (first sum), two if it is down the page (second sum), and three if it is across the top of the page (third sum).
Line width (W) is the number of points along X3 (the third scanning direction) to appear on one page. If the number of points along X3 is greater than W, W points appear on the first page and the number of points remaining to be printed will be decreased by W. As soon as the number of points remaining along X3 is equal to or less than W, all remaining points will be printed on this page. The maximum permissible value for W is 30 in the four columns mode, 60 in the 2 columns mode. It is helpful to always think of W as being equal to the number of points to be calculated in the third sum direction or 1/2 that number or 1/4 etc. But never that number -1 as this will cause an additional unwanted sheet (for listing on a 120-char. line printer, max W is 27,lLeaving 12 characters for the labeling of the down the page axis).
As an example, in the four column mode, if there are 53 points along X3 and W is 27, 27 points will appear on the first page and 26 on the second. If this field is blank, or W is outside the range 10 to 27 (or 10-54 in the two column mode), the program will compute an optimum value of W.
58-59 Space control index
      This may be 1, 2, 3, 4 (for single, double, triple or quadrupole
      spacing respectively (blank = 2)
60-61 Number of columns per Fourier grid column (blank = 4), 2 or 4 only possible.
62-68 Cosine of inter axial angle in the Fourier page (between the axis of
      the second and third sum directions)
69    Carriage control character which will prevent automatic page overflow
      on line printer (if in doubt leave blank)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

LISTFC: Card Formats and Card Order

A. Card Order Summary for =LISTFC= Program

LISTFC  Program calling card
*SCALE  Scale card for F RELATIVE data
*FCARD  Cards to input reflection data
END     End card

B. Card Formats for =LISTFC= Program

LISTFC
Program calling card
      FORMAT (A2,A4,1X,A2,A4,3I1,I4,A1,I3,5(1X,I1),3(1X,A1),9(1X,I1),2X,2(1X,I1))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LISTFC
8-13  Compound identification code
14    (1)/(2)/(3) for H index varies (most)/(next most)/(least) rapidly
      (code to tell how input data are sorted)
15    Sorting frequency for K index
16    Sorting frequency for L index
      (Note that sum and product of numbers in columns 14, 15, and 16 must equal 6)
17-20 Number of lines per =LISTFC= page
21    (Blank/(A) for (do)/(absolutely do not) internally change the value
      of the number of lines in order to make the bottom of the last page
      as even as possible
22-24 Number of list columns per =LISTFC= page
      Note the product of the number of lines and the number of columns per
      =LISTFC= page cannot evceed 3000. That is, no more than 3000 for the
      total of reflections and headings (with their spaces), per page.
      Zero (or blank) in any of the five following fields means just that
26    Number of blank print columns before the LISTFC column
28    Number of print columns for most rapidly changing index
30    Number of print columns for FO times 10
32    Number of print columns for FC times 10
34    Number of print columns for phase expressed in millicycles
36    Special flag for LESS-THANs*(Blank=*)*(JCODE =2)
38    Special flag for EXTINCT*(Blank = E)*(JCODE = 3)
40    Special flag for Special reflection (JCODE = 4)
  The next nine fields are (Blank/(1) for (Do not)/(Do)
42    Print symbol for less than or extinct reflections
      (This symbol switch adds one more print column)
44    Print phase on FC in centric case
46    Double space the lines
48    Restore each =LISTFC= page to be the top of a printer page
50    Print current =TITLE= at top of each printer page
52    Punch a set of =FCARD= cards (has H, K, L, FO, FC, A, B, JCODE, and
      level indicators)
54    Read =FCARD= cards as input in place of =NFILEA=
56    Print minus sign on the FO of the reflections which are LESS-THANs
58    Write a separate copy of the FC list on =NFILED=
62    Number of times to try to get headings at the top of all columns
64    (1)/(2)/(3) for headings separated by (no blank lines)/(1 blank line above)/
      (1 above and 1 below) (Blank = 3)
SCALE
Scale card for F RELATIVE data
      FORMAT (A2,A4,F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SCALE
7-16  Scale factor to apply to F RELATIVE
17-20 Group identification
FCARD
End card
      FORMAT (A2,A4,7X,3I4,4F10.3,2I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   FCARD
14-17 H index
18-21 K index
22-25 L index
26-35 FO
36-45 FC
46-55 A is real part of FC
56-65 B is imaginary part of FC
66-69 JCODE to tell if (1)/(2)/(3)/(4)/(5) reflection is (OBSERVED)/ (LESS-THAN)/
      (EXTINCT)/(IGNORED)/(SYSTEMATICALLY ABSENT)
70-73 Level indicator (to tell which scale factor applies)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

LOADAT: Card Formats and Card Order

LOADAT: Card Formats and Card Order

A. Card Order Summary for =LOADAT= Program

LOADAT   Program calling card
*SCALE   Update F RELATIVE scaling factors
*GRID    Alter grid parameters. Required only if =ATOMG= cards are used.
         This card need be used only once for any given grid specification.
         It is then stored in the binary file until changed by a subsequent
         =GRID= card.
*MAXHKL  Establishes limits on H, K, L, or SIN THETA
*LABEL   Update file label
*EXTINC  Extinction factor card
*DISPER  Dispersion factor card
*CELCON  Unit cell contents (one per atom type)
*DATOMS  Move all atoms in the asymmetric unit by a specified amount
*U       Overall
*U       Isotropic temperature factor (see Note 2)
*B       Isotropic temperature factor (see Note 2)
*ATOM    Supply atom fractional population, positional and isotropic
         temperature parameters. 
*ATOMG   Supply atom grid positional, population, and isotropic
         temperature parameters. This card requires a =GRID= card
*U       Isotropic temperature factor (see Note 2)
*B       Isotropic temperature factor (see Note 2)
*UIJ     Anisotropic temperature factor (card (RMS amplitude of
         vibration in Cruickshank notation)
*BIJ     Anisotropic temperature factor (same scale as B)
*BETA    Anisotropic temperature factors in the expression - EXP BASE E 
         H**2 BETA(1,1) + ... + 2*H8K BETA(1,2)+ ...
*ATOMD   Delete atoms from the binary file
*BLOCK   Matrix blocking card
*REF     Establish signals in the file with respect to which parameters
         are to be refined
*NOREF   Establish signals in the file with respect to which parameters
         are to be refined
*CONSTR  Constrains one parameter to be a function of another
*DELHKL  Delete classes of reflections
*EDIT    Edit card for modifying reflections (maximum of 14)
END      End card

Note 1: all =LSBEL=, =SCALE=, =GRID=, and =MAXHKL= cards must come first. then all =B=, =ATOM=, =ATOMD=, =ATOMG=, =BETA=,=BIJ=, and =UIJ= must come next in the order atom, T.F., atom. T.F., etc. If more than one card is given the same atom identity, the last supercedes all others. =EDIT= must come just before the =END= card.

Note 2: for overall temperature factor, a single =B= or =U= card must be the first parameter card. If in the individual temperature factor mode, each =ATOM= or =ATOMG= card must be followed by a temp. factor card (except that isotropic =B= could be punched in =ATOM= or =ATOMG= cards). Be sure that the atom identity code in cols. 8-13 of =ATOM= or =ATOMG= card is identically the same as the identity code on the following temperature factor card. Note that the program recognizes =U=, =B=, =BIJ=, and =BETA= cards and converts them internally so that these cards may be different for each atom.

B. Card Formats for =LOADAT= Program

LOADAT
Calling card for atom parameter loading routine
      FORMAT (A2,A4,1X,A2,A4,4(4X,I1))
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LOADAT
8-13  Compound identification code
20    (Blank)/(1) for (a priori run)/(update)
25    (Blank)/(1) for (initialize the constraint record)/(do not)
30    (0)/(1)/(2)/(3 or blank) for (overall temperature factor)/(individual
      isotropic)/(individual anisotropic)/(individual mixed)
35    (Blank)/(1) for (do not)/(do) load the positional standard deviations from the ATOM cards
40    (0)/(1) for (no)/(yes) long list of atomic parameters
SCALE
Update F RELATIVE scale factor
      FORMAT (A2,A4,F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to F RELATIVE
17-20 Group identification (1-64)
GRID
Fourier grid card
      FORMAT (A2,A4,7X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   GRID
5-6   Blank
14-17 Number of grid intervals along the X axial direction
18-21 Number of grid intervals along the Y axial direction
22-25 Number of grid intervals along the Z axial direction
MAXHKL
Limits for Fourier summation
      FORMAT (A2,A4,7X,3I4,2F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MAXHKL
14-17 Maximum H to be used
18-21 Maximum K to be used
22-25 Maximum L to be used
26-33 Maximum SIN(THETA)/LAMBDA (Blank means no limit)
34-41 Minimum SIN(THETA)/LAMBDA (Blank means no limit)
LABEL
Update file label
      FORMAT (A2,A4,16A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   LABEL
6     Blank
7-70  Label information for data file
EXTINC
Isotropic extinction factor
      FORMAT (A2,A4,E10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   EXTINC
7-16  Isotropic extinction factor (G*1000) (See 1.DATRDN)
DISPER
Temperature dispersion correction card
      FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DISPER
8-11  Atom type (see 1.GENERL)
14-21 DELTA FJ PRIME
22-29 DELTA FJ DOUBLE PRIME
CELCON
Cell contents card
      FORMAT (A2,A4,1X,A4,2X,F4.0,F7.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CELCON
8-11  Atom type (see 1.GENERL)
14-17 Number of atoms of specified type in whole unit cell
18-24 Atomic weight of the species
DATOMS
Asymmetric unit shiftcard
      FORMAT (A2,A4,7X,3F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DATOMS
14-21 Factor to be added to all X parameters supplied (cards or file)
22-29 Y parameter shift
30-37 Z parameter shift
ATOM or ATOMG
Atom parameter card
An =ATOMG= card is identical to an =ATOM= card save that the X, Y, Z, are divided by the three parameters supplied on a =GRID= card - used to avoid converting Fourier map coordinates.
      FORMAT (A2,A4,1X,A4,A2,3F8.4,F6.4,F5.2,3F8.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ATOM or ATOMG
6     Blank
8-13  Atome identification (see 1.GENERL)
14-21 X parameter in fractions of a cell edge
22-29 Y parameter in fractions of a cell edge
30-37 Z parameter in fractions of a cell edge
38-43 Isotropic temperature factor if supplied in this card - treated as B
      above 0.3 and as U below 0.3. B = 78.96*U.
44-48 Population parameter of this species at this point (blank implies 1.0)
49-56 Standard deviation in X
57-64 Standard deviation in Y
65-72 Standard deviation in Z
B, U, BIJ, and BETA
Temperature factor cards
      FORMAT (A2,A4,1X,A4,A2,6F8.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   Appropriate label B, BIJ, UIJ, or BETA
5-6   Blank
8-13  Atom identification (see 1.GENERL) (or Compound identity if this is an overall factor)
14-21 B or U or U11 nor BETA11
22-29 B22 or equivalent
30-37 B33 or equivalent
38-45 B12 or equivalent
46-53 B13 or equivalent
54-61 B23 or equivalent
ATOMD
Delete atoms from the binary file
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   ATOMD
6     Blank
8-13  Atom identification (see 1.GENERL)
      (if atom number is omitted, this card applies to all atoms of the stated type)
BLOCK
Matrix blocking card. Block the matrix prior to the first parameter of this atom
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   BLOCK
6     Blank
8-13  Atom identification (see 1.GENERL)
REF or NOREF
To establish signals in the file with respect to which parameters are to be refined upon
      FORMAT (A2,A4,1X,A4,A2,13A3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   REF or NOREF
6     Blank
8-13  Atom identification (see l.GENERL). If blank, the card applies to
      all atoms. If only atom type is given, the card applies to all atoms
      of the given type.
14-16 Each field may contain blanks or one of the following left justified
      symbols. X, Y, Z, B, B11, B22, B33, B12, B13, B23, M, S, D (M is the
      population parameter, S the neutron scattering factor and D the
      dispersion correction). If all fields are left blank all quantities
      are acted upon. If any field is punched only the parameters named are
      acted upon.
17-19
20-22
23-25
26-28
29-31 Symbol from above list
32-34
35-37
38-40
41-43
44-46
47-49
50-52

CONSTR
Impose a constraint between the specified parameters. The constraining equation is P(SUB) = F*P(REF) + S where F and S are floating point numbers, P(SUB) is the subject parameter, and P(REF) is the reference parameter
      FORMAT (A2,A4,1X,A4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CONSTR
8-13  Atom identification (see 1.GENERL) of subject atom
15-20 Atom identification (see 1.GENERL) of reference atom
21-23 Parameter of subject atom (see =REF=/=NOREF=)
24-26 Parameter of reference atom (see =REF=/=NOREF=)
31-40 F for constraining equation
41-50 S for constraining equation
DELHKL
Delete various reflections based upon general parameters (max of 1 allowed)
      FORMAT (A2,A4,3X,I1,2X,6I3,7F5.0,I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DELHKL
10    (Do not)/(do) list reflections
13-15 Minimum value of H to be retained in file
16-18 Minimum value of K to be retained in file 
19-21 Minimum value of L to be retained in file
22-24 Maximum value of H to be retained in file
25-27 Maximum value of K to be retained in file
28-30 Maximum value of L to be retained in file
31-35 Minimum value of SIN(THETA)/LAMBDA to be retained in file
36-40 Maximum value of SIN(THETA)/LAMBDA to be retained in file
41-45 Minimum value of FREL to be retained in file
46-50 Maximum value of FREL to be retained in file
51-55 Minimum value of E to be retained in file
56-60 Maximum value of E to be retained in file
61-65 Number of standard deviations of SIGMA F RELATIVE which when checked
      against F RELATIVE will cause reflection to be rejected.
66-75 Maximum number of reflections to be copied to output file (Blank =10**6)
Note: the =DELHKL= card will cause =EDIT= cards to fail if any reflection is eliminated which is later coded to be edited.
EDIT
Edit card for modifying reflections at FC time. H, K, L values must be supplied in exact order on BDF allowed
      FORMAT (A2,A4,1X,5I5,2F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   EDIT
5-6   Blank
8-12  H of reflection needing change
13-17 K of reflection needing change
18-22 L of reflection needing change
      (Note: leaving any one of the fields in cols 23-52 blank will cause
      =LOADAT= to use old values
23-27 New JCODE Status ((10/(2)/(3)/(4)/(5) for (OBSERVED)/ (UNOBSERVED)/
      (EXTINCT)/(IGNORED)/(SYSTEMATICALLY EXTINCT)
      Note: a zero punched in column 27 will cause the reflection to be deleted
28-32 New level indicator (1 to 64 allowed)
33-42 New F RELATIVE
43-52 New least squares weight
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

LSQPL: Card Formats and Card Order

A. Card Order Summary for =LSQPL= Program

LSQPL   Program calling card
*CELL   Unit cell parameters (see Note 1)
*CELLSD Standard deviations in unit cell parameters (see Note 1)
ATOM    Atomic parameters (see Notes 2 and 3)
*PLANE  Just like =LSQPL- card but precedes groups of other =PLANE= cards
        for gettlng angles between planes
END     End card

Note 1: the =CELL= card has a very important function other than providing cell parameters. If the =CELL= card is omitted, the program will automatically expect an X-RAY system binary data file on =NFILEA= from which cell data will be obtained. If a =CELL= card is given, no file will be used as input. The quantities must be the direct cell constants. The =CELLSD= card is used to supply the standard deviations in each of the unit cell parameters if these are not available from the binary data file, or to override the values found in the file. Unlike the =CELL= card, a =CELLSD= card does not influence the action of the program in deciding where to look for the atomic parameters. It is also important to note that, when atomic parameters are being input from cards, it is not necessary to repeat the =CELL= card after each =PLANE= card. If, however, a different compound ID is encountered on a =PLANE= card, a =CELL= card for the new compound is then required

Note 2: if a =CELL= card is provided, atom parameters must be supplied on =ATOM= cards. If no =CELL= card is provided, the minimal function of =ATOM= cards is to give atom identification for atoms involved in the calculation. If an =ATOM= card is otherwise blank (except for atom identification. e.g. C 3). the atomic parameters will be picked up from the binary data file. If the parameters for an atom are given in the =ATOM= card, they will take precedence over file parameters. If an X coordinate is given on the =ATOM= card, then the Y and Z coordinates must also be given on the =ATOM= card. If an atom identification on an =ATOM= card cannot be matched with an atom identification in the binary data file, the program will use the identification and the atomic parameters on the =ATOM= card (used, for example, with atoms not in the asymmetric unit).

Note 3: there must be at least (N1) =ATOM= cards supplied, where (N1) is the number of atoms defining the plane or line (as specified in cols 16-19 of the =LSQPL= card). if more than (N1) =ATOM= cards are provided, the first (N1) will be used in the least squares line or plane calculation and for the remaining atoms their distance from the line or plane will be calculated. The program limits calculations to a maximum of 200 atoms defining the line or plane, and to a maximum of 200 =ATOM= cards supplied after the first (N1) =ATOM= cards.

Note 4: the sequence =LSQPL=, =CELL=, =ATOM=, =PLANE=, =ATOM=, =PLANE=, etc., ...=END= is used to calculate many planes and the angles between them.

B. Card Formats for =LSQPL= Program

LSQPL
Calling card for least squares lines and planes
      FORMAT (A2,A4,1X,A2,A4,1X,I1,1X,I3,2I2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   LSQPL
6     Blank
8-13  Compound identification code
15    (1)/(2) for L.S. (line)/(plane)
17-19 Number of atom cards of atoms to define (or make up) the L.S. line or plane
20-21 (0)/(1) for (ignored) / (causes calculation of angles between this
      line or plane and any preceding lines and/or planes coded non-zero)
22-23 (0)/(1) for (ignored) / (causes calculation of L.S. line or plane with
      atoms provided as input plus the atoms related to the given atoms
      but generated through the origin as a center of symmetry)
CELL
Cell constant card
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
5-6   Blank
8-13  Compound identification code
14-21 A cell dimension
22-29 B cell dimension
30-37 C cell dimension
38-46 COS ALPHA
47-55 COS BETA
56-64 COS GAMMA
CELLSQ
Standard deviation of unit cell parameters
      FORMAT (A2,A4,1X,A4,A2,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CELLSD
8-13  Compound identification code
14-21 Standard deviation in A cell dimension (angstroms)
22-29 Standard deviation in B cell dimension (angstroms)
30-37 Standard deviation in C cell dimension (angstroms)
38-46 Standard deviation in COS ALPHA cell dimension 
47-55 Standard deviation in COS BETA cell dimension 
56-64 Standard deviation in COS GAMMA cell dimension 
ATOM
Atom parameter card
      FORMAT (A2,A4,1X,A4,A2,3F8.5,11X,3F8.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   ATOM
5-6   Blank
8-13  Atomic identification (see 1.GENERL)
14-21 X fractional coordinate
22-29 Y fractional coordinate
30-37 Z fractional coordinate
49-56 Standard deviation in X (Blank = 0.01 angstrom)
57-64 Standard deviation in Y (Blank = 0.01 angstrom)
65-72 Standard deviation in Z (Blank = 0.01 angstrom)
PLANE
Identical to format of =LSQPL= - used when a whole series of planes are to he calculated in order to get the angles between them.
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

MODIFY: Card Formats and Card Order

A. Card Order Summary for =MODIFY= Program

MODIFY  Program calling card
*MODFIL
*MODREF
END     End card

B. Card Formats for =MODIFY= Program

MODIFY
Program calling card
      FORMAT (A2,A4,1X,A2,A4,I2,I5,3F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MODIFY
8-13  Compound identification code
14-15 (Blank)/(1)/(2)/(3) (Do not replace F RELATIVE with a value derived from FC)/
      (Do replace  F RELATIVE with a value derived from FC)/
      (implies that in addition to replacing F RELATIVE the phase of FC is to be
      stored in the calculate phase word) / (implies that, in addition, =HKL= reflection cards 
      be punched for other uses)
16-20 (Blank)/(N) (Do not) (Do) list words modified, N is the max number
      of lines to list to obviate massive output
21-30 Percentage random error to be placed in generated F RELATIVEs
31-40 Threshold intensity (i.e. generated I's smaller than this value will be
      coded as LESS-THANs. Note that the old binary data file must contain 1/LP)
41-50 Scale to be applied to F RELATIVE to change it from scale of FC
      (for generation of a phony set of data)
MODFIL
End card
      FORMAT (A2,A4,11X,I2,I4,4X,I4,I9,F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MODFIL
18-19 Number of logical record to be altered
20-23 Number of physical record to be altered
      (Note: this is the value of the record sequence number as kept in
      word 2 of the record, i.e. 0 for a logical record which only contains
      1 phy, otherwise, the sequence number of the record - see Appendix-6)
28-31 Number of word to be replaced in the specified record
32-40 Fixed point quantity          (The choice is made on the basis of non-zero - if both
41-50 Floating point quantity        are non-zero, fixed point is stored)
MODREF
Modify specified reflection
      FORMAT (A2,A4,9X,4I4,I9,F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   MODREF
16-19 H index of reflection to be modified
20-23 K index of reflection to be modified
24-27 L index of reflection to be modified
28-31 Number of relative word in reflection record to be replaced. See
      Appendix 6 for format of binary data file.
32-40 Fixed point quantity          (The choice is made on the basis of non-zero - if both
41-50 Floating point quantity        are non-zero, fixed point is stored)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

NORMSF: Card Formats and Card Order

A. Card Order Summary for =NORMSF= Program

NORMSF   Program calling card
*EPSILON Zone weighting factors
*CELCON Unit cell contents (one per atom)
END     End card

B. Card Formats for =NORMSF= Program

NORMSF
Program calling card
      FORMAT (A2,A4,1X,A2,A4,I2,2I5,5X,4F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   NORMSF
8-13  Compound identification code
15    Number of isotropic connection cycles (Blank =1)
20    Number of anisotropic connection cycles (Blank =5)
25    (Blank/(1)/(2) List (E values .GT. 1.0)/(NO E values)/(All E values)
31-40 SIN(THETA)/LAMBDA maximum for data (must be supplied - can be used
      to limit sphere of data entered into the calculation)
41-50 FRFL scale applied to LESS THANs (blank assumes that LESS-THANs
      entered at UNOBS. Threshold and scale will be taken as 0.707)
51-60 Minimum FREL to be entered into calculation (Blank = 0.0)
61-70 Damping factor for ISO- and ANISOTROPIC corrections (blank=.75)
EPSILON
Zone weight card - should be omitted. The current values are calculated by =DATRDN= and and stored in =NFILEA=. An EPSILON card may be used to weight classes of reflections as shown.
      FORMAT (A2,A4,4X,14F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-7   EPSILON
11-15 Epsilon for H00 )
16-20 Epsilon for 0K0 )
21-25 Epsilon for 00L ) Any entry which is blank or 0
26-30 Epsilon for HK0 ) will be treated as 1.0 otherwise
31-35 Epsilon for H0L ) an entry should be positive
36-40 Epsilon for 0KL )
41-45 Epsilon for HKL )

46-50 Epsilon for HH0 )
51-55 Epsilon for H0H ) If these entries (col 46-80) are
56-60 Epsilon for 0KK ) left blank REFLNS. Will be considered
61-65 Epsilon for HHL ) only in the classes above. If
66-70 Epsilon for HKH ) any entry is non-zero the remaining
71-75 Epsilon for HHH ) blanks and 0s will be treated as 1.0
76-80 Epsilon for HKK )
CELCON
End card
      FORMAT (A2,A4,1X,A4,2X,F4.0,F7.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CELCON
8-11  Atom type (see 1.GENERL)
14-17 Number of atoms of specified type in whole unit cell
18-24 Atomic weight of the species
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

PARAM: Card Formats and Card Order

A. Card Order Summary for =PARAM= Program

PARAM   Program calling card
CELL    Cell constant card
THETA   TWO-THETA data card
END     End card

B. Card Formats for =PARAM= Program

PARAM
Calling card for least squares cell parameter refinement program
      FORMAT (A2,A4,1X,A2,A4,2X,2F10.7,A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   PARAM
6     Blank
8-13  Compound identification code
16-25 Wavelength of radiation used
26-35 Correction to be applied to the TWO-THETA values contained on the
      =THETA= cards for conversion to true TWO-THETAs
36-41 Lattice type identification code according to the following:
      TRICLI - triclinic
      MONOCL - monoclinic
      ORTHOR - orthorhombic
      TETRAG - tetragonal
      CUBIC  - cubic
      TRIGRN - trigonal (rhombohedral indexing)
      HEXAGO - hexagonal
      TRIGHX - trigonal (hexagonalindexing)
      If the lattice type provided is blank or illegal, a triclinic lattice will be assumed
CELL
Cell constant card
      FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   CELL
5-6   Blank
8-13  Compound identification code
14-21 A cell dimension
22-29 B cell dimension
30-37 C cell dimension
38-46 ALPHA or COSINE ALPHA
47-55 BETA or COSINE BETA (if a monoclinic lattice with BETA unique, do
      not set BETA equal to 90.0 degrees (or a cosine of 0.0) because BETA is
      tested to determine if it or GAMMA is to be refined.
56-64 GAMMA or COSINE GAMMA
THETA
TWO-THETA data card
      FORMAT (A2,A4,9X,3I4,3F10.6)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   THETA
6     Blank
16-19 H index
20-23 K index
24-27 L index
28-37 TWO-THETA
38-47 Standard deviation of TWO-THETA - if zero or blank, 0.01 is supplied
48-57 Wavelength if different from value on PARAM card
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

PEKPIK: Card Formats and Card Order

A. Card Order Summary for =PEKPIK= Program

PEKPIK  Program calling card
END     Signals to program to begin calculation

B. Card Formats for =PEKPIK= Program

PEKPIK
Calling card for peak searching program
      FORMAT (13X,2F10.5,4I5,F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   PEKPIK
8-13  Compound identification code
14-23 Upper ) limits between which search is to be suppressed
24-33 Lower ) (to avoid ripples) - this is the same function as
              the =MAP= card of =FOURR= so that if these fields
              are left blank values from the =MAP= card will be used (from =NFILE=)
34-38 Number of unique peaks expected (Blank or 0 = 25 peaks)
39-43 Maximum number of peaks to be sought (Blank or 0 = 100)
44-48 (Blank)/(1) (Do not)/(Do) punch =ATOM= cards for peaks located during search
49-53 (Blank)/(1) (Do not)/(Do) search for holes as well as peaks
54-63 Desired resolution between peaks - never use a value less than the
      resolution of the Fourier map being searched (Blank or zero = 0.75 angstrom units)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

PHASE: Card Formats and Card Order

A. Card Order Summary for =PHASE= Program

PHASE  Program calling card
*DEFINE Defines the phase of a specified reflection
*IGNORE Causes a specified reflection to be ignored in solution process
*BADEQN Removes a specified equation derived from two SIGMA-TWO
        relationships from the set used in solution process
*BADSIG removes a specified SIGMA-TWO relationship
*HKL    Permits loading of E values from  cards
*EQN    Permits loading of SIGMA-TWO derived equations from cards
END     End card

Note: SIGMA-TWO relationships must be supplied if =HKL= cards are supplied.

B. Card Formats for =PHASE= Program

PHASE
Calling card for PHASE
      FORMAT (A2,A4,1X,A2,A4,4I4,2F6.4,3I4,F6.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   PHASE
6     Blank
8-13  Compound identification code
14-17 (Blank)/(1)/(2) (No punched phases)/(punch =HKL= cards)/
      (punch =MODREF= cards for subsequent use with =MODIFY=)
18-21 (0)/(1) (Do not)/(Do)  write new binary data file with determined phases included
22-25 (Blank)/(N) (Do not)/(Do) ignore up to N undefined generators and proceed with limited solution
26-29 Number of largest E value reflections to be 'Generators'
30-35 Minimum probability to accept a relationship from =SIGMA2=
36-41 Minimum E value for which a phase is to be determined
42-45 The number of highest F's to be allowed in the solution for the
      generators (Blank = 9999) must be greater than cols 26-29 above
46-49 Maximum number of cycles of refinement to attempt to produce a solution
      - 10 maximum (i.e. fewer discrepant than accordant)
50-53 (0)/(1) (Do)/(Do not) sort SIGMA-TWO relationships before attempting
      solution (sorting will require =NFILEH=)
54-59 Fraction of phase determinations which must agree to indicate
      acceptance of a 'generated'  phase (0 or blank = 0.59 i.e. 3 out of 5 must agree)
DEFINE
Reflections to be defined with respect to PHASE
      FORMAT (A2,A4,9X,4I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   DEFINE
16-19 H index
20-23 K index
24-27 L index
28-31 + or - 1 to indicate cosine of defined phase
IGNORE
Reflections to be ignored in process of phase determination eliminates all SIGMA-TWO relationships which involves this reflection
      FORMAT (A2,A4,9X,3I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   IGNORE
16-19 H index
20-23 K index
24-27 L index
BADEQN
Eliminates a specified relationship from use during the solution process
      FORMAT (A2,A4,9X,5I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BADEQN
16-19 First symbolic phase number
20-23 Second symbolic phase number
24-27 Third symbolic phase number
28-31 Fourth symbolic phase number
32-35 Sign of relationship
BADSIG
Eliminates a specified SIGMA-TWO relationships from use during the solution process
      FORMAT (A2,A4,9X,4I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BADSIG
16-19 First symbolic phase number
20-23 Second symbolic phase number
24-27 Third symbolic phase number
28-31 Sign of relationship
HKL
Standard X-RAY system reflection input card
      FORMAT (A2,A4,1X,A2,A4,3I3,36X,F4.3,10X,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   HKL
4-6   Blank
8-13  Compound identification code
14-16 H
17-19 K
20-22 L
59-62 Normalized structure factor
73-76 Assigned symbolic phase as an integer
EQN
A SIGMA-TWO relationship
      FORMAT (A2,A4,9X,4I4,F7.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   EQN
4-6   Blank
16-19 Symbolic phase one
20-23 Symbolic phase two
24-27 Symbolic phase three
28-31 + or - 1 for sign of relationship
32-38 Probability of the relationship being true
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

REVIEW: Card Formats and Card Order

A. Card Order Summary for =REVIEW= Program

REVIEW  Program calling card
END     End card

B. Card Formats for =REVIEW= Program

REVIEW
Program calling card
      FORMAT (A2,A4,1X,A2,A4,2I1,F5.2,9I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   REVIEW
8-13  Compound identification code
14    (Blank)/(1) (Do not)/(Do) substitute into all triplets formed by =SINGEN=
15    (Blank)/(1)/(2) printed output control (list only triplets with COSINES .LT. 0)/
      (list only the triplets written by =APHASE=)/ (list all triplets substituted into)
16-20 Minimum E-value to be considered
21-25 First A minimum  ) For cosine distributions must be in decreasing order.
26-30 Second A minimum )
...                    ) First zero or blank field regarded as the last
61-65 Ninth A minimum  )
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

RLIST: Card Formats and Card Order

A. Card Order Summary for =RLIST= Program

RLIST   Program calling card
*SCALE  Scale card for F RELATIVE data
*SETMAT Eularian cradle setting matrix (only required if a following
        =CATEGO card calls for regions of PHI or CHI
*CATEGO To obtain H values for certain specified categories
END     End card

B. Card Formats for =RLIST= Program

RLIST
Calling card for RLIST program
      FORMAT (A2,A4,1X,A2,A4,7X,A1,F9.5,F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   RLIST
6     Blank
8-13  Compound identification code
21    (Blank)/(1) for (Do not)/(Do) list R by all values of H, K, and L
      Note: in order to obtain this listing, the binary data file must be
      searched repeatedly and copious output will result. Use this feature
      with care
22-30 'threshold' DF/FC value above which the reflection should be printed (blank = 2.0)
31-40 Number of standard deviations in intensity above background to
      establish LESS-THANs. Blank means accept setting from binary data file
SCALE
Scale card for F RELATIVE data to supersede values in binary data file
      FORMAT (A2,A4,F10.4,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   SCALE
6     Blank
7-16  Scale factor to apply to F RELATIVE
17-20 Group identification (1-64)
SETMAT
Setting matrix (for determining CHI and PHI eulerian angles from H, K, and L- see =DIFSET=)
      FORMAT (A2,A4,1X,9F8.6)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SETMAT
8-15  Element (1,1)
16-23 Element (1,2)
24-31 Element (1,3)
32-39 Element (2,1)
40-47 Element (2,2)
48-55 Element (2,3)
56-63 Element (3,1)
64-71 Element (3,2)
72-78 Element (3,3)
CATEGO
Card for obtaining R values for certain specified categories. Use a separate card for each category selected. There are 3 distinct groups of fields on the card and the first non-blank group encountered is used
      FORMAT (A2,A4,2X,3A4,6(1X,I4),2F10.5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CATEGO
7-8   Blank (or RT)
9-20  User's name for category selected
-------Categories by index value (may be used singly or in combination of pairs)
22-25 R values desired for a specific H, blank implies no search for a specific H value
27-30 R values desired for a specific K, blank implies no search for a specific K value
32-35 R values desired for a specific L, blank implies no search for a specific L value
-------Categories by index combinations
37-40 Category of index calculations (Blank)/(1)/(2)/(3)/(4)/(5)/(6)/(7) for (Ignore test)/(H)/(K)/(L)/
      (H+K)/(H+L)/(K+L)/(H+K+L)
42-45 Value of above indices to be included in R values
      (1)/(2)/(3)/(4)/(5)/(6)/(etc) for (odd only)/(even only)/(multiples of 3 only)/
      (multiples of 4 only)/(multiples of 5 only)/(multiples of 6 only)/
      (any reasonable number may be supplied)
--------Categories by magnitude of other quantities
47-50 Select category for range of
      (1)/(2)/(3)/(4)/(5) for (SIN(THETA)/LAMBDA)/(intensity)/(FO)/(CH)/(PHI)
      CHI and PHI ranges require a =SETMAT= card
51-60 Lower limit of quantity requested in cols 47-50
61-70 Upper limit of quantity requested in cols 47-50
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

SINGEN: Card Formats and Card Order

A. Card Order Summary for =SINGEN= Program

SINGEN  Program calling card
END     End card

B. Card Formats for =SINGEN= Program

SINGEN
Program calling card
      FORMAT (A2,A4,1X,A2,A4,I2,I5,F10.3,2I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SINGEN
7     Blank
8-13  Compound identification code
15    (Blank)/(1) for write (=SINGEN= files on =NFILEE= and do not copy
      the binary data file on =NFILEB=)/(Binary data and =SINGEN= files on =NFILEB=)
20    (1)/(2)/(3)/(4) enter E-values from =NFILEA= calculated as (E1)/
      (E2)/(E3)/(E4) in =NORMSF= (Blank = 1)
21-30 Minimum E value to be used in structure invariant search (blank=1.4)
31-40 Maximum phase number for which triplets are printed
41-50 Maximum phase number for which triplets are printed redundantly
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

STEPRF: Card Formats and Card Order

A. Card Order Summary for =STEPRF= Program

STEPRF   Program calling card
*SCALE   Scale card for F RELATIVE data
*ATOM    Atom selection card
*NOREF   Shut off refinement of specific parameters
*CONSTR  Constrains one parameter to be a function of another
*RELEAS  Release all constraints read from the binary data file for a specification
END      End card

Note: if no atom cards are present, all the atoms in the binary file are used. If any atoms are specified by cards, only those specified on the cards are selected from the binary file. If there are too many atoms in the file for the storage capacity cards, will be expected.

B. Card Formats for =STEPRF= Program

STEPRF
Calling card for the crystallographic step refinement program
      FORMAT (A2,A4,1X,A2,A4,4I2,6F4.3,6I3,I7,2F5.0)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   STEPRF
8-13  Compound identification code
14-15 Number of cycles (Blank = 1)
16-17 (Blank)/(1) for refinement based on (F)/(F**2)
18-19 (Blank)/(1) for (do not)/(do) punch the new atom coordinates
20-21 (Blank)/(1) for (do not)/(do) list the reflections
22-25 Stepping distance in the X direction
26-29 Stepping distance in the Y direction
30-33 Stepping distance in the Z direction
34-37 Stepping increment for U
 Note: if columns 22 through 37 are blank, X, Y, and Z will be
     stepped by 0.1 angstrom and U will be stepped by 0.00633
38-41 Minimum SIN(THETA)/LAMBDA to be considered
42-45 Maximum SIN(THETA)/LAMBDA to be considered
46-48 Minimum H to be considered
49-51 Minimum K to be considered
52-54 Minimum L to be considered
55-57 Maximum H to be considered
58-60 Maximum K to be considered
61-63 Maximum L to be considered
 Note: if columns 49 through 63 are blank, the limits will be -99 and +99
64-70 Maximum number of reflections
71-75 Minimum E to be considered
76-80 Maximum E to be considered
Note: reflections will be limited only by the stipulations on the =STEPRF= card and the available core storage. Since the =STEPRF= program was designed for preliminary refinement, it is best to work with a minimum number of reflections. This will increase the cycle speed. In addition, it is faster to refine on F in the centric case and F**2 in the acentric case.
ATOM
Atom selection card
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   ATOM
5-6   Blank
8-13 Atom identification (see 1.GENERL)
NOREF
To shut off refinement of specific parameters
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   NOREF
8-13  Atom identification (see l.GENERL). If blank, the card applies to
      all atoms. If only atom type is given, the card applies to all atoms
      of the given type. If =SCALE= is punched in cols. 8-12, the card
      applies to F RELATIVE scale factor refinement.
  Note: if cols 15-52 are blank in the case of the =NOREF= card, all parameters
    for the indicated atom or atoms will be held invariant
14-16 Each field may contain blanks or one of the folllowing left justified symbols:
         X
         Y
         Z
         PP  population parameter
         SCT neutron scattering factor
         DFR real dispersion parameter
         DFI Imaginary dispersion factor
         U   Isotropic temperature factor
CONSTR
Impose a constraint between the specified parameters. The constraining equation is: P(SUB) = F*P(REF) + S where F and S are floating point numbers, P(SUB) is the subject parameter, and P(REF) is the reference parameter
      FORMAT (A2,A4,1X,A4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   CONSTR
8-13  Atom identification (see 1.GENERL) of subject atom
15-20 Atom identification (see 1.GENERL) of reference atom
21-23 Parameter of subject atom (see =REF=/=NOREF=)
24-26 Parameter of reference atom (see =REF=/=NOREF=)
31-40 F for constraining equation
41-50 S for constraining equation
RELEAS
Release all constraints read from the binary data file on a particular atom.
      FORMAT (A2,A4,1X,A4,A2)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   RELEAS
8-13  Atom identification (see 1.GENERL)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

TANGEN: Card Formats and Card Order

A. Card Order Summary for =TANGEN= Program

TANGEN   Program calling card
*CYCLE   E thresholds (one per cycle)
*LIMIT   Phase acceptance test limits
*PRINT   Specifies print output
*PHI     Starting phases (one per reflection)
*BDFPHI  Specifies starting phases from =FC= or previous =TANGEN=
END      End card

Note: PHI and BDFPHI are optional but both may be entered. Starting phases defined by the last card (=PHI= or =BDFPHI=) take precedence over earlier definitions (including those from =APHASE= specified on the =TANGEN= card).

B. Card Formats for =TANGEN= Program

TANGEN
Program calling card
      FORMAT (A2,A4,1X,A2,A4,I2,I5,F10.3,4I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   TANGEN
8-13  Compound identification code
15    (Blank)/(1) to enter binary data and =SINGEN= files from (=NFILEA= and =NFILEE=)/
       (=NFILEA = only) in both cases =NFILEA= must contain E-values produced by =NORMSF=
20    (Blank)/(1) (Do not)/(Do) use the PHI and PSI values which have
      been estimated by =APHASE= and entered on the binary data file
21-30 Minimum E-value to be phased by tangent iteration process (blank
      causes minimum E of =SINGEN= to be used)
40    (Blank)/(1) (Do not)/(do> use weighted tangent formula
50    Number of scratch files (G,H,I,J) to be used during the presort of
      =SINGEN= triplets mandatory if the number of triplets exceeds the
      array limit MAXTRI  If implemented triplets from the lowest cycle-threshold
      UP are sorted directly into these files
      (MAXTRI is set in XYTM, in general at least one should be set)
60    (Blank)/(1) (Do)/(Do not) write new binary data file (on =NFILEB=)
70    (Blank)/(1) (Do)/(Do not) exit any cycle if the /EC/-SCALE converges or
      oscillates to within 0.0001
CYCLE
E-threshold for a cycle of iterations
      FORMAT (A2,A4,I4,I5,F5.2,I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   CYCLE
6     Blank
9-10  Cycle number (maximum of 10)
11-15 Threshold on this cycle as maximum phase number
16-20 Threshold on this cycle as minimum E value (used if cols 11-15 blank)
21-30 Number of iterations for this cycle (maximum of 50) Blank=20
LIMIT
Phase acceptance limits
      FORMAT (A2,A4,4X,2I5,F10.3,I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   LIMIT
6     Blank
11-15 Phase oscillation limit in degrees (Blank=100)
16-20 Restricted phase divergence limit in degrees (Blank=75)
21-30 Calculated E-value (/EC/) acceptance threshold (Blank 0.5 or if
      weighted tangent iteration is specified Blank=0.0)
31-40 Minimum number of triplets contributing to a phase estimate before
      it is accepted (Blank=1)
PRINT
Print control
      FORMAT (A2,A4,4X,12I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   PRINT
6     Blank
15    (Blank)/(1) (Do)/(Do not) print phases of last iteration of each cycle
20    (Blank)/(1) (Do)/(Do not) print phases as output on =NFILEB=
    The next 10 fields are punched as
    (Blank)/(N) (Do not)/(Do) print phases of every N-th iteration for:
21-25 Cycle 1
26-30 Cycle 2
31-35 Cycle 3
36-40 Cycle 4
41-45 Cycle 5
46-50 Cycle 6
51-55 Cycle 7
56-60 Cycle 8
61-65 Cycle 9
66-70 Cycle 10
PHI
Phase of starting reflection
      FORMAT (A2,A4,I4,I10,2I5,I10,I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   PHI
4-6   Blank
7-10  E-list serial no. of reflection
11-20 H index
21-25 K index
26-30 L index
38-40 Phase in degrees (positive base modulo 360)
41-45 (+N)/(-N) to (fix phase)/(suppress reflection) for N cycles (N may be 0 to 10)
BDFPHI
Extract phases from reflection record of binary data file
      FORMAT (A2,A4,I4,I10,3F10.4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   BDFPHI
10    (Blank)/(1) extract phases from binary data file after (=FC=)/(prior =TANGEN=) calculation
11-20 Number of cycles the extracted phases are to be fixed
21-30 E-threshold limiting phases to be extracted (Blank=cycle)/(1= E-threshold)
31-40 Fraction (P) used in =FC= rejection test - see write up (Blank = 5)
41-50 FREL scale used in =FC= rejection test - see write up (Blank causes
      scale to be extracted from record 7 of BDF)
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

WRITEU: Card Formats and Card Order

A. Card Order Summary for =WRITEU= Program

WRITEU   Program calling card
*ELEMENT Defines the beginning of an element of the write-up
*ENDELT  Defines the end of an element of the write-up
*TEXT    Defines data or other cards to be converted such that col. 1
         becomes a blank and cols. 2-80 are like 1-79 of INOUT cards (to
         generate appendices)
*ENDTEXT Stop preparing text
END      End card after all write-up material

B. Card Formats for =WRITEU= Program

WRITEU
Program calling card
      FORMAT (A2,A4,I4,2X,A2,A4,A2,3X,I1,I4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   WRITEU
7-10  Maximum lines/page
13-20 Date of the printing as DD/MM/YY
24    (0)/(1) for (Do not)/(Do) write a duplicate file on =NFILED= as well as printing a copy
25-28 Integer of last previous page sequence number run - this is to
      facilitate running in parts - leave blank for ab-initio run. Use last
      sequence number output for subsequent runs
ELEMENT
Defines the beginning of an element of the write-up. An element consists of a logical unit of the write-up
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-7   ELEMENT
ENDELT
Defines an end of an element of the write-up
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   ENDELT
TEXT
Defines data or other cards to be converted such that col 1 becomes blank amd cols 2-80 ape like 1-79 of input cards (to generate appendices)
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-4   TEXT

ENDTEXT
Stop preparing text
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-7   ENDTEXT

END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

WTANAL: Card Formats and Card Order

A. Card Order Summary for =WTANAL= Program

WTANAL  Program calling card
INTFO
INTST
*LAYER
*SMALFO
*LESSTH
END     End card

B. Card Formats for =CRYLSQ= Program

WTANAL
End card
      FORMAT (A2,A4,1X,A2,A4,F7.3,2X,F8.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   WTANAL
8-13  Compound identification code
14-20 LAMBDA - wavlength of X-radiation used - if analysis required
      for SIN(THETA)/LAMBDA this value should be 1.0
23-30 Threshold value for analysis of small FOBS values - may be blank if
      no =SMALFO= card supplied
INTFO
Card used to define the limits of the intervals of FOBSs. No more than four such cards may occur, i.e. 20 is the maximum number of intervals allowed. Omit this card type if no analysis required for FOBS.
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   INTFO
6     Blank
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically
INTST
Card used to define the limits of the intervals of SIN THETA. No more than four such cards may occur, i.e. 20 is the maximum number of intervals allowed. Omit this card type if no analysis required for SIN THETA
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   INTST
6     Blank
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically
SMALFO
Card used to define the limits of the intervals of small FOBS. No more than four such cards may occur, i.e. 20 is the maximum number of intervals allowed. Omit this card type if no analysis regained for small FOBS.
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SMALFO
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically

LAYER
Used to define which index to use for analysis and to give value of largest negative index.
      FORMAT (A2,A4,8X,I1,I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   LAYER
6     Blank
15    (1)/(2)/(3) for analysis of (H)/(K)/(L)
16-20 Largest occurring negative index (without sign)
LESSTH
Card used to define the limits of the intervals of LESS-THAN. No more than four such cards may occur - i.e., 20 is the maximum number of intervals allowed. Omit this card type if analysis required for LESS-THANs.
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   LESSTH
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically

INTFO
Card used to define the limits of the intervals of FOBSs. No more than four such cards may occur, i.e. 20 is the maximum number of intervals allowed. Omit this card type if no analysis required for FOBS.
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   INTFO
6     Blank
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

WTLSSQ: Card Formats and Card Order

A. Card Order Summary for =WTLSSQ= Program

WTLSSQ   Program calling card
COEFF    Coefficients for chosen weighting scheme 
*INTFO   Intervals for FOBS
*INTST   SIN THETA intervals
*SCALWT  Scale factors to be applied to weights to adjust average W*DELTASQ
*THRESH  Defines a new threshold for establishing LESS-THAN status
END      End card

B. Card Formats for =WTLSSQ= Program

WTLSSQ
End card
      FORMAT (A2,A4,1X,A2,A4,F7.3,I5,F5.3,F5.0,2I5)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   WTLSSQ
8-13  Compound identification code
14-20 LAMBDA - X-ray wavelength
21-25 Weighting scheme desired (see 1.WTLSSQ)
26-30 Weighting indicator for LESS-THANs
      -ve - neglible weight if FO is greater than FC
      0 or blank - weight by equation
      +ve - constant used to weight LESS-THANs
31-35 Maximum allowable weight (Blank or 0 = 100.)
36-40 (Blank)/(1) for (Do)/(Do not) analyse in groups of F OBSERVED
41-45 (Blank)/(1) for (Do)/(Do not) analyse in SIN THETA groups
COEFF
Coefficients for chosen weighting scheme. Coefficients may be specified in any order and as many cards as are needed will be accepted. Blank fields are ignored.
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   COEFF
6     Blank
11    Coefficient (i.e A,B,C,D,E,G,H,J or K
12-20 Value of coefficient
21-30 )
31-40 )
41-50 )  As cols 11-20
51-60 )
61-70 )
71-80 )
INTST
Card used to define the limits of the intervals of SIN THETA. No more than four such cards may occur, i.e. 20 is the maximum number of intervals allowed. Omit this card type if no analysis required for SIN THETA
      FORMAT (A2,A4,14X,5F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-5   INTST
6     Blank
21-30  )  5 fields giving limits of the required
31-40  )  intervals. Any blank field
41-50  )  will be ignored. If non-blank
51-60  )  the internal values should increase
61-70  )  monotonically
SCALWT
Scale factors for weights
      FORMAT (A2,A4,13X,2F10.3)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   SCALWT
20-29 Scale factor for weights of observed reflections
30-39 Scale factor for weights of LESS-THANs

THRESH
Defines a new threshold for establishing reflections as being LESS-THANs
      FORMAT (A2,A4,14X,2F10.0,2I10)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-6   THRESH
21-30 SIGMA threshold
31-40 FREL/I threshold (see cols 41-50)
41-50 (Blank)/(1) FOR based on (FOBS)/(I)
51-60 (Blank)/(1) FOR (Do not)/(Do) include the newly established =JCODE=
      in the output binary data file
END
End card
      FORMAT (A2,A4)
COLS  SPECIFIED PUNCHING OR FUNCTION OF THE FIELD
1-3   END
4-6   Blank

REFERENCES

In the original version of the manual, references appeared at the end of each section. There was a significant amount of duplication and incomplete references. The references have been gathered together as being more appropriate for a web-based version of the manual. Links to the references are provided at the appropriate places in the Manual.

(1) Crystallographic Computing, Proceedings of an International Summer School organized by The Commission on Crystallographic Computing of the International Union of Crystallography, Ottawa, August 1969. Edited by F R Ahmed, S R Hall and C P Huber. Published by Munksgaard, 1970. 383 pages.

(2) International Tables for X-ray Crystallography, International Union of Crystallography. Volume I, Symmetry Groups (1st Edition 1952), Volume II, Mathematical Tables (1st Edition 1959), Volume III, Physical and Chemical Tables (1st Edition 1962), Published by Kynoch Press, 1952-1974. Editors: Caroline H MacGillavry and Gerard D Rieck.

(3) USA Standard Fortran, (USAS X3.9-1966). USA Standards Institute, New York. 1966. (See also - Comm. Acm., 7, 10, Oct. 1964, pages 289-294.)

(4) Alexander, L E and Smith, G S, Single Crystal Diffractometry - The Improvement of Accuracy in Intensity Measurement, Acta Crystallographica, Vol 17, 1195-1201 (1964).

(5) Burke, P G, Editorial: Program Annotation, Computer Physics Communications, Vol 1, Issue 3, 141-150 (January 1970).

(6) Baur, W H, Preliminary Study of a High-temperature Phase in Cuprous Chloride, Acta Crystallographica, Vol 9, Issue 6, 538-539 (June 1956).

(7) Bewilogua, L, Uber die inkoharente Streuung der Rontgenstrahlen, Physikalische Zeitschrift, Vol 32, 740-744 (1931).

(8) Bond, W L, Equi-Inclination Weissenberg Intensity Correction Factors for Absorption in Spheres and Cylinders and for Monochromatized Radiation, Acta Crystallographica, Vol 12, Issue 5 375-381 (May 1959).

(9) Buerger, M J, X-ray Crystallography, John Wiley, New York, (1942).

(10) Busing, W R, and Levy, H A, Angle Calculations for 3- and 4-circle X-Ray and Neutron Diffractometers, Acta Crystallographica, Vol 22, 457-464 (1967) also ORNL-4054, Oak Ridge National Laboratory

(11) Bragg, W L and West J, A Technique for the X-ray Examination of Crystal Structures with Many Parameters, Zeitschrift fur Kristallographie, Vol 69, 118-148 (1928).

(12) Brill, R, The Covalent Bond in Diamond and the X-ray Scattering Factor of Covalent Bonded Carbon, Acta Crystallographica, Vol 3, Issue 5 333-337 (May 1950).

(13) Coppens, P, Absorption Correction: Integration, Reference (1), 255-270.

(14) Coppens P and Hamilton W C, Anisotropic Extinction Corrections in the Zachariasen Approximation, Acta Crystallographica, Vol A26, 71-83 (1970)

(15) Cromer D T, Mann J B, X-ray Scattering Factors Computed from Numerical Hartree-Fock Wave Functions, Acta Crystallographica, Vol A24, 321-324 (1968)

(16) Dawson, B, Comparison of Atomic Scattering Factors and Mean Radii for the Charge Distribution in Na+, Ne and F- obtained from Hartree-Fock and Poly-detor Calculations, Acta Crystallographica, Vol 14, Issue 11 1117-1120 (November, 1961)

(17) Dawson, B, Aspherical Atomic Scattering Factors for S, S- and Cl, Acta Crystallographica, Vol 14, Issue 12, 1271-1274 (December, 1961)

(18) Debye, P, X-ray Interference and Atomic Size, Physikalische Zeitschrift, Vol 31, 419-428 (1930)

(19) Eichhorn, E L, Refinements of Least-squares and Differential Synthesis Algorithms, Acta Crystallographica, Vol 15, Issue 12 1215-1219, (December 1962)

(20) Forsyth, J B and Wells, M, On an Analytic Approximation to the Atomic Scattering Factor, Acta Crystallographica, Vol 12, 412-415 (1959)

(21) Germain, G, Main, P, Woolfson, M M On the Application of Phase Relationships to Complex Structures. III.The Optimum Use of Phase Relationships, Acta Crystallographica, Vol A27, Issue 4 368-376 (April, 1971)

(22) Hauptman, H and Karle, O Structure Invariants and Seminvariants for Noncentrosymmetric Space Groups, Acta Crystallographica, Vol 9, Issue 1, 45-55 (January 1956)

(23) Hartree, D R, Title, Internationale Tabellen Zur Bestimmung Von Kristallstructuren, Vol 2 Borntraeger (1935), page 571

(24) Heaton, L R and Sidhu, S S, Thermal-Neutron Coherent Scattering Amplitudes of Thallium and Osmium, Physical Review, Vol 105, 216-218 (January 1957)

(25) Hughes, E W, The Crystal Structure of Melamine, Journal of the American Chemical Society, Vol 63, Issue 6. 1737-1752 (June 1941)

(26) Hurst, R P Three-Term Hylleraas-Function Atomic Scattering Factors for the Two-Electron Ions, Acta Crystallographica, Vol 13, Issue 8, 634-638 (August 1960)

(27) Ibers J A, The Relativistic X-ray Form Factor for Mercury, Acta Crystallographica, Vol 11, Issue 6 447 (June 1958)

(28) James, R W, Brindley, G W Title, Philosophical Magazine, Vol 12, Issue 75, 81-112 (1931)

(29) Karle, J and Karle, I L The Symbolic Addition Procedure for Phase Determination for Centrosymmetric and Non-centrosymmetric Crystals, Acta Crystallographica, Vol 21, 849-859 (1966)

(30) Klug H P and Alexander, L E, X-ray Diffraction Procedures, John Wiley and Sons (1954).

(31) Kundell, F A, Svirbely W J and Stewart, J M, Kinetics 68. Program for the Solution of Competitive-consecutive, Second-order Kinetics Reactions, Univ. of Maryland Computer Science Center Technical Report 68-69, (March 1968).

(32) Landon, H H and Sailor, V L, Slow Neutron Resonances in Cesium, Palladium, and Gold, Physical Review, Vol 93, Issue 5, 1030-1033 (March 1954)

(33) Larson, A C, Inclusion of Secondary Extinction in Least-squares Calculations, Acta Crystallographica, Vol 23, Issue 4, 664-665 (October 1967)

(34) Lipson, H and Cochran W, The Crystalline State, Volume 3, The Determination of Crystal Structures, Bell and Sons (1953)

(35) Maslen E N A Method for Allowing for Thermal Anisotropy in Evaluating Wilson Plots and Normalised Structure Factors, Acta Crystallographica, Vol 22, Issue 6, 945-946 (June 1967)

(36) Milne W E, Numerical Calculus, Princeton U. Press, (1949)

(37) Parry G S, A Study of the Atomic Scattering Factor for Aluminium , Acta Crystallographica, Vol 8, Issue 9, 593-594 (September 1955)

(38) Pauling, L and Sherman, J Screening Constants for Many-Electron Atoms - The Calculation and Interpretation of X-ray Term Values, and the Calculation of Atomic Scattering Factors, Zeitschrift fur Kristallographie, Vol 81, 1-29 (1932)

(39) Peterson S W, Anomalous X-Ray Scattering at Wave-lengths far from an Absorption Edge, Nature, Vol 176, Issue 4478, 395 (August 1955)

(40) Qurashi, M M, On the Completion and Extension of the Table of Atomic Scattering Factors Published by Viervoll and Ogrim, Acta Crystallographica, Vol 7, Issue 4, 310-312 (April 1954)

(41) Roof, R B, Experimental Atomic Scattering Factors and Anomalous Dispersion Corrections for Th, U and Pu, Acta Crystallographica, Vol 14, Issue 9, 934-940 (September 1961)

(42) Santoro, A and Zocchi, M, Multiple Diffraction in the Weissenberg Method, Acta Crystallographica, Vol 21, Issue 3 293-297 (September 1966)

(43) Schomaker V, Waser, J, Marsh, R E, Bergmann, G To Fit a Plane or a Line to a Set of Points by Least Squares, Acta Crystallographica, Vol 12, Issue 8, 600-604 (August 1959)

(44) Shull, C G, Wollan, E O, Coherent Scattering Amplitudes as Determined by Neutron Diffraction, Physical Review, Vol 81, 527-535 (February 1951)

(45) Sidhu, S S, Heaton, L, Zauberis, D D, and Campos, F P, Neutron Diffraction Study of Titanium-Zirconium System, Journal of Applied Physics, Vol 27, Issue 9, 1040-1042 (September 1956)

(46) Stewart R F, Davidson, B and Simpson, W T, Coherent X-ray Scattering for the Hydrogen Atom in the Hydrogen Molecule, Journal of Chemical Physics, Vol 42, 3175-3187 (May 1965)

(47) Suzuki, T, Atomic Scattering Factor for O2 , Acta Crystallographica, Vol 13, Issue 3, 279 (March 1960)

(48) Umeda, K and Tomishima, Y On the Influence of the Packing on the Atomic Scattering Factor Based on the Thomas-Fermi Theory Journal of the Physical Society of Japan, Vol 10, Issue 9, 753-758 (September 1955)

(49) van Niekerk, J N and Schoening, F R L An Experimentally Determined Atomic Scattering-factor Curve for Chromium, Acta Crystallographica, Vol 4, Issue 4, 382-383 (1951)

(50) Viervoll, H and Ogrim, O, An Extended Table of Atomic Scattering Factors, Acta Crystallographica, Vol 2, Issue 5, 277-279 (October 1949)

(51) Waser, J, The Lorentz Factor (and Polarization Correction) for the Buerger Precession Method, Review of Scientific Instruments, Vol 22, Issue 8, 563-569 (August 1951)

(52) Womack, C M, Silverman, J N and Matsen, F A Atomic Scattering Factors of Helium-like Systems from Analytic Hartree-Fock Wave Functions, Acta Crystallographica, Vol 14, Issue 7, 744-746 (July 1961)

(53) Wood, R E, Landon, H H and Sailor V L, Parameters for the Neutron Resonance in Gold, Physical Review, Vol 98,Issue 3, 639-645 (May 1955)

(54) Zachariasen, W H,, A General Theory of X-ray Diffraction in Crystals, Acta Crystallographica, Vol 23, Issue 4, 558-564 (October 1967)

(55) Lipson, H and Taylor, C A, Fourier Transforms and X-ray Diffraction, Bell and Sons, (1958)

APPENDIX-1: Contributors to the System

The X-RAY system has been developed over a number of years with contributions from a large number of people. This effort has fallen into three main categories:

  1. System editing: i.e. the writing of the nucleus, maintenance of the programs. the write-up, general organization. and system philosophy decisions
  2. Program writing: without which there would be no need for a system
  3. System implementation: i.e. the responsibility for providing information for making the system run on specific machines and for checkout of new system releases.

Obviously, some program authors have actively contributed in other respects and due acknowledgement of their authorship is given within the program descriptions in section 1 of this write-up.

The affiliation given for each contributor is that appropriate at the time the contribution was made and should not necessarily be considered as current.

System Editors

Baldwin Dr J.C.            Atlas Computer Laboratory
Chastain Dr R.V.           Univ of Washington, Seattle
High Dr D.F.               Univ of Washington, Seattle
Kruger Dr G.J.             CSIR, Pretoria, South Africa
Kundell Dr F.A.            Univ of Maryland
Stewart Prof J.M.          Univ of Maryland

Program Authors

Ammon Prof H.              Univ of Washington, Seattle
Alden Dr R.A.              Univ of Washington, Seattle
Boonstra Dr E.G.           Univ of Orange Free State
Brown Dr B.W.              Portland State College
Braun Dr R.L.              Univ of Washington, Seattle
Busing Dr.W.R.             Oak Ridge National Laboratory
De Camp Dr W.H.            Univ of Maryland
Dickinson Dr C.W.          Naval Ordnance Laboratory
Dayhoff Dr Margaret        Natl. Biomedical Res. Foundation Inc.
Freer Dr S.T.              Univ of Washington, Seattle
Hall Dr S.                 Mineral Sci. Div. E.M.R., Ottawa
Holden Dr J.R.             U. S. Naval Ordnance Lab
Jarski Mrs Mary A.         Univ of Washington, Seattle
Kensen Prof L.             Univ of Washington, Seattle
Keefe Dr W.                Medical College of Virginia
Kerr Dr Ann                Cambridge University, England
Kraut Prof J.              Univ. of California, La Jolla
Lingafelter Prof E.        Univ of Washington, Seattle
Levy Dr H.A.               Oak Ridge National Laboratory
Mauer Mr F.A.              National Bureau of Standards
Mighell Dr A.              National Bureau of Standards
Martin Dr K.O.             Oak Ridge National Laboratory
Plastas Dr Linua           Univ of Maryland
Santoro Dr A.              National Bureau of Standards
Schneider Dr M.L.          Univ of Maryland
Takeda Dr H.               Johns Hopkins Univ
Zocchi Dr M.               National Bureau of Standards

System Implementers

Appleman Dr D.             U. S. Geological Survey       IBM /360 Series
Dickinson Dr Charles       National Ordnance Lab         CDC 6400
Kirchner Dr R.             Univ of Washington, Seattle   CDC 6600
Lenhert Prof P.G.          Vanderbilt Univ               XDS SIGMA 7
Machen Miss Pella          Atlas Computer Laboratory     ICL 1906A
Morosin Dr B.              Sandia Corporation            CDC 6600
Protherough Mr M.          I.C.L./Univ of Surrey         ICL 1900 Series
Snyder Dr R.               M.I.T.                        IBM /360 Series
Thomas Mrs Judith M.       Atlas Computer Laboratory     Atlas
Watenpaugh Dr K.           Univ of Washington, Seattle   CDC 6600
Wolten Dr G.               Aerospace Corp.               CDC 6600

Valuable technical assistance has been given by Miss Jean Willis and Mrs Stefanie Vogel, both of the University of Maryland.

APPENDIX 2: Example Data Decks

In the following example decks, comments concerning deck setuo are include on =REMARK= cards. These decks must be preceded by the job control cards prescribed by your installation.

RESTART
REMARK
REMARK   ********************
REMARK   *                  *
REMARK   *  EXAMPLE DECK 1  *
REMARK   *                  *
REMARK   ********************
REMARK
TITLE   BODY CENTERED ACENTRIC CUBIC TEST CASE 1 OCT 1968 I 4BAR 3 D
REMARK  ASSIGN THE FILE UNITS. THE =RFSTART= CARD CAUSES ALL FILES TO
REMARK  REINITIALIZED TO THE STANDARD ASSIGNMENTS. THE =FILES= CARD IS
REMARK  ONLY NECESSARY IF ANOTHER ASSIGNMENT IS DESIRED.
FILES         8  9       10 11 12 13 14 15
DATRDN I4B3D
REMARK  DATA REDUCTION WILL WRITE THE NEWLY CREATED BINARY DATA FILE ON
REMARK  =NFILEB= WHICH IS UNIT 9 (SEE =FILES= CARD ABOVE).
CELL   I4B3D   11.000  11.000  11.000   .0       .0       .0      1440.
FORMGN S
FORMGN O
FORMGN C
LATICE  A  I
SYMTRY  X,Y,Z
SYMTRY  Z,X,Y
SYMTRY  Y,Z,X
SYMTRY  1/2+X,1/2-Y,-Z
SYMTRY  1/2+Z,1/2-X,-Y
SYMTRY  1/2+Y,1/2-Z,-X
SYMTRY  -X,1/2+Y,1/2-Z
SYMTRY  -Z,1/2+X,1/2-Y
SYMTRY  -Y,1/2+Z,1/2-X
SYMTRY  1/2-X,-Y,1/2+Z
SYMTRY  1/2-Z,-X,1/2+Y
SYMTRY  1/2-Y,-Z,1/2+X
SYMTRY  1/4+X,1/4+Z,1/4+Y
SYMTRY  1/4+Y,1/4+X,1/4+Z
SYMTRY  1/4+Z,1/4+Y,1/4+X
SYMTRY  3/4+X,1/4-Z,3/4-Y
SYMTRY  3/4+Y,1/4-X,3/4-Z
SYMTRY  3/4+Z,1/4-Y,3/4-X
SYMTRY  3/4-X,3/4+Z,1/4-Y
SYMTRY  3/4-Y,3/4+X,1/4-Z
SYMTRY  3/4-Z,3/4+Y,1/4-X
SYMTRY  1/4-X,3/4-Z,3/4+Y
SYMTRY  1/4-Y,3/4-X,3/4+Z
SYMTRY  1/4-Z,3/4-Y,3/4+X
CONDIT I4B3D  1.5418   1.0    0.0      1   9  2
HKL    I4B3D   4  0  0     1  1   12.43
HKL    I4B3D   8  0  0     1  1   54.42
HKL    I4B3D  12  0  0     1  1   12.20
HKL    I4B3D   3  1  0     1  1   23.91
HKL    I4B3D   5  1  0     1  1   68.88
HKL    I4B3D   7  1  0     1  1   71.27
HKL    I4B3D   9  1  0     1  1    9.49
HKL    I4B3D  11  1  0     1  1   43.52
HKL    I4B3D   2  2  0     1  1   61.46
HKL    I4B3D   4  2  0     1  1   17.72
HKL    I4B3D   6  2  0     1  1   45.26
HKL    I4B3D   8  2  0     1  1   14.90
HKL    I4B3D  10  2  0     1  1   30.40
HKL    I4B3D   2  1  1     1  1  132.01
HKL    I4B3D   6  1  1     1  1  175.82
HKL    I4B3D  10  1  1     1  1   40.88
HKL    I4B3D   2  4  2     1  1  193.88
HKL    I4B3D   6  4  2     1  1   67.02
HKL    I4B3D   8  4  2     1  1   61.48
HKL    I4B3D   3  2  1     1  1  132.40
HKL    I4B3D   5  2  1     1  1   75.62
HKL    I4B3D   7  2  1     1  1   29.70
HKL    I4B3D   9  2  1     1  1   99.31
HKL    I4B3D   3  4  1     1  1   73.35
HKL    I4B3D   5  4  1     1  1  128.42
HKL    I4B3D   7  4  1     1  1   47.24
HKL    I4B3D   3  6  1     1  1   80.91
HKL    I4B3D   1  6  1     1  1  170.20
HKL    I4B3D   5  6  1     1  1   40.91
HKL    I4B3D   3  8  1     1  1   89.68
HKL    I4B3D   3  3  2     1  1  193.73
HKL    I4B3D   5  5  2     1  1   81.95
HKL    I4B3D   4  4  4     1  1  112.97
END
REMARK  AFTER EACH PROGRAM CALL, =NFILEA=, NO =NFILEB= ARE EXCHANGED,
REMARK  CONSEQUENTLY, IN ThE NEXT PROGRAM, WHICH HAPPENS TO BE =LOADAT=,
REMARK  =NFILEA= IS UNIT 9 AND =NFILEB= IS UNIT 8,  NOTE, IF EVERY
REMARK  PROGRAM IN THE SEQUENCE UPDATES THE BINARY DATA FILE, AND USES
REMARK  MANIPULATION OF =NFILEA= AND =NFILEB= IS NECESSARY.
LOADAT I4B3D                1    1
ATOM   S        .1210   .1690   .3010 2.1        .001    .001    .001
ATOM   O    1  -.005    .000    .250  2.8        .002    
ATOM   O    2   .3750   .0000   .2500 2.8        
ATOM   C        .258    .258    .258  3.0        .005    .005    .005
END
REMARK  =NFILEA= AND =NFILEB= ARE AGAIN EXCHANGED.  CONSEQUENTLY, THE
REMARK  =FC= PROGRAM WILL USE UNIT 8 FOR =NFILEA= AND UNIT 9 FOR
REMARK  =NFILEB=.
FC     I4B3D  1 1
END
REMARK  =NFILEA= AND =NFILEB= ARE AGAIN EXCHANGED.
FOURR  I4B3D            4    100.
GRID   I4B3D   30  30  30
LAYOUT I4B3D    3   3   1   3   4   1   3   8   1 123  30 2
END
REMARK  A =FINISH= CARD IS ALWAYS THE LAST DATA CARD IN A DECK.  IF
REMARK  ANOTHER JOB (NOT RELATED TO THIS JOB) IS TO BE RUN NOW THE
REMARK  =FINISH= CARD IS REPLACED BY A =RESTART= CARD.
FINISH
RESTART
REMARK
REMARK   ********************
REMARK   *                  *
REMARK   *  EXAMPLE DECK 2  *
REMARK   *                  *
REMARK   ********************
REMARK
REMARK  THIS SAMPLE DATA DECK WILL ILLUSTRATE A SIMOPLE PROGRAM SEQUENCE
REMARK  WHERE A =FILES= CARD IS NECESSARY.
TITLE   BODY CENTERED ACENTRIC CUBIC TEST CASE 1 OCT 1968 I 4BAR 3 D
FILES         8  9       10 11 12 13 14 15
DATRDN I4B3D
CELL   I4B3D   11.000  11.000  11.000   .0       .0       .0      1440.
FORMGN S
FORMGN O
FORMGN C
LATICE  A  I
SYMTRY  X,Y,Z
SYMTRY  Z,X,Y
SYMTRY  Y,Z,X
SYMTRY  1/2+X,1/2-Y,-Z
SYMTRY  1/2+Z,1/2-X,-Y
SYMTRY  1/2+Y,1/2-Z,-X
SYMTRY  -X,1/2+Y,1/2-Z
SYMTRY  -Z,1/2+X,1/2-Y
SYMTRY  -Y,1/2+Z,1/2-X
SYMTRY  1/2-X,-Y,1/2+Z
SYMTRY  1/2-Z,-X,1/2+Y
SYMTRY  1/2-Y,-Z,1/2+X
SYMTRY  1/4+X,1/4+Z,1/4+Y
SYMTRY  1/4+Y,1/4+X,1/4+Z
SYMTRY  1/4+Z,1/4+Y,1/4+X
SYMTRY  3/4+X,1/4-Z,3/4-Y
SYMTRY  3/4+Y,1/4-X,3/4-Z
SYMTRY  3/4+Z,1/4-Y,3/4-X
SYMTRY  3/4-X,3/4+Z,1/4-Y
SYMTRY  3/4-Y,3/4+X,1/4-Z
SYMTRY  3/4-Z,3/4+Y,1/4-X
SYMTRY  1/4-X,3/4-Z,3/4+Y
SYMTRY  1/4-Y,3/4-X,3/4+Z
SYMTRY  1/4-Z,3/4-Y,3/4+X
CONDIT I4B3D  1.5418   1.0    0.0      1   9  2
HKL    I4B3D   4  0  0     1  1   12.43
*****INSERT THE REMAINING REFLECTIONS*****
END
LOADAT I4B3D                1    1
ATOM   S        .1210   .1690   .3010 2.1        .001    .001    .001
ATOM   O    1  -.005    .000    .250  2.8        .002    
ATOM   O    2   .3750   .0000   .2500 2.8        
ATOM   C        .258    .258    .258  3.0        .005    .005    .005
END
CRYLSQ I4B3D      1     1       3
END
FOURR  I4B3D            4    100.
GRID   I4B3D   30  30  30
LAYOUT I4B3D    3   3   1   3   4   1   3   8   1 123  30 2
END
REMARK  THE FOURIER PROGRAM DOES NOT WRITE =NFILEB=, CONSEQUENTLY WE DO
REMARK  NOT WANT =NFILEA= AND =NFILEB= EXCHANGED. BUT WHICH UNIT DO WE
REMARK  WANT THE =BUNDLA= PROGRAM TO READ... =DATRDN= WROTE ON UNIT 9,
REMARK  ==LOADAT= WROTE ON UNIT 8, AND=CRYLSQ= WROTE ON UNIT 9,
REMARK  =BONDLA= TO TREAT THE =CRYLSQ= RESULTS, THUS WE WANT =NFILEA=
REMARK  TO BE UNIT 9.
FILES         9  8
BONDLA I4B3D         4.5  2.5
END
FINISH
RESTART
REMARK
REMARK   ********************
REMARK   *                  *
REMARK   *  EXAMPLE DECK 3  *
REMARK   *                  *
REMARK   ********************
REMARK
TITLE  SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID/ 1108 TEST OF PHASE
REMARK  THIS EXAMPLE DECK ILLUSTRATES FEATURES WHICH WERE NOT
REMARK  ILLUSTRATED IN THE ABOVE EXAMPLES. THE FEATURES ARE,
REMARK         (1) USE OF SCRATCH FILES.
REMARK         (2) REFLECTION INFORMATION IN NON-STANDARD FORMAT.
REMARK         (3) REFLECTION INPUT FROM TAPE.
REMARK  IN THE PREVIOUS EXAMPLES ONLY =NFILEA= AND =NFILEB= WERE USED.
REMARK  IN THIS EXAMPLE =PHASE= SCRATCHES ON =NFILEF= AND =NFILEG=
REMARK  IN ADDITION THE REFLECTIONS ARE TO BE READ ON =NFILEI=.
REMARK  TO CONSERVE THE NUMBER OF UNITS REQUIRED =NFILEH= AND =NFILEG=
REMARK  WILL BE ASSIGNED THE SAME VALUE. =NFILEI= WILL BE ASSIGNED TO
REMARK  THE NORMAL CARD INPUT UNIT WHICH WILL ENABLE THE READING OF
REMARK  CARDS WHICH DO NOT HAVE EITHER =HKL   = OR =      = IN THE
REMARK  FIRST SIX COLUMNS. IT SHOULD BE NOTED THAT ANY UNIT COULD BE
REMARK  USED FOR =NFILEI =, IF THE REFLECTIONS ARE ON TAPE AS CARD IMAGES
REMARK  AND IF THE TAPE IS MOUNTED ON =NFILEI=.
DATRDN SALY
LABEL  SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID DATA FOR TEST PURPOSES
CELL   SALY    11.52   11.21   4.92     0.0     -0.01454      0.0   288.0
CELLSQ SALY    .012     .011   .005     0.0       .0005    0.0
FORMGN O
FORMGN C
FORMGN H
LATICE  C  P
SYMTRY   X,Y,Z
SYMTRY   X+1/2,1/2-Y,Z
CONDIT SALY   1.5418   1.0    0.0      1   9  2  0  0  1
FORMAT(3(I3,1X),F9.2)
REFIN   1            -10  5  4 IH IK IL FR
REMARK  THE REFLECTION ARE ON =NFILEI= IN THE FOLLOWING FORMAT.
REMARK     COLUMNS 000000000111111111122222222223
REMARK             123456789012345678901234567890
REMARK
REMARK               0,  2,  0,    18.70
REMARK               0,  4,  0,    25.00
REMARK               0,  6,  0,    13.30
REMARK             .....................
REMARK             -10,  2,  4,     6.90
REMARK             -10,  5,  4,     4.90
REMARK
END
NORMSF SALY                     0.65
CELCON O       12 15.999
CELCON C       28 12.01
CELCON H       24  1.008
END
SINGEN SALY  1            1.3
TITLE  SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID N=80 ORIGIN DEFINED
PHASE  SALY              15  80  0.75   1.3        5
END
FINISH

APPENDIX 3: Distribution of the System

The X-RAY system is distributed on magnetic tape, and a user wishing to have a copy should write for details to:

                 Prof. J.M. Stewart,
                 Computer Science Center,
                 University of Maryland,
                 College Park,
                 Maryland, 20/42.

Because of the significant amount of machine time involved in preparing tapes in all the various formats to suit many different machines, the system will not be copied onto a user's own magnetic tape. Instead, a prospective user will be invited to purchase a new tape containing a copy of the system suitable for his own machine at a price which covers the cost of the tape, the computer time spent in its preparation, and the postal charges incurred.

The various formats available will probably change from time to time in the light of experience and in an attempt to keep pace with hardware available from the manufacturers.

Currently, however, the tapes distributed to users contain card images (possibly conveniently blocked together) of:

     1. The Fortran statements comprising the system
     2. The Write-up Material
     3. Test Data Decks

The following list represents the computers on which the X-RAY system has been successfully implemented.

   CDC     6600
           6400
           3600
           1604
   IBM     7094
           360/195
           360/75
           360/65
           360/50
           360/40
   UNIVAC  1108      Using EXEC 2 or EXEC *
   XDS     SIGMA 7
   ICL     ATLAS

APPENDIX 4: Pidgin FORTRAN

In order to produce programs which are to be implemented on a large number of computers, one must avoid machine language altogether and make use of a commonly available higher level programming language. Only two languages can currently be considered as such, and for historical reasons, Fortran was chosen for the X-RAY system rather than Algol.

Even though there is now a well defined standard USA FORTRAN IV, it can be very useful if scientists consider most carefully the way in which they write routines which are to be used many times. It would appear that the various computer manufacturers have taken somes pains to frustrate the interchangeability of programs and evade the the spirit of the agreed standards. In addition, as more esoteric Fortran statements are added to the compilers, the programmer has a real curiosity to apply these statements, regardless of their efficiency or generality.

In order to define Pidgin Fortran, a study was made of the various Fortran compilers and monitors (or executives or operating systems) available on the principal computers in the United States. Included were the Univac 1107 and 1108, CDC 1604. 3600, 6100, and 6600, XDS Sigma 5 and Sigma 7, Burroughs 5500. and IBM 7040, 7090, 7094, and the models 40, 50, 65, and 75 of the System /360. In every case, these computers had a Fortran capability. In no case were the Fortran compilers of different manufacturers identical in the statements they would accept, and sometimes even one manufacturer would provide incompatible compilers for his different machines. In audition to the problem of the consistency of the statements, the problem of the efficiency of the machine code generated by any given compiler was also considered.

From this study, we define a subset of Fortran statements as the vocabulary of Pidgin Fortran. This vocabulary is derived not only to be universally acceptable, but moreover to be transparent to the compiler. When programs are to be used for scientific calculations which have to be executed repeatedly, it is desirable to attempt to produce Fortran code which matches the efficiency of machine code. If one uses very general or elegant Fortran statements, the compiler writer is constrained to produce very general machine code. Therefore, Pidgin Fortran requires that the statements made be such that the code compiled will be similar to that which one would write in machine language. The gain in using Pidgin Fortran is then the shortened checkout time, the efficiency of coding, and the many compiler diagnostics and cross checks. The liability is the failure to take advantage of the full power of the Fortran language.

It must be recognized that there is a basic similarity in the command structures of all the machines available in the marketplace today. For example, most have single register indexing so that three dimensional arrays require that the compiler must develop a fairly complex set of commands for the retrieval and storage of triply subscripted variables. Therefore, in coding large well used arrays, it is best to use one dimensional arrays and calculate or set up the correct subscript by means of integer arithmetic statements. The Fortran statements required look much less compact and elegant than when triply dimensioned arrays are used, but three benefits are derived from the use of single subscripts.

Firstly, efficiency and speed are enhanced since only one index register is required and use can be made of pointer tables. Secondly, storage allocation is easily changed to allow for differences in the availability of high speed storage. Thirdly, data can be packed rather than scattered around the store.

The overheads associated with calling sequences are often considerable, especially for subprograms which are called frequently. For this reason the use of arguments is avoided wherever possible and COMMON storage is used for intercommunication.

In Pidgin Fortran, it seems best to observe the Fortran II convention with respect to I, J, K, L, M, and N being initial letters for integer or Hollerith variables. This may seem an anachronism, but the difficulty with the type statement is that the actual purpose of the variables becomes obscure. When a number of people are working to produce a system, it is a help to have a certain stylization in the choice of variable names. In addition, in Pidgin Fortran, one avoids the use of mixed expressions on the right hand side of an arithmetic assignment. That is to say

      I=F
and
      F=I
are both permitted, but never
      I=F*J
In this case, one would always write
      I=F*FLOAT(J)

The following definition of Pidgin Fortran is made by comparison with the USA Fortran IV standard. Sections of the standard which are observed are not mentioned unless of special significance, i.e. the following list contains the differences between Pidgin Fortran and the USA standard.

Section of
USA Standard
Pidgin Fortran
3.1 Note the restricted character set.
3.2 Columns 73-80 are used for sequencing (and updating).
4.2 The types complex and logical are not used. Double precision is not normally used except as demanded by the machine or the calculation.
5.1.3.3 Note the restricted subscript expressions.
6.2 Relational expressions (e.g. .LT. .EQ.) are not used.
6.3 Logical expressions (.OR. .AND. .NOT.) are not used.
7.1.1.2 Logical assignment statements are not used.
7.1.2.3 Logical if statement is not used.
7.1.2.4 Where possible, arguments are passed to subroutines through COMMON storage.
7.1.2.7.1 STOP is used only once in the system.
7.1.2.7.2 PAUSE is not used.
7.1.3 The system use of READ and WRITE is described below.
7.1.3.1.1 An array name is not used to specify all of the elements of an array - implied DO is used instead.
7.1.3.2 For the auxiliary I/O statements REWIND, ENDFILE, and BACKSPACE, see below.
7.1.3.3 + is not used as carriage control.
7.2.1.1 Multiple subscripts are often avoided (see above).
7.2.1.1.2 Adjustable dimensions are not used.
7.2.1.3 Blank COMMON storage is not used.
7.2.1.4 Note that the system relies on a one-to-one correspondence between REAL and INTEGER arrays by use of equivalence. ***** Note this well for machines which use different numbers of words of storage for REAL and INTEGER variables. ******
7.2.1.5 EXTERNAL statements are not used.
7.2.1.6 TYPE statements are not used.
7.2.3.1 The following are the only field descriptors used: F, E(output only), I, A, H(output only), and X.
7.2.3.5 SCALE factors are not used.
7.2.3.10 Format specifications in arrays are heavily used.
8. Note the absence of both multiple entry point subprograms and of internal subprograms.
8.1 Statement functions are not used.
8.5 Block data subprograms are not used.
10.2.5 Data initialization is not used for variables in COMMON storage.

All Input/Output is handled through:

      READ(UNIT,FMT) LIST
and
      WRITE(UNIT,FMT) LIST

Within the body of the programs, only three different logical units are referenced. these correspond to:

  1. The input buffer containing the image of the last card read from the input stream, i.e. a buffer re-read or decode
  2. The line printer output
  3. The card punch output

All other input and output operations are placed in special subroutines as:

      WRITE(N)
      READ(N)
      REWIND N
      ENDFILE N

BACKSPACE N is never used.

In addition to the Pidgin Fortran statements outlined above, there are three other special features that the system uses:

  1. Re-read capability
  2. An overlay, or chain, feature
  3. Access to the change time clock register.

Depending upon the installation or the manufacturer, these requirements may be simple or complex to implement.

In the case of the re-reading feature, communication among the manufacturers seems non-existent. Univac, for example, features re-read through the:

      READ(UNIT,FMT)LIST

command, in which the unit designated is simply a logical unit specifying the buffer of the most recently read card. CDC has a novel feature which is now becoming available from other manufacturers. It is the DECODE statement which implies bypassing the actual physical movement of the logical unit and processing immediately to the decimal to binary or decode operation. The DECODE command and the re-read as used in the Univac sense have a one to one correspondence. IBM for the 360 seems never to have heard of the READ(UNIT,FMT)LIST feature, even though it was implemented on the IBM 7090 computer. The re-read or decode feature is such a powerful command that it should be implemented on all machines. One very sad thing to note is that Univac has now implemented a decode command in their fFORTRAN V which is incompatible with the CDC version.

An alternative ploy can be used in the absence of the re-read facility. This involves writing the input card image onto a scratchpad area, e.g. a disc, immediately after reading. Subsequent re-read statements can then become genuine reads of that card image and must be followed always by a suitable call of the organizational routines in the nucleus to rewind the scratch unit. It should be realized that this is an inferior method due to the increased I/O activity invoked.)

To deal with codes of the magnitude of the X-RAY system, there must be available an overlay scheme - some method which makes it possible to segment programs appropriately. Since there are various ways in which this is achieved on various machines, a large scale calculation must have a very simplified overlay structure. It is clear that the condition of flow, in the IBM sense, must not be violated. or great difficulty will ensue. Therefore, all calls to subroutines which constitute a call for an overlay are made from the resident program (the nucleus). No calls are made between different segments. This means that if overlay is not available, as it is not on some of the CDC machines nor the IBM 7010, one can still use chain in the programming process. The best systems now available permit one to make an absolute load module of all of the overlays and this then gives one a working system that can be loaded and executed at any time.

In summary. an effort has been made to write stylized code that will compile, load, and go readily on all common computers. Certain restrictions of Fortran have bten observed but this is done to enhance execution performance and permit modification and expansion of programs within the system.

APPENDIX 5: The Structure of the System

Although details of the system structure are of little importance once it is running on a given machine, the following notes should prove to be of assistance to those who undertake its initial implementation. Moreover, they should be considered as fundamental reading for anyone who wishes to add to or modify any of the programs.

The routines themselves are extensively commented and the comments should be read carefully, particularly the glossaries of symbols and the long descriptions given in the nucleus programs.

As mentioned in the preface, the system comprises two distinct groups of programs. notably the nucleus and the diffraction calculations.

The nucleus comprises a set of routines, most of which remain in core throughout the execution of a job (subject to the whims and fancies of the core scheduler of the operating system). These routines provide the means of recognizing operation and program calling cards, taking any necessary action upon them, and providing general file handling capabilities. Thus, all reading and writing and movement of files is done by the nucleus. Furthermore, an attempt has been made to concentrate all machine specificity within the nucleus, and in particular within one routine, NUSY.

The diffraction programs are organized as overlays and called into high speed core only as required. It is these routines which perform the crystallography calculations, leaving all the housekeeping functions to calls of nucleus routines. In point of fact, the diffraction programs could easily be replaced by any other group of programs performing calculations of a completely different nature. There actually exists another system, Kinetics 68 which uses the very same nucleus to organize a series of calculations used in reaction kinetics work.

The X-RAY system adopts a standard method of nomenclature for its routines. Each routine has an entry point, e.g. NUC006, and a corresponding name, i.e. NUSY. The entry points are all either NUCDDD or XRYDDD, where DDD represents three arbitrarily assigned digits. The prefix indicates whether or not they belong to the nucleus. The names used for nucleus programs are all NUMM, where MM is a suitable choice of alphabetic characters. Thus NUSY is the routine in which all system machine specific quantities are set. The principal subroutine of a diffraction program overlay is always named XYMM, e.g. XYBN, the main routine of =BONDLA=. Other subroutines of the overlay are correspondingly named MMNN, such as BNSY, the subroutine of =BONDLA= concerned with symmetry.

The following symbolic representation of the structure of the system should clarify the relationship between the nucleus and other programs. Remember that, each time a new overlay is brought into store, the core occupied by the previous overlay is re-used. (in order to be more easily readable, this diagram exaggerates the space occupied by the nucleus.)

                     I
ALWAYS CORE RESIDENT I           ONLY RESIDENT WHEN REQUIRED
                     I

  /   /   /   /   /  I
 /   /   /   /   /   I..................
/   /   /   /   /   /I..................
   /  NUCLEUS/ /     I..STORAGE ARRAYS..
  /     AND       /  I..      FOR     ..----------------------
 /    SYSTEM     /   I..     FIRST    ..----------------------
/     STORAGE   /   /I.. DIFFRACTION  ..--  OVERLAY OF CODE --
      ARRAYS   /   / I..   PROGRAM    ..-- FOR DIFFRACTION  --
  /           /   /  I..................--    PROGRAM 1     --
 /   /   /   /   /   I..................----------------------
/   /   /   /   /   /I..................----------------------
   /   /   /   /   / I
  /   /   /   /   /  I*************                            ) Example of
 /   /   /   /   /   I** STORAGE **                            ) more than
/   /   /   /   /   /I** ARRAYS  **............................) one overlay
   /   /   /   /   / I**   FOR   **........OVERLAY 1 ......... ) of code for
  /   /   /   /   /  I*DIFFRACTION*........................... ) a single
 /   /   /   /   /   I** PROGRAM **---------------             ) program link
/   /   /   /   /   /I**    2    **- OVERLAY 2 ---             ) such as
   /   /   /   /   / I*************---------------             ) =DATRDN=
  /   /   /   /   /  I

Each of the overlays (and there may be more than one for any given diffraction program) is called into high speed storage by the nucleus.

The whole point of using an overlay structure is because of the limit of the availability of high speed storage. Moreover, there is no need for say, the =BONDLA= routines to be in store during a Fourier run.

The following is a summary of the functions of the various routines comprising the nucleus.

**** NUCLEUS - a set of subroutines used throughout the X-RAY system

Entry Point DECKNAME Description
NUC000 NUCO Main and sign on routine. This is the main program of the X-RAY system. The system COMMON is initialized by a call to NUSY and then control is turned over to NUCA. Comments within this routine list all of the other subroutines of the system.
NUC001 NUCA Program calling routine. This is tht principal subroutine of the system. It directs the loading of all the overlays and is their principal return. It permits the user to direct the sequence of his job by means of the data input stream. It is interesting to note that control is maintained as long as there are no invalid input card punchings.
NUC002 NUIF Card reading and sifting routine, Itserves to screen all input data, operation. and program calling cards. It loads every card into a buffer and then checks to find the identification in cols 1-6. The routine carries out named operations such as printing remarks and establishing page titles, or else sets an indicator for the calling program to show which type of card was encountered. In the event of the card being unidentifiable, a standard message is printed which might aid the user. It also operates with the error message silenced to check for a match of information on a word by word basis. This subroutine must be used by every other subprogram which reads cards. *****Note well***** it depends absolutely on the availability of a re-read (buffer reading or decoding) facility.
NUC003 NUSS Is used to separate the atom identification from the scattering factor type.
NUC005 NULI Line count and pagination routine. Provides a means to all subprograms of the system to decrement the line count for neat pagination. It also serves to signal any program when a new page is written so that that program can write any necessary subheading.
NUC006 NUSY System Initialization Routine. This routine is called from only two places - one in NUCO and one in NUCA (on encountering a =RESTART= card). It serves to establish correct values for the quantities stored in the named common area /SYS/ to which all the subroutines which read or write files refer. It is important to scan the definitions given and to realize that the quantities set by this routine are the ones which are machine and computer laboratory specific. In general, no execution of the system will be possible unless the quantities in the system common are set properly.
NUC007 NURE File reposition and unload or interlock routine. It constitutes the file handling function rewind, endfile. and unload (interlock, unload). No subroutine of the system except this one may contain these instructions. ****Note well **** this is an absolute prohibition.
NUC008 NUTI Interval time printing routine of the system - requires a machine specific time routine.
NUC009 NUON File initialization routine: (reads and prints) or (reads, prints, and updates) the very first history record of the binary data file. It is utilized by every subprogram which manipulates the crystallographic binary data file.
NUC010 NUTC File record copying routine
NUC011 NUTR File reading routine
NUC012 NURF File writing routine
NUC013 NUWU File record unpacking routine
The following NUCLEUS programs are actually overlays and not kept in immediate access storage at all times.
NUC501 NUWU Write-uo generating routine
NUC801 NUTD File dumping routine: a program to dump or copy the binary data file.
NUC999 NUCZ General diagnostic record

Programming Conventions used within the System

To be a subroutine of the nucleus programs, a Fortran program must meet the following specifications. The details of which are given in the designated programs.

  1. All input from cards must be made by reference to NUIF(NUC002) followed by the appropriate re-reading of the input card buffer.
  2. All reading and writing of mass storage devices and output to printers must be done through general unit designations as outlined in NUSY(NUC006).
  3. Every time a line is sent to the line printer (Unit =NTOUT=), the function NULI(NUC005) must be used.
  4. Main overlay segments must be entered properly into NUCA(NUC001) and recognition of calling cards established there.
  5. All card formats should conform to the existing system conventions.
  6. Crystallographic quantities should be drawn from the binary data file rather than cards wherever possible.
  7. Any quantity in the file that is changed or modified by a program link should be entered into the file and all, repeat all, the rest must be copied and preserved.
  8. Any quantities destined for a binary data file should be handled by the buffering system used in NUTR(NUC011) and NUTW(NUC012).
  9. Whenever possible, use should be made of one-dimensional arrays as described under Pidgin Fortran.
  10. Every subprogram must be adequately commented and compare with, for example, the code of =CRYLSQ=).
  11. Every program must recognize an =END= card.

The preceding synopsis of the organization of the X-RAY system is intended as an introduction to the extensive comments included in the Fortran coding itself.

In order to help users understand the limitations and applications of the X-RAY system, it may be of some use to list the objectives of the system's programmers.

  1. All programs must be as machine independent as practicable and, when necessary, machine specificity should be clearly marked as such.
  2. All data formats and methods of input/output must be as similar as possible.
  3. Treatment of data must be general with respect to symmetry, setting, amount of data, number of parameters, and ease of use.
  4. All of the coding for crystallography and monitoring must be. carefully commented and organized in order to be prepared for any major changes in compilers and computers.
  5. All programs must be carefully described so that crystallographers may make full use of them without recourse to reprogramming or program modification except for very special problems.
  6. The bulk storage data sets must be carefully defined in an open ended manner so that changes and additions are possible.
  7. The coding requirements for adding new programs links to the system, either a priori or from existing programs which become available, must be straightforward and simple.
  8. All programs, whether crystallographic or nucleus, should give useful information to help the crystallographer analyze and correct errors in his procedure or data.

It should be emphasized that these are objectives and that they are not fully realised in the present codes.

APPENDIX 6: The Format of the Binary Data File

Each arbitrary class of crystallographic and accounting data has a place in the file. The assignment of this place is fixed and therefore it is important that the utmost caution be exercised in changing and updating it. One basic tenet, and the most important one, is that no program of the system which copies the file loses any information. It may add some or it may supersede some but it saves and copies all the rest.

In order to facilitate the maintenance of the data file, the system has five subroutines NUC009 to NUC013. NUC009 serves to sign on the reading and writing of a binary data file. NUC010 is to copy specified logical records of a file. NUC011 is to read a record of a file and NUC012 to write one. NUC0013 is for unbuffering packed logical records (e.g., atom parameters. reflections). All heading and writing is done from a labeled common array called IOBUF with label/IO/. This array is IOBMX words long and the first four words serve to characterize the record. Records in the file are always less than IOBMX words long because of the limitation on lIOBUF. Provision has been made, however, for any number of physical records to form a logical record. The main burden in any program is the reforming of long arrays from IOBUF into their proper place in storage. IOBUF (1) to (4> are equivalent to IOBUF1 to IOBUF4 for ease of programming of IO statements. These words are used for control and have the following significance.

WORD 1
Is the count of all of the words in the physical record. for; example, the read in NUC011:
      READ(N) IOBUF1,(IOBUF(J),J=2,IOBUF1)
while in NUC012 it says:
      WRITE(N) (IOBUF(J),J=1,IOBUF1)
WORD 2
Is the signal that there are more physical records in this logical record. Zero means last, non-zero means that there are more to follow. When there are more than one physical record in a logical record Word 2 is sequential l,2,3,4, etc. until the last physical record where Word 2 is zero as it is for all single physical record per logical record cases.
WORD 3
Is the identification of the logical record type. This is checked by NUC011 and the quit flag set to 1 if any given record is missing. These are the integers 1 to MAXREC. MAXREC is the X-RAY end-of-file mark and is treated as such by the file handling programs.
WORD 4
Is the number of words per block in a blocked record (e.g. the number of words per reflection in logical record 15). In those logical records which are not blocked, it is set equal to zero. This word is used as a stepping constant by the function subroutine NUC013. When called, this subroutine returns an integer pointer which points to the word prior to the first word in the next block of information. The first block in the case of the initial call. In the subsequent description, blocks of information will be noted as such and their structure given relative to the NUC013 pointer IP. (e.g. IP+1 would be the first word in a block of information). NUC013 can only be used for unloading or updating logical records which are totally blocked. However, since the pointer notation is convenient, all blocked information will be listed relative to this construction.

General Format of the Binary Data File

Logical 
Record     Contents

   1       History Record
   2       Not defined
   3       Cell constants
   4       Symmetry information
   5       Not defined
   6       Scattering and dispersion factors, cell constants, and atomic density information
   7       Scale factors and overall temperature factor
   8       Absorption information, crystal size and orientation
   9       Miscellaneous information for keying programs
  10       Atomic parameters
  11       Standard deviations of atomic parameters
  12       Refinement constraints
  13       Not defined
  14       Not defined
  15       Reflection information
  16       Not defined
  17       Fourier output
  18       Not defined
  19       Not defined
  20       =SINGEN= miscellaneous information
  21       Normalized structure factors and related information (to be phased)
  22       Triple products
  23       Starting phases for =TANGEN= written by =SOLVE= link of =APHASE=
  24       Averages (=APHASE= scratch file)
  25       End-of-file signal (MAXREC, set in NUSY)

Structure of the Binary Data File

Logical 
Record 1     History
 Words
 5 to  6     Compound identification code (A5 A2,A4)
 
 7 to 22     File label. This can be initialized
             or replaced by programs =DATRDN= and =LOADAT=
             
23 to end    Names of all programs which have updated
             the binary data file. This history is updated
             by NUC009
Logical 
Record 2     Dummy Record

Logical 
Record 3     Cell Constants
 Words
  5          Metric tensor element 1,1  A**2
  6          Metric tensor element 1,2  A*B*COS(GAMMA) 
  7          Metric tensor element 1,3  A*C*COS(BETA)
  8          Metric tensor element 2,1  A*B*COS(GAMMA)
  9          Metric tensor element 2,2  B**2
 10          Metric tensor element 2,3  B*C*COS(ALPHA)
 11          Metric tensor element 3,1  A*C*COS(BETA)
 12          Metric tensor element 3,2  B*C*COS(ALPHA)
 13          Metric tensor element 3,3  C**2
14-22        The reciprocal metric tensor
 23          A
 24          B
 25          C
 26          COS(ALPHA)
 27          COS(BETA)
 28          COS(GAMMA)
 29          A*
 30          B*
 31          C*
 32          COS(ALPHA*)
 33          COS(BETA*)
 34          COS(GAMMA*)
35-43        Transformation matrix from fractional
             coordinates to orthogonal angstrom coordinates
44-52        Transformation matrix from Miller indices
             to orthogonal pseudo-Miller indices
 53          Not used
 54          Cell volume
 55          Reciprocal cell volume
56-61        Coefficients used in the  calculation of the
             square of SIN(THETA)/LAMBDA from any H, K, L
               C1*H*H+C2*K*K+C3*L*L +C4*H*K=C5*H*L+C6*K*L
 62          SIN(ALPHA)
 63          SIN(BETA)
 64          SIN(GAMMA)
 65          SIN(ALPHA*)
 66          SIN(BETA*)
 67          SIN(GAMMA*)
 68          ALPHA in degrees
 69          BETA in degrees
 70          GAMMA in degrees
 71          ALPHA* in reciprocal degrees
 72          BETA* in reciprocal degrees
 73          GAMMA* in reciprocal degrees
74-76        Standard deviation in A, B, and C
77-79        Standard deviation in COS(ALPHA), COS(BETA) and COS(GAMMA)

Logical 
Record 4     Symmetry Information
 Words       Contents
  5          Integer code to indicate lattice type
               Lattice type   P  I  R  F  A  B  C
               Acentric       1  2  3  4  5  6  7
               Centric        8  9 10 11 12 13 14
  6          (0)/(1) for (Acentric)/(Centric)
  7          Number of =SYMTRY= cards supplied at
             =DATRDN= time hence number of rotation
             matrices
  8          Number of rotation matrices of identical
             pattern of zeros
  9          Factor to multiply A and B to place FC on
             scale of Int. Tables Vol I.
             Accounts for multiplicity due to the lattice
             type given in Word 5
Relative 
Words
IP+1-IP+32  Symmetry operations as rotation matrices
            and translation vectors in order
             R11,R12,R13,R21,R22,R23,R31,R32,R33,
             T1,T2,T3
             There may  be more than one physical record
             in this logical record. IP+1 is 10 for
             the first entry of the first physical
             record. IP+1 is 5 for first entries of
             subsequent physical records.

Logical 
Record 5     Dummy record

Logical 
Record 6     Scattering and Dispersion Factors, Cell Contents
             and Atom Identity Information
 Words       Contents
  5          F(000)
  6          E(000)
  7          The number of different atom types in
             this record

Relative     Scattering and Dispersion Factor Block
Words        (Variable Length, repeated for each Atom Type)

IP+1         Atom type (A4)
IP+2         Unused
IP+3         Number entries in the scattering factor table for this atom type(N)
IP+4         Number of atoms for given scattering curve
IP+5         Atomic weight for given scattering curve
IP+6         (0)/(1) Templeton dispersion information
             (not present)/(present) in file for this atom type
IP+7         Real part of Templeton dispersion factor
IP+8         Imaginary part of Templeton dispersion factor
IP+9 -IP+8+N SIN(THETA)/LAMBDA entries
IP+9+N-IP+8+2N Actual scattering factors at values of
               SIN(THETA)/LAMBDA given in N words preceding.
              There may be more than one physical record
              in this logical record. In the first
              physical record the initial value of IP+1 is 8
              whereas in subsequent physical records the
              vale is 5. The structure of this record is
              an anachronism, but we don't hate it enough
              to make all the changes required to fix it.
Logical 
Record 7     Scale Factor and Overall Temperature Factor
 Words       Contents
  5          Overall temperature factor
  6          Number of scale factors (N)
7 to 6+N     F RELATIVE scale factors

Logical 
Record 8     Dummy Record

Logical 
Record 9     Miscellaneous Information for Keying Programs
 Words       Contents

  5          Not used
 6-8         Number of grid positions in the X, Y, and Z directions
 9-11        Maximum magnitudes of H, K, and L
 12          Not used
 13-29       Calculation codes (eventually to be abandoned)
 30          Number of Fourier points in the X direction
 31          Fourier origin value in the X direction
 32          Fourier increment along the X direction
 33          Number of Fourier points in the Y direction
 34          Fourier origin value in the Y direction
 35          Fourier increment along the Y direction
 36          Number of Fourier points in the Z direction
 37          Fourier origin value in the X direction
 38          Fourier increment along the Z direction
 39-41       Fourier scan order indicators for X, Y, and Z
             (1=FIRST,2=Second, 3=Third)
 42          Number of points per line of Fourier output
 43          Fourier space control (used to override pagination)
 44          Number of printer character positions per
             Fourier grid column, i.e. maximum number of
             digits for a density point
 45          Fourier scale in inches per angstrom
 46-47       Fourier mapping limits
 48-50       H, K, L, sorting order: (1) Minor
             (2) Intermediate (3) Major
 51          Minimum value of SIN(THETA)/LAMBDA
 52          Maximum value of SIN(THETA)/LAMBDA
 53          Isotropic extinction parameter
 54-59       Reserved for anisotropic extinction parameters


Logical 
Record 10     Blocked Atom Parameters Recor( Block size = 19 words)
 Words       Contents
IP+1-IP+2    Atom identification (A4+A2)
 IP+3        Fractional X parameter
 IP+4        Fractional Y parameter
 IP+5        Fractional Z parameter
 IP+6        Scattering factor type pointer {an integer
             giving the relative position of the scattering
             factor in a reflection record)
 IP+7        Temperature factor type (0 = overall, 1 =
             individual isotropic, 2 = individual anisotropic)
 IP+8        Isotropic temperature factor (stored as B)
IP+9-IP+14   Anisotropic temperature factor (stored as
             BETAs). They are ordered as follows:
             11, 22, 33, 12, 13, 23

 IP+15       Population parameter (partial site occupancy)
 IP+16       Not used
 IP+17       Atom multiplicity (unity unless the atom is in a 
             special position)
 IP+18       Not used
 IP+19       Not used

Logical 
Record 11     Blocked Standard Deviation of Atom Parameters 
    Record (block size = 19 words). The structure
    and contents are the same as in logical record 10
    with the exception that the atom parameters are
    replaced by their standard deviations.


Logical 
Record 12     Blocked Constraint Record 
              The structure and contents are the same as in the
             IA array of =CRYLSQ= between MARK2 and ISTOP2, 
             that is, the directors from the =NOREF= and
             =CONSTR= card as translated by L1RD or generated by
             PLCK. The blocks are 10 items long and consist of
             the following quantities:
             Words (l)+(2) NAME1 and NAME2 of subject atom
                   (3)     type of constraint (an integer)
                   (4)+(5) NAME1 and NAME2 of reference atom
                   (6)     parameter number of subject atom (P1)
                   (7)     factor by which reference parameter must be multiplied(F)
                   (8)     parameter number of reference atom (P2)
                   (9)     factor to which (P2)*(F) is added (S)
                   (10)    multiplicity
                   Constraint equation: (P1) = (F)*(P2) + S


Logical 
Record 13     Dummy Record

Logical 
Record 14     Dummy Record

Logical 
Record 15     Blocked Reflection Information (the block size is dependent upon
Relative      the space group and the number of atom types)
 Words       Contents
IP+1-IP+3    Miller indices H, K, and L
 IP+4        Intensity (I)
 IP+5        Reserved for the serial number of the reflection
 IP+6        Scale factor group
 IP+7        The number of times the reflection was observed
 IP+8        Absorption correction (1/Transmission coefficient)
 IP+9        JCODE (Reflection classification code)
             1 = Observed
             2 = LESS-THAN
             3 = Observed reflection which suffers from extinction
             4 = Ignored reflection
             5 = Space group extinction
 IP+10       SIN(THETA)/LAMBDA
 IP+11       1/LP
 IP+12       Magnitude of F RELATIVE
 IP+13       ESD of F
 IP+14       Weight for least squares
 IP+15       Magnitude of F CALCULATED
 IP+16       A
 IP+17       B
 IP+18       E (linear anisotropic normalized structure factor)/E(3)/
 IP+19       EPSILON in floating point
 IP+20       Estimated PHASE (in cycles)
 IP+21       TBAR Average path length in XYTAL
 IP+22       DELTXT Larson DELTA CF. RDRR.627
 IP+23       Not used
 IP+24       Partial contribution to A
 IP+25       Partial contribution to B
 IP+26       Not used
 IP+27       Not used
 IP+28       Standard deviation of the intensity
 IP+29       Not used
 IP+30       Multicode*134217728 +(EPSILON-1)*16777216
             +/H/*131072 + /K/*1024 + /L/*8
             Sign director code (see note)
             The Multiplicity codes are
              MULTICODE   MULTIPLICITY
                  0            1
                  1            2
                  2            3
                  3            4
                  4            6
                  5            8
                  6            12
                  7            24
 IP+31       Linear isotropic normalized structure factor /E(1)/
 IP+32       Linear isotropic normalized structure factor /E(2)/
 IP+33       Linear isotropic normalized structure factor /E(3)/
 IP+34       Linear isotropic normalized structure factor /E(4)/
 IP+35       Not used
 IP+36       Not used
IP+37-IP+N+36 Interpolated scattering factor entries for
              each atom type, where N is the number of scattering
              factor types. They are stored in the
              same order as they appear in logical record 6.
IP+N+37-END Symmetry directors (See Note)
***Note****
    The format of the symmetry directors is as follows:
    The symmetry directors are grouped according to the absolute
    values of the Miller indices. In most cases, there is only one
    group. The first packed word in a group contains the magnitudes
    of the Miller indices along wjth the number of related symmetry
    operations (ICOUNT). In Fortran, packing is accompanied by:
       ICOUNT + 128*IH + 16384*IK + 2097152*IL
    Subsequent words of the group contain packed sign and translation
    directors. Four pairs of directors can be packed per word using
    powers of eight as the multiplication factors.
      SIGN DIRECTORS         TRANSLATION DIRECTORS
        0    +++                0      0.00000000
        1    -++                1      0.16666667
        2    +-+                2      0.25000000
        3    ++-                3      0.33333333
        4    ---                4      0.50000000
        5    +--                5      0.66666667
        6    -+-                6      0.75000000
        7    --+                7      0.83333333
    The last symmetry director word is the reflection multiplicity
    which is the number of symmetrically equivalent uniquely observable
    reflections. The reflection multiplicity is negated so as to
    serve as an end flag.

 Logical 
Record 16     Dummy Record

Logical 
Record 17     Dummy Record

Logical 
Record 18     Dummy Record

Logical 
Record 19     Dummy Record

Logical 
Record 20     =SINGEN= Miscellaneous Information
 Words       Contents
  5          Minimum  E value used in =SINGEN=
  6          Number of scattering factors in BDF (NUMSF)
  7          Normalized structure factors used in =SINGEN=
                1 = Linear isotropic
                2 = Non-linear isotropic
                3 = Linear anisotropic
                4 = Non-linear anisotropic
  8          Lattice type (See record 4)
  9          Acentric/Centric (see Record 4)(0,1)
 10          Probability factor = (2*SIG3/SIG2**1.5)
 11          Number of parent reflections used in =SINGEN= search
 12          Total number of reflections used in =SINGEN= search
13-15        HKL to H1H2H3 encode
16-18        H1H2H3 to HKL decode
19-21        Max values of /H1/, /H2/, /H3/
22-24        Structure invariant moduli OMEGA1, OMEGA2, OMEGA3
25-33        Structure invariant vectors V11, V12, V13, ... , V33
34-42        Primitive transformation matrix M11, M12, M13, M21,... M33
43-45        Spare

Logical 
Record 21     Blocked Normalized Structure Factors in descending order of E
              and related information (Block size = two words)
 Words       Contents
 IP+1        Packed word containing IABS(H)*10000000 +
             IABS(K)*100000 + IABS(L)*1000 + ISIGN*100 +
             PARITY*10 + PHASE RESTRICTION
             = ( XX   XX   XX   X   X   X  )
                 /H/  /K/  /L/  S   P   R
 IP+2        E-VALUE
             The E-VALUE is set negative if the reflection is not a parent
             reflection (i.e. not supplied by the user)
             The sign decoder, ISIGN, points to three
             arrays, which give the signs of H, K, and L
          ISIGN    1    2    3    4    5    6    7    8
            JH    +1   -1   +1   +1   -1   +1   -1   -1
            JK    +1   +1   -1   +1   -1   -1   +1   -1
            JL    +1   +1   +1   -1   -1   -1   -1   +1
             So to extract K, the code would be:
             K=ISIGN(MOD(IOBUF(IP+1),10000000)/100000),JKSIGN))
             The parity codes are:
                1    2    3    4    5    6    7    8
               GGG  GGU  GUG  GUU  UGG  UGU  UUG  UUU
            The phase restiction codes are (in degrees):
            R-CODES       PHASE RESTRICTION (DEGREES)
               0                 No restriction
               1                 0/180
               2                30/210
               3                45/225
               4                60/240
               5                90/270
               6               120/300
               7               135/315
               8               150/330

Logical 
Record 22     Triple Products (Block size = 4 words)
 Words       Contents
 IP+1        N1 * 100000 + (A*10.)* 100 + (PHASE SFIFT CODE)*10 + (PHI2 PHI3 SIGN CODE)
             = (  XXXX    XXX    X      X        )
                  N1       A    PHASE   PHI1PHI2 
                                SHIFT   SIGN CODE
 IP+2        N2 * 100000 + (HKL)2 SIGN CODE IN TRIPLET * 10000 + (HKL)2 TRANSFORM CODE * 1000 + PSI VALUE from =APHASE= in degrees
             = (  XXXX     X     X      XXX   )
                  N2      HKL2   HKL2   PSI
                          SIGN   TRANSF  
                          CODE   CODE
 IP+3        N3
             where Nl, N2, N3 = symbolic phase numbers in
             triplet. The phase shift code, PHI2PHI3 sign
             code, (HKL)2 sign code, and (HKL)2 transform
             code are described below.
                 PHASE SHIFT CODE
             CODE        PHASE SHIFT (DEGREES)
               1             0
               2            60
               3            90
               4           120
               5           180
               6           240
               7           270
               8           300
                 PHI2PHI3 SIGN CODE
             CODE           1    2    3    4
             SIGN OF PHI2   +    +    -    -
             SIGN OF PHI3   +    -    +    -

                 (HKL)2 SIGN CODE
             CODE        1    2    3    4    5    6    7    8
             SIGN OF H   +    -    +    +    -    +    -    -
             SIGN OF K   +    +    -    +    -    -    +    -
             SIGN OF L   +    +    +    -    -    -    -    +
             
             and
                 (HKL)2 TRANSFORM CODE
             T - CODE       As defined by data reduction
                            order of rotation matrices
                0            PARENT REFLECTION
                1            FIRST TRANSFORMATION
                2            SECOND TRANSFORMATION
                .             .
                .             .
                5            FIFTH TRANSFORMATION


Logical 
Record 23     Starting Phases for =TANGEN= written by =SOLVE= link of =APHASE=
 Words       Contents
 IP+1        Phase number N of reflection in E-List
 IP+2        PHI numeric phase in degrees (POS MODULO 360)
 IP+3        Code for fixing phase for O.D.R.'s)
 
 Logical 
Record 24     Averages (=APHASE= Scratch file)
 Words       Contents
IP+1-3       N1, N2, N3
IP+4-6       H1, K1, L1
IP+7-9       H2, K2, L2
IP+10-12     H3, K3, L3
IP+13-15     Phase restriction codes R1, R2, R3
IP+16-18     Packed words of asymmetric data (+ /H/ /K/ /L/ S P R)
IP+19-21     Spare
 IP+22       PHI2PHI3 sign code
 IP+23       Total phase shift in degrees
 IP+24       Restricted phase code of the structure invariant
 IP+25       A = (PFAC*E1*E2*E3)*2
 IP+26       Sequence numbers of next type 2 triplet with common H3K3L3
             (None = 0, Type= -1)
 IP+27       Index of group in which averages were made *
 IP+28       Number of (E**2 - 1) values contributing to the average D *
 IP+29       Number of (E**2 - 1) values contributing to the average S *
 IP+30       Average D *
 IP+31       Average S *
 IP+32       COSINE PSI = M(D-KS)  **
 IP+33       Normalized PSI values in degrees (0 - 180)  **
 IP+34       PSI weight (takes into account A, R, and COS PHI)
             Negative if outside cutoff  **
IP+35-40     Spare

      *   Added during averaging (COPY 1)
      **  Added during normalization of PSI (COPY 2)

 Logical 
Record 25     Dummy Record which is used as an End-Of-File mark
              for the Binary Data File

APPENDIX 7: Information Required in Report of Suspected Errors

 
                         REPORT OF SUSPECTED ERRORS
                         --------------------------
DATE...........................

Information Required

Error Report Sheet for Program .................
From    ....................................
        ....................................
        ....................................
        
        Please return to:
         
         J.M. Stewart
         Computer Science Center
         University of Maryland
         College Park
         MU 20742
         USA
         
Computer: ...........................
Compiler: ...........................
Operating System: ...................
Version of X-RAY System: ............
Update of X-RAY System: .............
Subroutine in which
Fault occurred if known..............
Decription of error..................
.................................................................
.................................................................
.................................................................
.................................................................
User's proposed correction, if thought through ..................
.................................................................
.................................................................
.................................................................
If necessary to aid us, please attach............................

List or Deck of Input Cards
List of Output Results
Cell Data Page from DATRDN
Symmetry Data
Summary Page from DATRDN
Atom Parameters if known
⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site