origtiltk
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