IMAS v3.42.0
This version is a bridge between the V3 and V4 IMAS data dictionary. Some fields that we've taken for granted are becoming obsolescent. Just putting it out here so people can give it a try.
@torrinba please note that the newsletter about 3.42.0 says that "Changed suffixes *_tor into *_phi to denote the toroidal component of a vector in the (R,phi,Z) right-handed cylinder coordinate system (change included in 3.42.0)".
However this is not always true (I have marked the exceptions with a * in the list below). Does somebody understand the logic with which only certain fields go from _tor to _phi?
I am very worried of people starting to mix the usage of the _tor and _phi fields...
waves.coherent_wave[:].profiles_2d[:].ion[:].state[:].power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].ion[:].state[:].power_density_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].ion[:].power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].ion[:].power_density_thermal_n_tor ↔ _phi
* waves.coherent_wave[:].profiles_2d[:].grid.rho_tor
waves.coherent_wave[:].profiles_2d[:].electrons.power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].electrons.power_density_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].n_tor ↔ _phi
waves.coherent_wave[:].profiles_2d[:].power_density_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].state[:].power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].state[:].power_density_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].state[:].power_inside_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].state[:].power_inside_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].power_density_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].power_inside_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].ion[:].power_inside_thermal_n_tor ↔ _phi
* waves.coherent_wave[:].profiles_1d[:].grid.rho_tor
waves.coherent_wave[:].profiles_1d[:].electrons.power_density_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].electrons.power_density_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].electrons.power_inside_fast_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].electrons.power_inside_thermal_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].current_parallel_density_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].power_density_n_tor ↔ _phi
waves.coherent_wave[:].profiles_1d[:].power_inside_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].ion[:].state[:].power_fast_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].ion[:].state[:].power_thermal_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].ion[:].power_fast_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].ion[:].power_thermal_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].electrons.power_fast_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].electrons.power_thermal_n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].current_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].n_tor ↔ _phi
waves.coherent_wave[:].global_quantities[:].power_n_tor ↔ _phi
waves.coherent_wave[:].beam_tracing[:].beam[:].wave_vector.k_tor ↔ _phi
waves.coherent_wave[:].beam_tracing[:].beam[:].wave_vector.n_tor ↔ _phi
waves.coherent_wave[:].beam_tracing[:].beam[:].wave_vector.varying_n_tor ↔ _phi
wall.global_quantities.current_tor ↔ _phi
* transport_solver_numerics.solver_1d[:].grid.rho_tor
transport_solver_numerics.derivatives_1d[:].ion[:].state[:].d_dt.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].ion[:].state[:].d_drho_tor_norm.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].ion[:].state[:].d2_drho_tor_norm2.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].ion[:].d_dt.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].ion[:].d_drho_tor_norm.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].ion[:].d2_drho_tor_norm2.velocity_tor ↔ _phi
* transport_solver_numerics.derivatives_1d[:].grid.rho_tor
transport_solver_numerics.derivatives_1d[:].electrons.d_dt.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].electrons.d_drho_tor_norm.velocity_tor ↔ _phi
transport_solver_numerics.derivatives_1d[:].electrons.d2_drho_tor_norm2.velocity_tor ↔ _phi
* transport_solver_numerics.derivatives_1d[:].dpsi_drho_tor
* summary.local.separatrix_average.position.rho_tor
* summary.local.separatrix.position.rho_tor
* summary.local.pedestal.position.rho_tor
* summary.local.magnetic_axis.position.rho_tor
* summary.local.itb.position.rho_tor
* spi.injector[:].pellet.velocity_tor
* spi.injector[:].fragment[:].velocity_tor
* spi.injector[:].velocity_mass_centre_fragments_tor
* spectrometer_visible.channel[:].polarization_spectroscopy.e_field_lh_tor
* sawteeth.profiles_1d[:].grid.rho_tor
* sawteeth.profiles_1d[:].j_tor
* sawteeth.profiles_1d[:].momentum_tor
* runaway_electrons.profiles_1d[:].grid.rho_tor
runaway_electrons.global_quantities.current_tor ↔ _phi
* runaway_electrons.distribution.markers[:].orbit_integrals.n_tor
* radiation.process[:].profiles_1d[:].grid.rho_tor
* plasma_transport.model[:].profiles_1d[:].grid_v.rho_tor
* plasma_transport.model[:].profiles_1d[:].grid_flux.rho_tor
* plasma_transport.model[:].profiles_1d[:].grid_d.rho_tor
* plasma_sources.source[:].profiles_1d[:].grid.rho_tor
plasma_sources.source[:].profiles_1d[:].momentum_tor ↔ _phi
plasma_sources.source[:].global_quantities[:].torque_tor ↔ _phi
* plasma_profiles.profiles_2d[:].ion[:].state[:].rotation_frequency_tor
* plasma_profiles.profiles_2d[:].ion[:].rotation_frequency_tor
* plasma_profiles.profiles_1d[:].ion[:].state[:].rotation_frequency_tor
* plasma_profiles.profiles_1d[:].ion[:].rotation_frequency_tor
* plasma_profiles.profiles_1d[:].grid.rho_tor
* plasma_profiles.global_quantities.beta_tor
plasma_initiation.profiles_2d[:].e_field_tor ↔ _phi
ntms.time_slice[:].mode[:].onset.n_tor ↔ _phi
ntms.time_slice[:].mode[:].detailed_evolution.n_tor ↔ _phi
* ntms.time_slice[:].mode[:].detailed_evolution.rho_tor
ntms.time_slice[:].mode[:].n_tor ↔ _phi
* ntms.time_slice[:].mode[:].rho_tor
mhd_linear.time_slice[:].toroidal_mode[:].n_tor ↔ _phi
* lh_antennas.antenna[:].row[:].n_tor
ic_antennas.antenna[:].surface_current[:].n_tor ↔ _phi
ic_antennas.antenna[:].module[:].strap[:].width_tor ↔ _phi
gyrokinetics_local.normalizing_quantities.b_field_tor ↔ _phi
ferritic.object[:].time_slice[:].b_field_tor ↔ _phi
ferritic.object[:].time_slice[:].magnetic_moment_tor ↔ _phi
equilibrium.time_slice[:].profiles_2d[:].b_field_tor ↔ _phi
equilibrium.time_slice[:].profiles_2d[:].j_tor ↔ _phi
* equilibrium.time_slice[:].profiles_1d.darea_drho_tor
* equilibrium.time_slice[:].profiles_1d.dpsi_drho_tor
* equilibrium.time_slice[:].profiles_1d.dvolume_drho_tor
equilibrium.time_slice[:].profiles_1d.j_tor ↔ _phi
* equilibrium.time_slice[:].profiles_1d.rho_tor
equilibrium.time_slice[:].global_quantities.magnetic_axis.b_field_tor ↔ _phi
* equilibrium.time_slice[:].global_quantities.beta_tor
* edge_profiles.profiles_1d[:].ion[:].state[:].rotation_frequency_tor
* edge_profiles.profiles_1d[:].ion[:].rotation_frequency_tor
* edge_profiles.profiles_1d[:].grid.rho_tor
edge_profiles.profiles_1d[:].j_tor ↔ _phi
edge_profiles.profiles_1d[:].momentum_tor ↔ _phi
ece.channel[:].beam_tracing[:].beam[:].wave_vector.k_tor ↔ _phi
ece.channel[:].beam_tracing[:].beam[:].wave_vector.n_tor ↔ _phi
ece.channel[:].beam_tracing[:].beam[:].wave_vector.varying_n_tor ↔ _phi
* ec_launchers.beam[:].steering_angle_tor
distributions.distribution[:].profiles_2d[:].trapped.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].trapped.current_tor ↔ _phi
* distributions.distribution[:].profiles_2d[:].grid.rho_tor
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].counter_passing.current_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].co_passing.current_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].current_fast_tor ↔ _phi
distributions.distribution[:].profiles_2d[:].current_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.source[:].momentum_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].trapped.current_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].thermalisation.momentum_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].source[:].momentum_tor ↔ _phi
* distributions.distribution[:].profiles_1d[:].grid.rho_tor
distributions.distribution[:].profiles_1d[:].counter_passing.source[:].momentum_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].counter_passing.current_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.source[:].momentum_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.current_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].co_passing.current_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].current_fast_tor ↔ _phi
distributions.distribution[:].profiles_1d[:].current_tor ↔ _phi
* distributions.distribution[:].markers[:].orbit_integrals.n_tor
distributions.distribution[:].global_quantities[:].source[:].torque_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.ion[:].state[:].torque_fast_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.ion[:].state[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.ion[:].torque_fast_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.ion[:].torque_thermal_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.electrons.torque_fast_tor ↔ _phi
distributions.distribution[:].global_quantities[:].collisions.electrons.torque_thermal_tor ↔ _phi
distributions.distribution[:].global_quantities[:].current_tor ↔ _phi
* distribution_sources.source[:].profiles_1d[:].grid.rho_tor
distribution_sources.source[:].profiles_1d[:].momentum_tor ↔ _phi
* distribution_sources.source[:].markers[:].orbit_integrals.n_tor
distribution_sources.source[:].global_quantities[:].shinethrough.torque_tor ↔ _phi
distribution_sources.source[:].global_quantities[:].torque_tor ↔ _phi
* disruption.profiles_1d[:].grid.rho_tor
disruption.global_quantities.current_halo_tor ↔ _phi
* core_transport.model[:].profiles_1d[:].grid_v.rho_tor
* core_transport.model[:].profiles_1d[:].grid_flux.rho_tor
* core_transport.model[:].profiles_1d[:].grid_d.rho_tor
* core_sources.source[:].profiles_1d[:].grid.rho_tor
core_sources.source[:].profiles_1d[:].momentum_tor ↔ _phi
core_sources.source[:].global_quantities[:].torque_tor ↔ _phi
* core_profiles.profiles_2d[:].ion[:].state[:].rotation_frequency_tor
* core_profiles.profiles_2d[:].ion[:].rotation_frequency_tor
core_profiles.profiles_2d[:].momentum_tor ↔ _phi
* core_profiles.profiles_1d[:].ion[:].state[:].rotation_frequency_tor
* core_profiles.profiles_1d[:].ion[:].rotation_frequency_tor
* core_profiles.profiles_1d[:].grid.rho_tor
core_profiles.profiles_1d[:].j_tor ↔ _phi
core_profiles.profiles_1d[:].momentum_tor ↔ _phi
* core_profiles.global_quantities.beta_tor
* core_instant_changes.change[:].profiles_1d[:].ion[:].state[:].rotation_frequency_tor
* core_instant_changes.change[:].profiles_1d[:].ion[:].rotation_frequency_tor
* core_instant_changes.change[:].profiles_1d[:].grid.rho_tor
core_instant_changes.change[:].profiles_1d[:].j_tor ↔ _phi
core_instant_changes.change[:].profiles_1d[:].momentum_tor ↔ _phi
b_field_non_axisymmetric.time_slice[:].field_map.b_field_tor ↔ _phi
b_field_non_axisymmetric.time_slice[:].control_surface[:].b_field_tor ↔ _phi
* b_field_non_axisymmetric.time_slice[:].control_surface[:].n_tor
Agreed, most _tor variables are marked as obsolescent in this release to encourage the migration to _phi names. The _tor variables are removed in IMAS 4.0 so my understanding is that 3.42 is meant to be a stepping stone. It makes sense for OMAS to follow this approach as well, assuming it will ever transition to IMAS 4.0.
The machine mappings in OMAS should be updated to use the _phi naming convention with the move to 3.42. Do you see this as a requirement before allowing 3.42 in OMAS @orso82?
I don't know why some _tor names are retained, other than rho_tor being a special case that is recognized. I opened this Jira issue to see if there is a more official criteria https://jira.iter.org/projects/IMAS/issues/IMAS-5677
This PR has not seen any activity in the past 60 days. It is now marked as stale and will be closed in 7 days if no further activity is registered.
This PR has not seen any activity in the past 60 days. It is now marked as stale and will be closed in 7 days if no further activity is registered.