COMCIFS / Powder_Dictionary

CIF definitions for powder diffraction
4 stars 4 forks source link

Does `PD_CALIB_WAVELENGTH` need a `_diffrn.id`? Does it need other wavelength-related data items? #165

Open rowlesmr opened 1 year ago

rowlesmr commented 1 year ago

PD_CALIB_WAVELENGTH is currently keyed on _pcw.diffractogram_id and _pcw.phase_id for the diffractogram and phase which were used to calibrate the wavelength, and on _pcw.diffrn_id "which identifies the diffraction experiment to which this calibration belongs.".

Is this last data item necessary (or even overtly harmful)? Given that if anything associated with DIFFRN changing changes _diffrn.id, a change (for example) in temperature is a new experiment, and therefore, a new calibration, which isn't right.

Also, the other calibration categories store calibration values; this one doesn't. It should have (at least) _pcw.wavelength_id, _pcw.wavelength_value, and _pcw.wavelength_wt. _pcw.wavelength_id should also be added as a key. _pcw.wavelength_values with the same _pcw.wavelength_id must be consistent.

Does this work?

diff_synch_calib_values
###
# This is from a synchrotron.
# You collect two diffraction patterns (eg Aussietron PD beamline)
# Specimen contains Si and LaB6.
# There is one wavelength value
###
loop_
_pd_calib_wavelength.diffractogram_id
_pd_calib_wavelength.phase_id
_pd_calib_wavelength.wavelength_id
_pd_calib_wavelength.wavelength_value
CALIB_PATTERN_1   CALIB_PHASE_1   1   1.23456
CALIB_PATTERN_1   CALIB_PHASE_2   1   1.23456
CALIB_PATTERN_2   CALIB_PHASE_1   1   1.23456
CALIB_PATTERN_2   CALIB_PHASE_2   1   1.23456

diff_lab_calib_values
###
# This is from a lab with a funky monochromator.
# You collect one diffraction pattern from one phase
# There are three wavelength values
###
loop_
_pd_calib_wavelength.diffractogram_id
_pd_calib_wavelength.phase_id
_pd_calib_wavelength.wavelength_id
_pd_calib_wavelength.wavelength_value
_pd_calib_wavelength.wavelength_wt
CALIB_PATTERN_a   CALIB_PHASE_a   a   1.23456   0.7
CALIB_PATTERN_a   CALIB_PHASE_a   b   1.34567   0.2
CALIB_PATTERN_a   CALIB_PHASE_a   c   1.45678   0.1

data_synch_data
_pd_diffractogram_id SYNCH
loop_
_diffrn_radiation_wavelength.id
1
#...

data_lab_data
_pd_diffractogram_id LAB
loop_
_diffrn_radiation_wavelength.id
a b c
#...

data_common_unknown_phase
_pd_phase.id COMPLICATED_STRUCTURE
#which is in both patterns
#...