c anomalous and heavy atom stuff integer maxform_ano parameter (maxform_ano = 20) integer maxwavel parameter (maxwavel = 4) INTEGER MAXN_HEAVY PARAMETER (MAXN_HEAVY = 5000) INTEGER MAXN_H_TYP PARAMETER (MAXN_H_TYP = 10) integer maxatomtype parameter (maxatomtype = 100) C------ Information about anomalous scatterers. C integer nform_ano, n_atom_ano real fprime(maxform_ano,maxwavel) real f2prime(maxform_ano,maxwavel) character ano_elem(maxform_ano)*4 logical cs_anom(maxatomtype) integer t2at(maxatomtype) real occup_anom(maxatom),u_anom(6,maxatom) C common /anom/ nform_ano,fprime,f2prime,cs_anom,ano_elem,n_atom_ano & ,t2at,occup_anom,u_anom C C nform_ano - actual number of atom types of anomolous scatterers C n_atom_ano - actual number of anomolous scatterers C fprime - f' for anomolous scatterer atom type and wavelength C f2prime - f'' for anomolous scatterer atom type and wavelength C ano_elem - array of all anom. scattering atom types C cs_anom - whether is given atom considered as anomalous scaterrer C t2at - type to anom. type - pointer to fprime, f2prime C occup_anom - anomalous occupancy C------ Information about wavelength C real wavelength(maxwavel) common /wavel/ wavelength C C wavelength - wavelength value for every wavelength number (stored in dataset_wavenum) c other related variables real derfpp(MAXN_H_TYP),der2fpp(MAXN_H_TYP) c--- the prior phase information to be used in a direct way c--- the PPI variable may be replaced completely by logical DPPI's in the future c--- although it makes sense to have just one PPI variable with given value the c--- string comparison inside loops may be very time-consuming (_gfortrani_compare_string) c--- thus logical DPPI's are used - at the moment inside of important loops only c--- the substructure flag specifies that we have substructure refinement CHARACTER PPI*4 logical DPPI_no,DPPI_sad,DPPI_sadh,DPPI_sras,DPPI_sir,DPPI_mldr, & DPPI_mad, DPPI_pl, DPPI_wsad_hack, DPPI_hldm logical substruct_flag, substruct_determine, separate_anom_occ, & dm_flag,dm_model_flag c REAL XYZ_2PI(3,MAXN_HEAVY,96) real SYM_ORT_M(3,3,96) logical HREF_OCC_FLAG,HREF_TEMP_FLAG,HREF_COOR_FLAG,HREF_NO_FLAG, & HREF_FPP_FLAG c--- heavy atom types whose occupancies are to be refined (when using a direct ref. target) integer occup_ref_anom_type_num character occup_ref_anom_type_lst(MAXN_H_TYP)*4 common /HEAVY/ derfpp,der2fpp common /HEAVY_char/ PPI, occup_ref_anom_type_lst common /HEAVY_int/ occup_ref_anom_type_num common /HEAVY_log/ & HREF_OCC_FLAG,HREF_TEMP_FLAG,HREF_COOR_FLAG, & SYM_ORT_M,HREF_NO_FLAG,HREF_FPP_FLAG, & DPPI_no,DPPI_sad,DPPI_sadh,DPPI_sir,DPPI_mldr,DPPI_pl, & DPPI_sras,DPPI_mad,substruct_flag,substruct_determine, & separate_anom_occ,dm_flag,dm_model_flag,DPPI_wsad_hack & ,DPPI_hldm c & ,XYZ_2PI