gafusion / omas

Ordered Multidimensional Array Structure
http://gafusion.github.io/omas
MIT License
32 stars 15 forks source link

equilibrium.time_slice[].profiles_1d.centroid is no part of IMAS #100

Closed lterzolo2 closed 4 years ago

lterzolo2 commented 4 years ago

Hello the centroid structure is present in the equilibrium ods but not in the corresponding ids.

When I use IMASgo to send my ods to IMAS, there is a warning message : equilibrium.time_slice[].profiles_1d.centroid is no part of IMAS It's not a problem because it is only a warning.

But it becomes a problem when I want to use the load_omas_imas routine to generate a geqdsk file from my IMAS data. The error is: AttributeError: 'time_slice_profiles_1d__structure' object has no attribute 'centroid'. It is not a warning, it is an error so it's blocking my program.

Can I deactivate/bypass the centroid part?

For now, I found a temporary solution. I modified the filled_paths_in_ids routine (in omas_imas.py). In the traverse loop, I added the test: if kid in ['centroid']: continue It makes the job...

My OMAS version is a little old: 0.49.1 IMAS version 3.25.0-4.2.0

Thank you.

Laurent

jsferreira commented 4 years ago

Hi Laurent, The correct path to the magnetic flux surface "centroid" or "geometric_axis" is: equilibrium.time_slice(:).profiles_1d(:).geometric_axis.r(:) equilibrium.time_slice(:).profiles_1d(:).geometric_axis.z(:)

Probably you just need to rename it.

jsferreira commented 4 years ago

It is important to highlight that these fields are defined in the IMAS data structure as:

RZ position of the geometric axis of the magnetic surfaces (defined as (Rmin+Rmax) / 2 and (Zmin+Zmax) / 2 of the surface)

lterzolo2 commented 4 years ago

Ok thanks for the information.

orso82 commented 4 years ago

@jsferreira the geometric axis is not the centroid, which is actually what goes in the GACODE input.profiles. I'll need to open a JIRA issue to request its addition.