The outboard and inboard midplane loci carried a per-dataset height: the
height the data's midplane identifier selected, and the magnetic-axis
height when none was given. A name whose quantity is taken at a stated
height therefore read two heights. Under the lead ruling in
concept-and-notation-registry §10 the midplane is now defined
once, by the major-radius extremum of the flux surface in question:
maximum on the low-field side for the outboard midplane, minimum on the
high-field side for the inboard midplane.
Changed paths:
imas_standard_names/grammar/vocabularies/conventions/concepts.yml,
imas_standard_names/grammar/vocabularies/locus_registry.yml,
tests/grammar/test_locus_definitions_physics_only.py.
Commit 4c044f1, base 2451ab4.
concepts.yml outboard_midplane — before the
equation Z = Z_mid, R > R_axis with
Z_mid "the midplane height the data's midplane identifier
selects, the magnetic-axis height when none is given"; after
R = \max_{S} R,\quad R > R_{\mathrm{axis}} with
S "the magnetic flux surface the point lies on".
concepts.yml inboard_midplane — the same
before, with R < R_axis; after
R = \min_{S} R,\quad R < R_{\mathrm{axis}} with the same
symbols.
concepts.yml poloidal_angle — before "zero on
the outboard midplane and increasing clockwise …"; after "zero on the
outboard side of the horizontal plane through the magnetic axis and
increasing clockwise … That zero coincides with the outboard midplane
only for up-down-symmetric equilibria." The equation
\theta = \operatorname{atan2}(Z_{\mathrm{axis}} - Z,\; R -
R_{\mathrm{axis}}) is unchanged; the added sentence states where
the zero of that equation meets the redefined outboard midplane. The
zero stays on the horizontal plane through the axis, as COCOS 17
requires.
locus_registry.yml outboard_midplane — before
"The low-field-side equatorial midplane: points at the midplane height
with major radius greater than the magnetic-axis radius. The data's
midplane identifier selects that height, or it is the magnetic-axis
height when none is given. For a value at the separatrix intersection use
outboard_midplane_separatrix."; after "The low-field-side equatorial
midplane: the point of maximum major radius on the flux surface in
question. For a value at the separatrix intersection use
outboard_midplane_separatrix."
locus_registry.yml inboard_midplane — before
"The high-field-side equatorial midplane: points at the midplane height
with major radius less than the magnetic-axis radius. The data's midplane
identifier selects that height, or it is the magnetic-axis height when
none is given."; after "The high-field-side equatorial midplane: the
point of minimum major radius on the flux surface in question."
locus_registry.yml outboard_midplane_separatrix
— before "The point where the separatrix crosses the midplane height on
the low-field side, at a major radius greater than the magnetic-axis
radius. The data's midplane identifier selects that height, or it is the
magnetic-axis height when none is given. A separatrix point value at the
outboard midplane is evaluated here."; after "The point where the
separatrix reaches its maximum major radius, on the low-field side. A
separatrix point value at the outboard midplane is evaluated here."
Every other locus definition was read. None restates the midplane height.
midplane defines the reference plane itself on which the
vertical coordinate is zero, not a selected height, and is unchanged.
first_wall_midplane names the specified tokamak midplane
without a height. dr_dz_zero_point keeps its geometric
definition. separatrix keeps its pointer to
outboard_midplane_separatrix.
2451ab4) makes the relation tests fail 5 of 6
(EXIT=1): outboard and inboard
test_midplane_definitions_state_the_major_radius_relation,
test_outboard_midplane_separatrix_is_the_maximum_radius_point,
and both test_midplane_concepts_state_the_major_radius_relation
arms. The physics-only no-DD test passes on that wording, which is why
the relation test is the guard:
logs/negative-control-0e43cde.log.
outboard_midplane definition that drops the
maximum-major-radius relation ("points at the midplane height of the flux
surface in question") fails 1 of 6 (EXIT=1):
logs/negative-control-planted-drop-relation.log.
Each test fails when the code it guards is removed, shown above; the two new
relation tests pass at head
(logs/focused-head.log: 6 passed, EXIT=0).
tests/grammar/ at base 2451ab4: 1282 passed, 32
skipped EXIT=0
(logs/base-tests-grammar.log). At head 4c044f1:
1285 passed, 32 skipped EXIT=0
(logs/head-tests-grammar.log). Zero added failures; the three
extra passes are the relation tests this node added.