C C C This code is distributed under the terms and conditions of the C CCP4 licence agreement as `Part 2' (Annex 2) software. C A copy of the CCP4 licence can be obtained by writing to the C CCP4 Secretary, Daresbury Laboratory, Warrington WA4 4AD, UK. C c+++ outcon.fh +++ c c prthou threshold for partial scaling c prlimo limit for deviation of partial fraction from 1.0 c prmaxo maximum total fraction for scaling c binmid value for middle intensity bin (negative if unset) c binrng(maxinb) limits for intensity bins c ninbin number of intensity bins c sdrejm rejection limit for reflections measured more than twice c sdrejm2 rejection limit for reflections measured twice c sdrejma rejection limit for reflections measured more than twice, c including all observations (I+ & I-) (= 0 0 for no test) c negated for initial value before automatic inflation c sdrejm2a rejection limit for reflections measured twice, c including all observations (I+ & I-) (= 0 for no test) c negated for initial value before automatic inflation c krej2o what to do with 2 observations which disagree c = -1 reject both c = 0 keep both c = +1 reject larger c = +2 reject smaller c krsexc if = 0 , exclude reflections rejected by resolution c limits from output file c .gt. 0, keep them c = 1 set scale = 0.0 so they are rejected on merging c = 2 calculate correct scale c kprout primary control on use of partials in final analysis c = -1 fulls only, no previously summed partials c = 0 fulls only c = +1 sum partials c = +2 scale partials .gt. prthou c kprflo controls mode of partial summation (if kprout = +1) c .lt. 0 accept sum only if all MPART flags valid (only c allowed if MPART flags present) c = +/-1 no test on total fraction c = +/-2 accept summed partial if total fraction over c all parts lies between prlimo -> prmaxo, c scale by total fraction if fraction between c prthou -> prlimo c kprmso = 0 reject partials with gap c = +1 accept partials with gap c mxprwo maximum number of parts for an acceptable summed c partial, .gt. 999 no limit c nprexc if .ne. 0 exclude partials from output file for nprexc c runs, .lt. 0 all runs, .gt. 0 list of runs in kprexc c kprexc list of internal run numbers to exclude partials from c kbnrtp option for intensity binning c = 1 linear, = 2 square, = 3 Wilson c ifilou type of output hkl file c = 0 no file written c = 1 AVERAGE, write averaged intensities c = 2 SEPARATE, observation records from input file c = 3 POSTREF, as SEPARATE but + columns for Postref c = 4 UNMERGED, partials processed , but no averaging c = 5 AVERAGE & UNMERGED c kfilou = 0 1 dataset, 1 out c = -1 OUTPUT TOGETHER, all datasets output into one file c = +N OUTPUT SPLIT, split into N files = number of datasets c koutstr1 stream number for primary output hkl file c koutstr2 stream number for secondary output hkl file, = 0 if none c this will only be set if ifilou = +5 ie AVERAGE & UNMERGED c c iwrprb .gt. 0 to write normal probability plot to file, c = stream number c iwrpra .gt. 0 to write anomalous normal probability plot to file, c = stream number c ispprb sample number for normal probability plot c maxptd maximum point density for normal probability analysis c isclpk .gt. 0 (=stream number) to write out Scalepack-style c output file, either merged or unmerged c lrefou if .false., omit reference batch in output file c lolexc if .true., omit outliers from output file c lwrrog if .true., write rogues file in final pass c lanlbt .true. for rotation analysis by batch rather than by c rotation angle c ladjsd .true. to adjust sdcorrection factors in rfltbl c (following normal probability analysis) c lnormn .true. to do normal probability analysis c lrdidx for UNMERGED output, .true. if reduced hkl output c (ie as input), .false. for original indices c mbeams for UNMERGED output, .ne.0 to output direction c cosines of incident & diffracted beams c +1 crystal frame, -1 diffractometer frame c outitl title for output file, if non-blank replaces input title c histry new history record to add to file (if non-blank) c c lxyanl .true. to do analysis on detector position c nbinxy(2) maximum number of bins on Xdet, Ydet (even) c sbinxy(2) size of bins on Xdet, Ydet c cbinxy(2,irun) position of centre of bins c rbinxy(2) minimum coordinate, xy (all runs) c c ltsmfl .true. if any of the following tests on Mosflm c flags are set. c These are conditions for acceptance in the merging step c bgrlim maximum BGratio to accept, < 0 no test c Mosflm default limit = 3.0, maximum value in file 9.9 c pkrlim maximum PKratio to accept, < 0 no test c Mosflm default limit = 3.5 c grdlim maximum background gradient to accept, < 0 no test c Mosflm default limit = 0.03, maximum value in file 0.99 c lovld if .true. accept profile-fitted overloads c ledge if .true. accept edge reflections c c common /outcon/ prthou, prlimo, prmaxo, binmid, binrng(maxinb), $ sdrejm, sdrejm2, sdrejma, sdrejm2a, sbinxy(2), $ cbinxy(2,maxrun), rbinxy(2), bgrlim, pkrlim, grdlim, $ krsexc, kprout, kprflo, kprmso, mxprwo, nprexc, $ kprexc(maxrun), kbnrtp, ifilou, kfilou, iwrprb, iwrpra, $ ispprb, maxptd, $ nbinxy(2), krej2o, isclpk, mbeams, ninbin, koutstr1, koutstr2, $ lrefou, lolexc, lwrrog, lanlbt, ladjsd, lnormn, lrdidx, lxyanl, $ lovld, ledge, ltsmfl real prthou, prlimo, prmaxo, binmid, binrng, $ sdrejm, sdrejm2, sdrejma, sdrejm2a, sbinxy, cbinxy, rbinxy, $ bgrlim, pkrlim, grdlim integer krsexc, kprout, kprflo, kprmso, mxprwo, nprexc, $ kprexc, kbnrtp, ifilou, kfilou, iwrprb, iwrpra, ispprb, maxptd, $ nbinxy, krej2o, isclpk, mbeams, ninbin, koutstr1, koutstr2 logical lrefou, lolexc, lwrrog, lanlbt, ladjsd, lnormn, lrdidx, $ lxyanl, lovld, ledge, ltsmfl c common /outcoc/ outitl, histry character outitl*70, histry*80 c save /outcon/, /outcoc/ c