Skip to content

A python library to map between fusion data schemas.

License

Notifications You must be signed in to change notification settings

ukaea/pytokamap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pytokamap

Quickstart

The example below maps signals from a UDA shot to a Zarr or NetCDF file.

import pytokamap
mapper = pytokamap.load_mapping("uda.jinja", "globals.json")
mapper.to_zarr(30420, "30420.zarr")
mapper.to_netcdf(30420, "30420.nc")

With the following example template mapping file called uda.jinja:

{
    {% macro comma(loop) %}
        {% if not loop.last %},{% endif %}
    {% endmacro %}

    "amc/plasma_current": {
        "MAP_TYPE": "PLUGIN",
        "PLUGIN": "UDA",
        "ARGS": {"signal": "ip", "format": "IDA"},
        "SCALE": 1000
    },
    {% for index in range(1, TCAM.N+1) %}
    "_xsx/tcam_{{index}}": {
        "MAP_TYPE": "PLUGIN",
        "PLUGIN": "UDA",
        "ARGS": {"signal": "XSX/TCAM/{{ index }}", "format": "IDA"}
    },
    {% endfor %}
    "xsx/tcam": {
        "MAP_TYPE": "CUSTOM",
        "CUSTOM_TYPE": "COMBINE",
        "ARGS": [
            {% for index in range(1, TCAM.N+1) %}
                "_xsx/tcam_{{index}}"{{ comma(loop) }}
            {% endfor %}
        ]
    }
}

And the following globals.json file:

{
    "TCAM": {
        "N": 3
    }
}

About

A python library to map between fusion data schemas.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages