Diagnostics: other programs’ projects#

These codes come from reading or writing a GSAS-II, GSAS, FullProf or TOPAS project. Each section gives the code’s name, what it means and why it fires, its level, and the source files that raise it. The diagnostic codes page lists every code in one table.

FULLPROF_MAGNETIC_PHASE_OMITTED#

A FullProf magnetic phase was left out.

The FullProf file holds a magnetic phase, and nuclear_only=True asked for the nuclear phases alone. The built structure has no magnetic scattering. Its pattern and its fit quality are not comparable with the file’s. Leave the setting off to have the reader map the magnetic phase, or refuse it with a reason.

Level: warning. Raised in rietx/io/projects/fullprof.py.

FULLPROF_MAGNETIC_PHASE_READ#

A FullProf magnetic phase was merged in.

FullProf describes a magnetic structure as a second phase beside the nuclear one. The reader checked that the two describe the same crystal and merged them into one phase with a magnetic group and moments. The magnetic phase’s own scale, positions and displacement parameters are not kept apart, so refine the merged phase as one. A site that frees only part of its moment comes in with the whole moment free.

Level: info. Raised in rietx/io/projects/fullprof.py.

FULLPROF_OCCUPANCY_UNCHECKED#

The setting check had nothing to compare.

FullProf does not write the origin choice or axes of a space group, so the reader picks one and tests the pick against the site occupancies. A phase with one site gives that test nothing to compare, because FullProf’s occupancy carries an arbitrary factor for each phase. The setting passed without being verified, so it may be the wrong one. Check it against the published structure.

Level: warning. Raised in rietx/io/projects/fullprof.py.

FULLPROF_ORIGIN_CHOICE#

A FullProf space group setting was chosen.

FullProf writes a space group symbol with no origin choice or axes suffix. The reader added one: origin choice 2 where the bare symbol allows two, and rhombohedral axes where the cell shows them. A wrong choice moves the special positions and changes the multiplicities, so the structure would be a different one. The choice is tested against the site occupancies.

Level: info. Raised in rietx/io/projects/fullprof.py.

FULLPROF_RHOMBOHEDRAL_RESTATED#

A rhombohedral phase was restated for FullProf.

FullProf reads a rhombohedral space group symbol as hexagonal whatever the cell says, and it has no suffix to say otherwise. The writer therefore restated the phase in the hexagonal cell of the same lattice, and rescaled the scale to match. The crystal and its pattern are unchanged. The ties between the rhombohedral parameters are not stated, so free the hexagonal parameters you mean to refine.

Level: set by a helper. Raised in rietx/io/projects/fullprof.py.

FULLPROF_SPECIES_NORMALISED#

A FullProf scattering label was respelled.

FullProf writes the scattering label in the author’s case, and it can put the charge sign first. The reader respelled the label in the standard element-and-charge form. On a neutron file, an isotope set by a user scattering length is read as that isotope. The structure holds one spelling, and the original label stays on the parsed model so you can check it against the file.

Level: info. Raised in rietx/io/projects/fullprof.py.

FULLPROF_SPECIES_WRITTEN_NEUTRAL#

A FullProf ion was written as neutral.

The X-ray scattering table has no entry for this ion, so rietx computed the neutral atom for it. The FullProf file therefore names the neutral element and the ion’s charge is lost. FullProf’s pattern differs from rietx’s by the difference between the two form factors. Respell the site in FullProf if you want the ion.

Level: set by a helper. Raised in rietx/io/projects/fullprof.py.

FULLPROF_TIE_DROPPED#

A FullProf constraint was not carried over.

The FullProf file ties two values together with a shared codeword, and the built structure does not reproduce that tie. The structure has more free parameters than the refinement the file records, so the two refinements can disagree. Re-declare the constraint on the refinement to restore it. The message names the call.

Level: warning. Raised in rietx/io/projects/fullprof.py.

GSAS2_CIF_DEUTERIUM_AS_D#

Deuterium was written as D for GSAS-II.

GSAS-II’s CIF import reads an isotope label such as 2H as hydrogen and says so only on screen. The one isotope label it accepts is D, so deuterium sites are written as D. GSAS-II uses its own scattering length for D. It differs slightly from the value rietx uses. A GSAS-II refinement of this file starts a little away from the rietx answer on those sites.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_CIF_FIELD_NOT_WRITTEN#

A phase CIF cannot state the whole model.

A phase CIF has no tags for refine flags, the phase scale, sample broadening, or several optional phase corrections. GSAS-II builds its project from the file with its own defaults for these. The refinement you start there is not the protocol this model carries. Set these in GSAS-II before you compare results.

Level: warning. Raised in rietx/io/projects/gsas2.py.

GSAS2_CIF_RHOMBOHEDRAL_RESTATED#

