Skip to content

Toksearch integration - #433

Draft
AreWeDreaming wants to merge 46 commits into
masterfrom
ssd/finish_toksearch_integration
Draft

AreWeDreaming wants to merge 46 commits into
masterfrom
ssd/finish_toksearch_integration

Conversation

@AreWeDreaming

Copy link
Copy Markdown
Collaborator

Description

This adds a toksearch backend to OMAS. It fundamentally changes how toksearch interacts with MDSplus by having either a native MDSplus mode or a toksearch mode that is stored on a per-ods basis.

Given that this is quite a fundamental change of OMAS this will need a lot of testing.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Other (please describe):

Testing

Pre-Merge Checklist

  • OMFIT has been tested with this OMAS version and you will create a PR on OMFIT that updates the OMAS submodule once this has been merged.
  • Version number has been incremented if this is a major modification or important bug fix
    • To increment the version: Edit the version number in omas/version file
    • Follow semantic versioning: MAJOR.MINOR.PATCH (e.g., 0.94.2 → 0.94.3 for bug fixes, 0.94.2 → 0.95.0 for new features)
    • A GitHub release will be automatically created when this PR is merged if the version number has changed

Additional Notes

- Refactors mdsvalue to mds_provider for better flexibility
- Moves a MDS provider into the ods to cache it on a per-server level
…ch classes

  - Remove BaseDataValue class and move all functionality to mdsvalue
  - Remove old toksearch class, replaced by toksearch_provider
  - Consolidate signal access methods (data, dim_of, units, etc.) in mdsvalue
  - Maintain provider pattern for efficient backend switching
  - Preserve backward compatibility for existing code
  - Clean up class hierarchy and reduce unnecessary abstraction layers
- No passing for all non-OMFIT/ptdata d3d.py fetches
- The EFIT implementation should work now, but toksearch is not cooperating
- Remove some explicit plots yielding failures due to lack of GUI
- Removed options override in `_efit_toksearch`
-  Fix bugs in efit.py
- Skip machine mappings test if there is no mdsplus
- Remove ptdata exclusion
- Completely remove old mdsvalue and mdstree classes
- Also fix bug in ods.contains
@torrinba

torrinba commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

@AreWeDreaming it looks like all of the automatic regression tests are failing. That seems like an important place to start unless they won't work with the toksearch options at all (missing token or other issue)?

torrinba and others added 5 commits August 13, 2026 12:55
EFIT outputs the inferred flux variables (psi, psi_axis, etc) with
a different convention than the diagnostic constraints (e.g. flux_loops)
so the input COCOS for these need to be different. The constraints
are now consistent with the input COCOS of the magnetics IDS.
@torrinba torrinba added the WIP Work in progress label Oct 8, 2026
@torrinba
torrinba marked this pull request as draft October 8, 2026 18:08
torrinba and others added 6 commits October 8, 2026 11:10
# Conflicts:
#	omas/machine_mappings/d3d.py
When a fetch raised, handle_fetch_status still ran in the finally block
with results=None and built {TDI: None}; for a dict or list TDI that
raised TypeError and replaced the original exception.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

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

Labels

WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants