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+++ scales.fh +++ c Scales c c c c bfactr(maxbfc,maxrot,maxrun) B-factors c cscals(maxxys, maxrot, maxrun) 3D scales c sdbfac(maxbfc,maxrot,maxrun) sd B-factors c sdcscl(maxxys, maxrot, maxrun) sd 3D scales c nbfact(maxrun) Number of B-factors c on rotation, at each position number of B parameters c nbfpos(maxrun) 1 or 3 for iso or aniso c nbparm(maxrun) total number of B-factors = nbfact*nbfpos c ncscls(4,maxrun) Number of scales (rotation, detector(x*y), x, y) c posbfc(maxrot,maxrun) Positions: B-factors c poscsr(maxrot,maxrun) rotations c poscsx(2,maxxys, maxrun) x,y (detector) c spcbfc(maxrun) Spacing (intervals): B-factor c spcscl(3,maxrun) Scales c (used to store -number from input) c lsmode(maxrun) Mode, = 1 detector frame c = 2 diffractometer frame (for secondary beam) c = 3 permuted crystal frame (for secondary beam) c = 4 hkl (crystal) frame on scattering vector c mhpole(maxrun) pole axis for crystal frame (1,2,3, -1 unset) c c lbfrun(maxrun) = .t. if B-factor, .f. none c zlimrn(2,maxrun) limits on rotation c tlimrn(2,maxrun) limits on "time" c dlimrn(2,2,maxrun) limits on Xdet/Ydet (min|max, x|y, run) c dtolrn(2,maxrun) tolerances on Xdet/Ydet c Vwt, Vwz, Vwxy Interpolation weights: time z xy c prblt, prblz, prblxy lower limit of probability (t, z, xy) c (exclude P .lt. exp(-prblXX) c c mbatsc(maxrun) Flag for "batch" scaling c = 0 smooth scaling c +1 scale & B both batch mode c -1 scale batch mode, B smooth c lbtslp(maxrun) .true. for sloped batch scaling ("SLOPE" option) c btslpf slope packing factor for zd c lbtsmooth(maxrun) .true. for SMOOTH batch mode c c knormk flag for options for normalising scales c = +N normalise on run N (usually first one) c = 0 normalise on reference run c knormb flag for options for normalising relative B-factors c = +N normalise on run N (usually first one) c = 0 normalise on reference run c = -1 normalise on largest smooth B c c TDS correction parameters c nprtds total number of parameters to refine over all runs c ( = 0 for no TDS correction) c nrntds number of parameters for this run (= 0 is none) c ltdsrn .true. if TDS (diffuse) correction is on for this run c itdspt pointer to parameter set for this run (allows different runs c to have same TDS parameter set c partds TAILS correction parameters: c (1) vtds width of TDS peak (A**-1) c (2) alpha0, fraction a zero theta c (3) slope of TDS scale parameter against (sin theta/lambda)**2 c partdf reset values if parameters go below minimum or above maximum c partmn minimum & maximum values c c sdpars(maxpar) Standard deviations of parameters c lsdpars & flag to indicate that it is set c ltsdet = .true. if scales vary across detector c (ie if XDET, YDET columns are going to be used) c lcddet .true. if XDET, YDET columns are present c (& not all dummy) c common /scales/ $ bfactr(maxbfc,maxrot,maxrun), cscals(maxxys, maxrot, maxrun), $ sdbfac(maxbfc,maxrot,maxrun), sdcscl(maxxys, maxrot, maxrun), $ posbfc(maxrot,maxrun), $ poscsr(maxrot,maxrun), poscsx(2,maxxys, maxrun), $ spcbfc(maxrun), spcscl(3,maxrun), $ zlimrn(2,maxrun), tlimrn(2,maxrun), dlimrn(2,2,maxrun), $ dtolrn(2,maxrun), $ Vwt, Vwz, Vwxy, prblt, prblz, prblxy, $ partds(maxtds,maxrun), partdf(2,maxtds), partmn(2,maxtds), $ sdpars(maxpar), btslpf, c $ nbfact(maxrun), nbfpos(maxrun), nbparm(maxrun), $ ncscls(4,maxrun), lsmode(maxrun), mbatsc(maxrun), $ nprtds, nrntds(maxrun), itdspt(maxrun), knormk, knormb, c $ lbfrun(maxrun), $ lbtslp(maxrun), ltdsrn(maxrun), $ lsdpars, $ ltsdet, lcddet, lbtsmooth(maxrun) c c real bfactr, cscals, sdbfac, sdcscl, posbfc, poscsr, poscsx, $ spcbfc, spcscl, zlimrn, tlimrn, $ dlimrn, dtolrn, Vwt, Vwz, Vwxy, $ prblt, prblz, prblxy, partds, partdf, partmn, sdpars, btslpf c integer nbfact, nbfpos, nbparm, ncscls, lsmode, nprtds, nrntds, $ itdspt, mbatsc, knormk, knormb logical lbfrun, lbtslp, ltdsrn, lsdpars, ltsdet, lcddet, lbtsmooth c save /scales/ c c--- scales.fh ---