A rhombohedral phase was restated for GSAS-II.

GSAS-II’s CIF import gives up on a rhombohedral-axes space group symbol. The writer restated the phase in the hexagonal cell of the same lattice, with the scale adjusted to match. The crystal and its pattern are unchanged. The ties between the rhombohedral parameters are not stated, so free the hexagonal parameters you mean to refine.

Level: set by a helper. Raised in rietx/io/projects/gsas2.py.

GSAS2_CIF_SETTING_IN_OPERATORS#

The setting is stated in the operators.

GSAS-II and rietx read a bare symbol with two origin choices in opposite ways. GSAS-II takes choice 2 and rietx takes choice 1. The CIF therefore states the setting three times: a bare symbol for GSAS-II, a full symbol for rietx, and the symmetry operators. Both programs can check the operators. Each program reads the tag it understands.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_CIF_SPECIES_WRITTEN_NEUTRAL#

A GSAS-II ion was written as neutral.

The X-ray scattering table has no entry for this ion, so the CIF names the neutral element that rietx computed with. The ion’s charge is not in the file, and GSAS-II will scatter from the neutral atom. Respell the site in GSAS-II if you want to refine the ion.

Level: set by a helper. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_BACKGROUND_NOT_CARRIED#

A GSAS-II background was not converted.

GSAS-II fits its background with its own functions, including Debye terms and fitted peaks, and none has an exact counterpart here. The function name and coefficients stay on the parsed model and nothing is converted. Choose a background and refine it. An Rwp you compute is not comparable with the file’s until the backgrounds match.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_CONSTRAINT_NOT_CARRIED#

GSAS-II constraints were not applied.

The project holds constraints between parameters, and the built structure applies none of them. It has more free parameters than the GSAS-II refinement had. An equivalence can be restored with one tie on the refinement. A constraint equation or a new variable has no single call that restores it, so read it and match your free set by hand.

Level: warning. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_COORDINATES_SYMMETRY_FIXED#

A GSAS-II flag sits on a fixed site.

The GSAS-II coordinate flag means refine as symmetry permits. These sites sit on special positions where symmetry permits no movement, so nothing of them was free in GSAS-II either. The reader holds the coordinates. The parameter count matches the file’s.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_ITEM_NOT_READ#

Part of the GSAS-II project was not read.

A project file holds a whole GSAS-II session, and this reader takes the powder part. Images, single-crystal histograms, sequential-fit results, restraints and tree items it has no rule for are named in the message and carried nowhere. A time-of-flight histogram is kept with its numbers, but its profile coefficients belong to a different function from the one fitted here.

Level: warning. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_PHASE_MAGNETIC#

A magnetic phase appears in the GSAS-II project.

The project holds a phase that GSAS-II types as magnetic, or a nuclear phase linked to a magnetic partner. This reader does not read the magnetic block, so a magnetic phase cannot be built. Its nuclear half alone would look complete. Other phases build, but where they share a histogram with a magnetic phase the file’s figures include magnetic scattering. A magCIF of the structure carries the moments.

Level: warning, set at run time. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_SCALE_NOT_COMPARABLE#

A GSAS-II scale was not converted.

GSAS-II keeps a histogram scale and a phase scale, and each folds its own normalisation into one number. Neither is a rietx scale, so the reader seeds the scale at a small starting value. Refine it before you trust it. Phase fractions from the two programs agree only after both have refined.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_SETTING_FROM_OPERATORS#

The setting was read from the operators.

The project names a space group symbol that exists in more than one setting. GSAS-II also stores the symmetry operators, so the reader takes the setting from them and assumes nothing. The built phase can carry a longer symbol than the one the file wrote. The setting is the one the file states.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_SPECIES_NORMALISED#

A GSAS-II atom type was respelled.

GSAS-II writes the charge sign first and keeps the isotope outside the atom type. The reader respelled each label in the standard element-and-charge form, with a mass number in front for an isotope. The structure holds one spelling, and the original label stays on the parsed model so you can check it against the file.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_TEXTURE_CONVERTED#

A GSAS-II texture was converted.

GSAS-II places the sample angle of its spherical-harmonics texture differently from rietx for a Bragg-Brentano histogram, and it normalises some terms differently. Each coefficient was multiplied by the factor that maps one onto the other. Compare coefficients with GSAS-II only through that conversion, and fit under the bragg_brentano geometry.

Level: info. Raised in rietx/io/projects/gsas2.py.

GSAS2_GPX_TEXTURE_NOT_CARRIED#

A GSAS-II texture was not carried over.

The phase has a spherical-harmonics texture that cannot be converted exactly. The cause is named in the message, such as a different geometry, histograms that disagree, or terms GSAS-II itself evaluates inconsistently. The built phase has no texture, so intensities the texture explained are left unexplained. Declare a texture yourself and refine it from zero.

Level: set at run time. Raised in rietx/io/projects/gsas2.py.

GSAS_EXP_BACKGROUND_NOT_CARRIED#

A GSAS background function was not converted.

GSAS offers several background functions, including a reciprocal-Q expansion for air scatter and interpolation between fixed points. None is a rietx background. The function number and coefficients stay on the parsed model and nothing is converted. Choose a background and refine it. An Rwp you compute is not comparable with the file’s until the backgrounds match.

Level: info. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_COORDINATES_SYMMETRY_FIXED#

A GSAS flag sits on a fixed site.

The GSAS coordinate flag means refine as symmetry permits. These sites sit on special positions where symmetry permits no movement, so nothing of them was free in GSAS either. The reader holds the coordinates. The parameter count matches the file’s.

Level: info. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_HISTOGRAM_NOT_READ#

A GSAS histogram was only partly read.

The histogram is single-crystal data, time-of-flight or energy-dispersive data, or it states no radiation type. Its profile functions number their coefficients differently from the constant-wavelength ones rietx names. The histogram stays on the parsed model with its ranges, but its profile coefficients are left unnamed. Naming them under the wrong order would put every width on the wrong term.

Level: warning. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_PHASE_MAGNETIC#

A magnetic phase appears in the GSAS file.

GSAS types some phases as magnetic. This reader does not read the magnetic block of a .EXP file, so it refuses to build that phase. Its nuclear half alone would look complete. The cell and sites stay readable on the parsed model. A magCIF of the structure carries the moments.

Level: warning. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_REFINE_FLAG_MERGED#

A GSAS flag is wider than the structure.

GSAS has one refine flag for the whole cell and one for a site’s three coordinates, each meaning refine as symmetry permits. Some members of such a group are held in your structure and others are free. The writer sets the flag free where any member varies, so the file frees a parameter you held. Reading the file back gives every member the same flag. Hold or free the whole group first.

Level: warning. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_SCALE_NOT_COMPARABLE#

A GSAS scale was not converted.

The GSAS histogram scale folds its own normalisation and the phase fraction into one number. It is not a rietx scale, so the reader seeds the scale at a small starting value. Refine it before you trust it. Phase fractions from the two programs agree only after both have refined.

Level: info. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_SPECIES_NORMALISED#

A GSAS atom type was respelled.

GSAS writes the scattering type in upper case, and it writes an isotope as the element, the valence and the isotope number after an underscore. The reader respelled the type in the standard form, with the mass number in front for an isotope. The structure holds one spelling, and the original stays on the parsed model.

Level: info. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_SPECIES_WRITTEN_NEUTRAL#

A GSAS ion was written as neutral.

The X-ray scattering table has no entry for this ion, so rietx computed the neutral atom for it. The .EXP file therefore names the neutral element and the ion’s charge is lost. GSAS will scatter from the neutral atom. Respell the type in GSAS if you want the ion.

Level: set by a helper. Raised in rietx/io/projects/gsas.py.

GSAS_EXP_VALUE_NARROWED#

Written values lost trailing digits.

A .EXP file reads each number from a fixed-width field. A value whose shortest exact decimal is longer than the field was written to the precision the field holds. The rounding is normally far smaller than the refined uncertainty. Displacement parameters are the usual case, because GSAS stores a different form of them. It matters only if you compare numbers bit for bit.

Level: info. Raised in rietx/io/projects/gsas.py.

GSAS_FIELD_OVERFLOW#

A GSAS field holds only asterisks.

Fortran prints asterisks when a number is too wide for its field. GSAS had a value here and could not write it. The field is optional, so the reader treats it as absent. A missing value on the model does not mean the file left it out. Take the value from GSAS’s own listing if you need it.

Level: warning. Raised in rietx/io/projects/gsas.py.

TOPAS_BLOCK_SKIPPED#

A TOPAS block is not a phase.

A str block states a cell or sites but no phase name or space group, so the reader cannot treat it as a phase. It is kept on the parsed model and not built. Building a structure refuses while other phases build, because dropping a block that has a cell would leave the phase fractions short. State the missing name or space group in the file and read it again.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_CELL_COUPLING_DROPPED#

Tied TOPAS lattice parameters are independent here.

The file ties one lattice parameter to another, for example by copying one into the other. The reader copies the value and not the tie. The space group does not tie the two edges either, so they can refine apart. That is a different refinement from the one in the file. Tie the edges on the refinement before you fit.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_FEATURES_NOT_IMPORTED#

The TOPAS import is partial.

A TOPAS input states more than a structure, such as peak shapes, broadening, corrections, restraints and library macros. The import carries the structure and reports the rest. The cell and coordinates are the file’s values. An Rwp from rietx’s own profile model is not comparable with the file’s. A call to a macro the file never defines looks like a spelling error, and it is reported too.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_FEATURE_REFUSED#

