Skip to content

fix: GGD ionization_potential is an energy (eV), not a charge (e) - #280

Open
Simon-McIntosh wants to merge 1 commit into
iterorganization:developfrom
Simon-McIntosh:fix/ionisation-potential-units
Open

fix: GGD ionization_potential is an energy (eV), not a charge (e)#280
Simon-McIntosh wants to merge 1 commit into
iterorganization:developfrom
Simon-McIntosh:fix/ionisation-potential-units

Conversation

@Simon-McIntosh

@Simon-McIntosh Simon-McIntosh commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Fixes #277.

ion/state/ionization_potential is declared five times in DD 4.1.1. Four declare eV; the GGD copy in dd_support.xsd declares e (elementary charge). An ionisation potential is an energy, so the GGD declaration is dimensionally wrong — [current]·[time] instead of [mass]·[length]²/[time]² — and contradicts its own siblings.

The element sits directly beneath z_min / z_max / z_average / z_square_average, which are charge numbers legitimately annotated e; the e appears to have been carried down to the adjacent element.

Change

One line, schemas/utilities/dd_support.xsd:11990:

-						<units>e</units>
+						<units>eV</units>

Verification

  • All five declarations of the quantity now declare eV (dd_core_profiles.xsd:424, dd_support.xsd:3372, :9777, :11209, :11986).
  • The charge-number siblings in the same block (z_min, z_max, z_average, z_square_average) are unchanged and still declare e.
  • dd_support.xsd parses as well-formed XML.
  • Resolves 6 paths in 4.1.1: edge_profiles and plasma_profiles GGD, each as the struct-array plus its values and coefficients children.

Metadata-only correction — the stored values were always energies; only the declared unit was wrong.


📚 Documentation preview 📚: https://imas-data-dictionary--280.org.readthedocs.build/en/280/

…arge (e)

The generic-grid copy of ion/state/ionization_potential declares units='e'
(elementary charge) while the four other declarations of the same quantity —
core_profiles/profiles_1d, and the profiles_1d/profiles_2d copies in
dd_support.xsd — all declare 'eV'. An ionisation potential is an energy, so the
GGD declaration is dimensionally wrong ([current].[time] instead of
[mass].[length]^2/[time]^2) and contradicts its own siblings.

The element sits directly beneath z_min/z_max/z_average/z_square_average, which
are charge numbers legitimately annotated 'e'; the 'e' appears to have been
carried down to the adjacent element.

Affects 6 paths in DD 4.1.1 (edge_profiles and plasma_profiles GGD, each as the
struct-array plus its values and coefficients children). Metadata-only
correction: the stored values were always energies, only the declared unit was
wrong.
@github-actions

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GGD ionization_potential declares the charge unit 'e' instead of the energy unit 'eV'

8 participants