Closed orso82 closed 3 years ago
Merging #140 (a527a8d) into master (db30c1e) will decrease coverage by
0.78%
. The diff coverage is60.34%
.
@@ Coverage Diff @@
## master #140 +/- ##
==========================================
- Coverage 79.53% 78.74% -0.79%
==========================================
Files 50 53 +3
Lines 9811 10201 +390
==========================================
+ Hits 7803 8033 +230
- Misses 2008 2168 +160
Impacted Files | Coverage Δ | |
---|---|---|
omas/examples/omas_dynamic_nc.py | 59.37% <ø> (ø) |
|
omas/omas_imas.py | 22.53% <0.00%> (ø) |
|
omas/omas_nc.py | 95.18% <ø> (ø) |
|
omas/machine_mappings/python_tdi.py | 37.14% <37.14%> (ø) |
|
omas/tests/test_omas_examples.py | 81.92% <50.00%> (-0.79%) |
:arrow_down: |
omas/omas_machine.py | 55.97% <55.97%> (ø) |
|
omas/omas_core.py | 84.33% <61.22%> (-0.88%) |
:arrow_down: |
omas/tests/test_omas_machine.py | 95.00% <95.00%> (ø) |
|
omas/omas_s3.py | 52.56% <100.00%> (ø) |
|
omas/omas_setup.py | 77.89% <100.00%> (+0.72%) |
:arrow_up: |
... and 6 more |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update db30c1e...a527a8d. Read the comment docs.
This PR brings into OMAS the ability to dynamically load machines experimental data directly from their native databases (eg. MDS+ for DIII-D). This is accomplished by defining mappings from these data storages to OMAS.
The mapping information is stored in a json file (see for example d3d.json) and can be defined with the MDS+ TDI language or in Python (but can easily extended to other languages).
OMAS can use these local mappings files or download their latest version from any branch on GitHub. OMAS will fallback on downloading the latest mappings on the
master
when the user requests a mapping that is not known. This should allow us to keep adding new mappings without being too concerned about keep having to release new OMAS versions.Why this is nice:
clients
not theserver
. This means:NOTE: The mapping info could at a later stage be used also by other technologies (such as UDA) to perform the same kind of mappings (from machines native storages to UDA, for example). The reverse is also true, one could envision parsing the data mapping info used in UDA (defined in XML files) directly in OMAS.
This is OMAS accessing experimental data via IMAS![image](https://user-images.githubusercontent.com/1537880/105316187-65abef00-5b75-11eb-88ec-ec4c284e21cc.png)
This is OMAS accessing experimental data via UDA (eg. as demonstrated for MAST)![image](https://user-images.githubusercontent.com/1537880/105316309-8aa06200-5b75-11eb-84ef-bb62bc661c27.png)
This is OMAS accessing experimental data directly via its own machine mappings (eg. as done for DIIII-D)![image](https://user-images.githubusercontent.com/1537880/105316455-b4f21f80-5b75-11eb-9740-8a39da936ce1.png)
This is the OMFIT GUI that is being designed to ease and guide the definition of new OMAS mappings:![image](https://user-images.githubusercontent.com/1537880/105321544-6eec8a00-5b7c-11eb-8a36-853a045744b3.png)