A TOPAS construct blocks building the structure.

The file states a construct that would misrepresent the refinement if it were left out. Examples are a rigid body, a stacking-fault model, a magnetic structure and time-of-flight data. The reader parses the file and keeps its numbers, but building a structure refuses. Read the parsed phases for what the file states.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_FIELD_NOT_WRITTEN#

A phase term was left out of TOPAS.

Some phase terms away from their neutral values have no statement in the TOPAS file. Examples are extinction, magnetic-only widths, texture and a preferred orientation. TOPAS computes those phases without them, so its pattern and its fit differ from rietx’s. State the terms in TOPAS before you compare.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_FIRST_RUN_READ#

Only the first TOPAS run was read.

A conditional in the input tests the run number, and the file asks for more than one run. Later runs process the same file into different text. The reader used the branches the first run takes, so the model is the first run’s. Where the conditional gates only output commands the model is unaffected. Read the other branches for the run you want.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_MAGNETIC_GROUP_READ#

A magnetic group was read from its number.

The file gives a magnetic space group as a BNS or OG number. The reader resolved it to symmetry operators in the standard setting of that number. Where the file states no nuclear space group, the reader derived it from those operators with time reversal dropped. Coordinates and moments are assumed to be in that setting. Supply your own operators if the file uses another setting.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_MAGNETIC_PART_MERGED#

Two TOPAS phases were merged.

The file writes a magnetic-only part as a second phase beside the nuclear one. The reader checked that the two share scale, cell, space group and site positions, then put the moments onto the nuclear phase. The second phase’s own scale is not kept apart, so refine the merged phase as one. A file whose two phases disagree is refused.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_MOMENT_CONVENTION#

TOPAS moment components were read as cell fractions.

TOPAS gives the components of a moment as fractions of the lattice parameters a, b and c. The reader multiplies each by its lattice parameter to store crystal-axis components in Bohr magnetons. This follows the TOPAS reference and agrees with TOPAS’s own calculated intensities on a monoclinic cell. A different reading gives different magnetic intensities on a non-cubic cell.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_MOMENT_G_HELD#

A refined Landé factor is held fixed.

The TOPAS file refines the Landé g factor on a magnetic site. rietx holds g at a fixed number, so the built model has fewer free parameters than the file’s refinement. The factor sets the weight of the orbital part of the magnetic form factor. Set another value on the structure to test it, and remember that g did not move when you compare fits.

Level: warning. Raised in rietx/io/projects/topas.py.

TOPAS_MOMENT_ION_UNCHARGED#

A magnetic site has no oxidation state.

The magnetic form factor depends on the oxidation state of the ion. A site with a moment and an uncharged species gets the form factor of the neutral atom. That is a different curve. The magnetic intensities then differ from those of the ion. Write the site with its charge in the TOPAS file so the ion resolves.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_ORIGIN_TRANSLATED#

A TOPAS origin suffix was translated.

TOPAS writes the origin or axes choice of a space group as a trailing letter. The reader translated that letter into the extension the symmetry tables use. Dropping the letter would select the other origin without a warning, because a bare symbol means origin choice 1. The built phase has the space group the file meant.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_PHASE_RESTATED_IN_P1#

A magnetic phase was written in P1.

TOPAS has no magnetic space group number for some phases, such as a supercell, a family group without a tabulated number, or a non-standard setting. The writer listed every atom of the cell in P1 and tied each copy to the parameter it copies. The file is long, and each copy follows its parent.

Level: info. Raised in rietx/io/projects/topas_input.py.

TOPAS_PHASE_TERM_READ#

A parameter was read as a phase term.

TOPAS has no keyword for extinction or the magnetic Lorentzian widths of a phase. The reader takes parameters with the names rietx writes for them as those terms. A parameter of your own that happens to share one of those names is read the same way. If the name means something else in your file, set the phase term back on the built structure.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_SPECIES_NORMALISED#

A TOPAS atom label was respelled.

TOPAS writes an ionic charge sign first. The reader reordered it into the standard form with the digit first, so the scattering tables find the ion. The atom and its charge are the same as in the file. The structure holds only this spelling.

Level: info. Raised in rietx/io/projects/topas.py.

TOPAS_SPECIES_WRITTEN_NEUTRAL#

A TOPAS ion was written as neutral.

The X-ray scattering table has no entry for this ion, so rietx computed the neutral atom for it. The TOPAS file therefore names the neutral element and the ion’s charge is lost. A site that carries a moment keeps its ion. Respell the site in TOPAS if you want to refine the ion.

Level: set by a helper. Raised in rietx/io/projects/topas.py.