Personal tools
You are here: Home documentation MRC Software MRC Headers origtiltk
Document Actions

origtiltk

by Admin last modified 2008-10-30 08:21

THREE-DIMENSIONAL ORIGIN, BEAMTILT AND CRYSTAL TILT REFINEMENT

C   ORIGTILTK - THREE-DIMENSIONAL ORIGIN, BEAMTILT AND CRYSTAL TILT REFINEMENT.
C
C         --- remember to change version number in format statement  ---
C         VERSION VX5.02  RH  29.10.01 change FILIN to CHARACTER*80
C         VERSION VX5.01  RH  18.12.00 test to avoid IZLESS.LE.0 out-of-bounds
C         VERSION VX5.00  RH  29.8.00 convert to plot2000 direct postscript plot
C         VERSION VX4.12  RH  24.10.99 debug IF(IH.GE.900) GO TO 210
C         VERSION VX4.11  RH  17.9.99 increase MAXPLT=1500
C         VERSION VX4.10  RH   3.8.99 increase MAXPLT=500, OVERALL format I6
C         VERSION VX4.09  RH  28.5.99 INTEGER*4 JOUT, MAXINDEX=40, MAXRFL=2000
C         VERSION VX4.08  RH  10.2.99 TOTRFL -> 80000
C         VERSION VX4.07  RH  2.1.98 cosmetic correction to printout for ILIST=1
C         VERSION VX4.06  RH  30.5.96 calculate S for mtz input data
C         VERSION VX4.05  RH  4.12.95 cosmetic description of TAXA
C         VERSION VX4.04  RH  17.4.95 option NPROG=3 for MTZ data, ORIGTILTD
C         VERSION VX4.03  RH  7.4.95 removes final fortran STOP to allow csh -e
C         VERSION VX4.02  RH  21.3.95 summary file output with OX,OY,TAXA,TANGL
C     VAX VERSION VX4.01  RH  5.10.93 bug in plotting IREF2 fixed
C     VAX VERSION VX4.00  RH  6.10.92 carries through background and ctf to O/P.
C     VAX VERSION VX3.02  RH  4.3.91 Prints out total no. of refls for sorting.
C     VAX VERSION VX3.01  RH  22.1.90 Minor change to ASYM.
C     VAX VERSION VX3.00  RH  19.6.89 READS AND WRITES EXTRA FLMWGT COLUMN.
C     VAX VERSION VX2.04  RH  18.6.89 annotated output lines for summary editing
C     VAX VERSION VX2.03  JMB 15.6.89 ALLOWS UP TO 40000 SPOTS
C     VAX VERSION VX2.02  JMB 15.6.89 Read filenames instead of unit numbers
C     VAX VERSION VX2.01  RH  4.4.89 option to write out shifted image data.
C     VAX VERSION VX2.00  RH  3.4.89 option to write out reference amps & phases
C     VAX VERSION VX1.19  RH  30.3.89 limits max tilt refine cycles to 4.
C     VAX VERSION VX1.18  JMB 10.3.89 ALLOWS UP TO 20000 SPOTS
C     VAX VERSION VX1.17  RH  2.3.89 IMPROVED BEAMTILT REFINEMENT, USING VA04A
C     VAX VERSION VX1.16  JMB 24.10.88 ALLOWS UP TO 16000 SPOTS
C     VAX VERSION VX1.15  RH  21.10.88 checks LCF input curves for SIGAMP.
C     VAX VERSION VX1.14  RH  8.8.88 CAN NOW USE ISPG LCFDATA WITH ZSTAR +VE.
C     VAX VERSION VX1.13  RH  30.5.88  weight for IQ=8 made slightly non-zero.
C     VAX VERSION VX1.12  JMB 23.2.88  maxindex =25
C     VAX VERSION VX1.11  JMB 25.8.87 ALLOWS MORE SPOTS PER IMAGE.
C     VAX VERSION VX1.10  RH  1.5.87 ALLOWS POINTS SLIGHTLY OFF ENDS OF CURVES.
C     VAX VERSION VX1.09  RH  20.4.87 ALLOWS ZERO AMPL INPUT, IQ UP TO 9.
C     VAX VERSION VX1.08  RH  24.1.87 NTILT(T/F), LCF ORIGREF W/O XTL TILTREF.
C     VAX VERSION VX1.07  JMB 14.5.86 COMPATIBILITY TO RECENT LCF CHANGES.
C     VAX VERSION VX1.06  RH  7.10.85  GRAPH PLOT TO +/- 0.25 ANG**-1.
C     VAX VERSION VX1.05  RH  1.7.85 NON-LEAST SQ BEAM TILT ALGORITHM.
C     VAX VERSION VX1.04  JMB 27.2.85 STATISTICS VS RESOLUTION.
C     VAX VERSION VX1.03  RH  30.12.84 WITH BEAM TILT REFINEMENT.
C     VAX VERSION VX1.02  RH  26.8.84 WITH CRYSTAL TILT REFINEMENT.
C     VAX VERSION VX1.01  RH
C     VAX VERSION VX1.00  RH
C
C     NOW DOES REFINEMENT OF BEAM AND CRYSTAL TILTANGLES AND TILTAXES.
C                            derived from ORIGMERG  13.4.84, (RH)
C     NOTE: TILT REFINEMENT (CRYSTAL AND BEAM) HAS BEEN TESTED ONLY IN
C                                       P3              30.12.84
C                                       P22121            8.8.88
C                                       P4212             4.4.94
C
C   THREE-DIMENSIONAL IMAGE COMBINING PROGRAM FOR ALL SEVENTEEN
C                   TWO-SIDED PLANE GROUPS
C
C      ORIGINAL PROGRAM WRITTEN BY S.D.FULLER, 10-MAY-1980.
C      MODIFIED L.A.AMOS & R.HENDERSON, JULY 1980 (AT LEAST 30 BUGS REMOVED).
C      MODIFIED 23-7-81 BY DANA LEIFER -- CYCLICAL REFINEMENT OPTION.
C      AMPLITUDE SCALING DEBUG, 1982(RAC)
C      TILTAXIS AND TILTANGLE REFINEMENT 26.8.84.
C      BEAMTILT REFINEMENT 30.12.84
C         LAST MODIFIED 30-DEC-1984 BY R.H.
C      PAY NO ATTENTION TO THE ABOVE HISTORICAL NONSENSE - IT IS ONLY
C      MEANT TO JOG THE MEMORY IN CASE FURTHER FESTERING BUGS EMERGE.
C
C      THIS VERSION --
C                     PRODUCES PLOTTER O/P ON FILE PLOT.PLT(SUBROUTINE_GRAPH)
C                     PRODUCES A MERGED LIST OF H,K,ZSTAR,AMPL,PHASE,FILMNO,
C                        DESCRIPTIVE CODE(+/-IQ) ON UNIT 3.
C                     THE MERGED LIST CAN THEN BE READ IN AND USED FOR
C                        CYCLICAL ORIGIN REFINEMENT.
C                     REFINES CRYSTAL TILTAXIS AN TILTANGLE.
C                     REFINES BEAMTILT (MANIFESTED AS A RESOLUTION-DEPENDENT
C                        SHIFT OF THE PHASE ORIGIN).
C
C###############################################################################
C
C               CARD INPUT ON UNIT 5
C
C   1  ISPGRP,NPROG,NTILT,NBEAM,ILIST,ALNG,BLNG,WIDTH,ANG,IPLOT,MINRFL,IAQP2,IVERBOSE (*)
C
C   1a itaxastep,rtaxasize,itanglstep,rtanglsize
C
C   2  IRUN,LHMIN,LHMAX,IQMAX,IBOXPHS,NREFOUT,NSHFTIN,RFACAMP                (*)
C
C   3  card 3 input depends on the value of NPROG chosen
C
C  IF  NPROG.EQ.0
C       THE FIRST SET OF REFLECTIONS MUST BE FOR AN UNTILTED
C       IMAGE AND ONLY THE UNIQUE REFLECTIONS SHOULD BE PROVIDED
C       THIS OPTION IS MEANT FOR MERGING RAW DATA -- AS IN ORIGINAL
C       ORIGMERG - This set of data can have zero observations 
C       provided that SCALE = 1.0 (or any non-zero value) on card 9
C  IF  NPROG.EQ.1
C       THE FIRST SET OF DATA READ IN WILL BE FROM O/P OF A PREVIOUS
C       RUN OF ORIGMERG (UNIT 3 O/P). SUBSEQUENT FILMS WILL BE COMPARED
C       ONLY WITH THIS FIRST SET AND NO MERGED OUTPUT WILL BE POSSIBLE.
C       THIS OPTION IS MEANT FOR CYCLICAL ORIGIN REFINEMENT OF AN ALREADY 
C       MERGED SET OF DATA.
C
C                3  IFILM,TITLE                               (I10,10A4)
C
C                3A Filename -- e.g. SS1:[RH15]P4151.APH             (A)
C
C                Then the file contains data of following kind.
C                   ISER                                             (*)
C                   IH,IK,A,P                                        (*)
C                   IH=900 (or EOF) --- THIS ENDS THE SET OF REFLECTIONS
C
C  IF  NPROG.EQ.2 (.LCF) -- (NO INPUT OF ABOVE CARDS 3,4,5, or 6)
C   or NPROG.EQ.3 (.MTZ) data
C       THE REFERENCE DATA IS A THREE-DIMENSIONAL LCF or MTZ DATA FILE.
C       THIS OPTION IS MEANT FOR STRUCTURES THAT HAVE BEEN WELL
C       WORKED OVER ALREADY -- E.G. PURPLE MEMBRANE.
C          Input is on file with name HKLIN for LCF or MTZ file.
C
C  BUT           3  FC=.... SIGFC=.... PHCAL=.... FOM=....   ##(LCF CONTROL)
C   or           3  LABIN AMP=... SIG=... PHASE=... FOM=...  ##(MTZ CONTROL)
C  
C       PROCEEDS ACCORDING TO NPROG.EQ.1, BUT REFINEMENT IS DONE AGAINST
C       AMPLITUDE AND PHASE CURVE-FITTED DATA. THE PHASE ORIGIN IS REFINED
C       AS WELL AS (if NTILT=T) THE TILTANGLE AND TILTAXIS. THIS REFINEMENT
C       OF ORIGIN AND TILT IS CARRIED OUT SEPARATELY UNTIL THERE IS
C       NO FURTHER CHANGE IN THE PARAMETERS.
C
C   4  IFILM,TITLE                                            (I10,10A4)
C
C   5  Filename -- e.g. SS1:[RH15]P4151.APH                          (A)
C
C   6  NWGT                                                          (*)
C
C   7  TAXA,TANGL,IORIGT                                             (*)
C
C   8  ORIGH,ORIGK,STEP,WIN,SGNXCH,SCALE,ROT180,REVHK,CTFREV,ROT90,REVHND (*)
C
C   9  CS,KV,TILTH,TILTK                                             (*)
C
C  10  DRESMAX, DRESMIN (BLANK CARD GIVES 100.0,3.5)                 (*)
C
C     Then the file of data contains data of the following kind
C       ISER                                                         (*)
C       IH,IK,A,P,IQ                                                 (*)
C       IH=900  (or EOF) --- THIS ENDS THE SET OF REFLECTIONS.
C
C            ANY NUMBER OF FURTHER IMAGES SPECIFIED BY THE ABOVE CARDS CAN
C            BE INCLUDED AT THIS STAGE.
C
C  11  IFILM<0  --- THIS ENDS DATA INPUT
C
C  12 TITLE --- TITLE FOR PLOT OUTPUT IF REQUESTED.               (20A4)
C       
C##############################################################################
C
C
C                ISPGRP - NUMBER OF SPACE GROUP AS BELOW
C                NPROG  - DETERMINES TYPE OF RUN
C                         IF =0, NORMAL SEQUENTIAL MERGING (OLD ORIGMERG).
C                         IF =1, READS IN PREVIOUSLY MERGED DATA O/P ON UNIT 3.
C                         IF =2, READS IN REFERENCE DATA FROM LCF FILE.
C                         IF =3, READS IN REFERENCE DATA FROM MTZ FILE.
C                NTILT  -  IF (F) NO CRYSTAL TILTANGLE OR TILTAXIS REFINEMENT.
C                          IF (T) CRYSTAL TILTANGLE AND TILTAXIS ARE REFINED.
C                NBEAM  -  IF (F) NO BEAMTILT REFINEMENT.
C                          IF (T) BEAMTILT IS REFINED -- IN MILLIRADIANS.
C                ILIST  - IF =1 PROGRAM LISTS EACH REFLECTION OTHERWISE
C                           ONLY THE PLOT OF RESIDUALS AND THE FINAL
C                           COMBINED LIST OF REFLECTIONS IS GENERATED
C                ALNG   -  A AXIS IN ANGSTROMS for untilted crystal.
C                BLNG   -  B AXIS IN ANGSTROMS        "        "   .
C                WIDTH  -  THICKNESS OF UNIT CELL IN ANGSTROMS
C                ANG    -  ANGLE BETWEEN A AND B - ONLY FOR P1 OR P2
C                IPLOT  -  IF NOT 0, PLOT FINAL AMPLITUDE & PHASE CURVES
C                            ON CALCOMP PLOTTER
C                MINRFL -  MINIMUM NUMBER OF POINTS REQUIRED FOR A CURVE
C                            TO BE PLOTTED
C                IAQP2  - (1) for AQP2 special symmetry condition
C                         (0) otherwise
C                IVERBOSE-(0) for no logfile output
C                         (1) for only essential logfile output
C                         (>5) for full logfile output
C                IRUN   - RUN NUMBER, USED AS AN IDENTIFIER ON UNIT 3 O/P
C                LHMIN  - MINIMUM H INDEX TO BE PLOTTED
C                LHMAX  - MAXIMUM H INDEX TO BE PLOTTED
C                              (PROGRAM STOPS AFTER LAST PLOT)
C                IQMAX  - REFLECTION NOT USED FOR ORIGIN OR TILTANGLE
C                           REFINEMENT IF IQ>IQMAX
C                IBOXPHS- SIZE OF PHASE ORIGIN SEARCH, (DEFAULT = 121)
C                NREFOUT-  IF (F) NO OUTPUT OF REFERENCE PROJECTION DATA.
C                          IF (T) FILE IS CREATED WITH REFERENCE PROJECTION
C                                 DATA AT SAME ANGLE AS INPUT DATA.
C                NSHFTIN-  IF (F) NO OUTPUT OF ORIGIN SHIFTED INPUT DATA
C                          IF (T) FILE IS CREATED FROM SHIFTED INPUT DATA
C                RFACAMP- Factor for Amplitude weight during merging
C                         RFACAMP=0.0: no weighting, RFACAMP=1.0: full weight
C                IFILM  - INTEGER FILM IDENTIFIER
C                TITLE  - DESCRIPTION OF FILM
C                NIN    - UNIT NUMBER OF INPUT DATA STREAM * NOT USED NOW
C                FILIN  - NAME OF FILE CONTAINING H,K,A,P,IQ DATA
C                NWGT   - IF (T) THEN READ EXTRA FLMWGT DATA FOR EACH REFLECTION
C                         IF (F) THEN NO EXTRA WEIGHT DATA.
C                ISER   - SERIAL NUMBER OF FILM ON UNIT NIN, MUST=IFILM.
C                IH     - H INDEX OF REFLECTION
C                IK     - K INDEX OF REFLECTION
C                P      - PHASE OF REFLECION
C                A      - AMPLITUDE OF REFLECTION
C                IQ     - QUALITY OF REFLECTION
C                TAXA   - ANGLE MEASURED FROM THE TILT AXIS TO THE ASTAR-AXIS,
C                         MEASURED IN DIRECTION OF A TO B BEING POSITIVE.
C                TANGL  - TILT ANGLE IN DEGREES
C                IORIGT - IF IORIGT=1, ORIGIN REFINEMENT IS DONE WITH
C                             WGT = 1.0 FOR EACH NEW SPOT.
C                ORIGH  - INITIAL PHASE SHIFT FOR 1,0 -- IN DEGREES
C                ORIGK  - INITIAL PHASE SHIFT FRO 0,1 --  "    "
C                STEP   - STEP SIZE IN DEGREES FOR ORIGIN REFINEMENT
C                         STEP = 0 ==> NO REFINEMENT
C
C                WIN    - ZSTAR RANGE WITHIN WHICH SPOTS ARE COMPARED
C                         FOR SCALING AND ORIGIN REFINEMENT
C                         this means: Over which Z-star range is a value 
C                         considered to be zero, i.e. non-tilted.
C                         A WIN value of 1/(2*ALAT) is useful, 
C                         e.g. 0.005 for ALAT=100
C
C                SCALE  - MULTIPLIED BY AMPLITUDES BEFORE COMBINATION
C                         IF EQUAL TO 0 SCALING IS AUTOMATIC
C                SGNXCH - IF NOT EQUAL TO 0, FLIP AROUND A AXIS, USEFUL IN P121
C                ROT180 - IF NOT=0, ROTATE 180 DEG ABOUT Z-AXIS, USEFUL IN P1,P3
C                ROT90  - IF NOT=0, ROTATE 90  DEG ABOUT Z-AXIS, USEFUL IN P2221 
C                         THIS IS A COSMETIC FEATURE TO FACILITATE INDEXING
C                         DIFFICULT HIGHLY TILTED FILMS. NOTE THAT ALL OTHER
C                         PARAMETERS, SUCH AS TAXA,TANGL MUST REMAIN CORRECT
C                         W.R.T. THE ORIGINAL DIRECTIONS FOR H AND K.
C                REVHK  - IF NOT = 0, H AND K ARE INTERCHANGED ON INPUT.
C                         THIS IS A COSMETIC FEATURE TO FACILITATE INDEXING
C                         DIFFICULT HIGHLY TILTED FILMS. NOTE THAT ALL OTHER
C                         PARAMETERS, SUCH AS TAXA,TANGL MUST REMAIN CORRECT
C                         W.R.T. THE ORIGINAL DIRECTIONS FOR H AND K.
C                REVHND - IF NOT = 0, sign of Z is inverted.
C                         THIS IS A COSMETIC FEATURE TO FACILITATE debugging the 
C                         damned handedness. 
C                         NOTE THAT ALL OTHER
C                         PARAMETERS, SUCH AS TAXA,TANGL MUST REMAIN CORRECT
C                         W.R.T. THE ORIGINAL DIRECTIONS FOR H AND K.
C                CTFREV - IF NOT = 0, 
C                         REVERSES SIGN OF STRUCTURE FACTOR BY ADDING 180 DEGS
C                         TO THE PHASE. USEFUL FOR LOW DOSE IMAGES WHERE THERE
C                         IS UNCERTAINTY ABOUT WHETHER IMAGE IS OVER-FOCUSSED
C                         OR UNDER-FOCUSSED.
C                CS     - SPHERICAL ABERRATION COEFFICIENT - USED TO GET
C                         BEAMTILT ON RIGHT ABSOLUTE SCALE OF MILIRADIANS.
C                KV     - MICROSCOPE VOLTAGE - USED TO CALCULATE WAVELENGTH.
C                TILTH  - BEAMTILT IN DIRECTION OF ASTAR.
C                TILTK  - BEAMTILT IN DIRECTION OF BSTAR.
C
C###############################################################################
C
C    OUTPUT IS MADE VIA
C         UNIT   6 - LINEPRINTER
C         UNIT   3 - MERGED DATA POINTS(H,K,ZSTAR,AMPL,PHASE,FILMNO,IQ CODE --
C                     CAN BE USED BY ORIGREFN FOR FURTHER CYLES OF REFINEMENT.
C         PLOT.PLT - PLOT FILE FOR PLOT OUTPUT.
C         UNIT   2 - If requested, origin shifted H,K,0,AMP,PHASE of projection.
C         UNIT   4 - If requested, H,K,0,REFAMP,REFPHASE for refdata projection.
C         UNIT   9 - summary file with refined values of tilt,origin & beamtilt.
C
C    INPUT IS MADE VIA
C         UNIT   5 - CONTROL DATA
C         UNIT  10 - NEW IMAGES TO BE MERGED, OR PREVIOUSLY MERGED DATASET
C         HKLIN    - LCF FILE OF AMPLITUDES AND PHASES. (for NPROG.EQ.2)
C         HKLIN    - MTZ FILE OF AMPLITUDES AND PHASES. (for NPROG.EQ.3)
C
C##############################################################################
C  18.8.84 ############  IMPORTANT CHANGE #####################################
C            THE MATRICES IMAT, MAT, IGO HAVE BEEN CHANGED, TOGETHER WITH THE 
C            LREV TEST IN ASYM SO THAT THE CONVENTION IN P4, P3, AND P6 IS
C            FOR THE AXIAL INDICES TO BE H,0 RATHER THAN 0,K.
C            ( THEY ARE THE SAME AS IN EDLCF ).
C
C  PROGRAM MUST NOW BE LINKED USING COMMAND
C   :-   on VAX, PIMLINK ORIGTILT
C                (INCLUDES LCFLIB,IMLIB,MODLIB,PLOT82, (LIBRARIES) ETC)
C   :-   for UNIX fortran -o origtilt.exe origtilt.for ma21.for -lplot82 -lccp4
C
C##############################################################################
C
C

eXTReMe Tracker