Read Entire IDSΒΆ

This example focuses on reading whole IDS from entry.

See also

API documentation for ids_isdefined()

% We are storing and reading back an IDS - equilibrium. Data are stored inside MDS+ file.

    % NOTE: this block of code uses 'w' mode in order to create example data
    mode_w = 43;
    ctx = imas_open('imas:mdsplus?path=./testdb_mdsplus', mode_w);
    
    % fill IDS with example data
    equilibrium = ids_init('equilibrium');
    equilibrium.ids_properties.homogeneous_time = 1;
    equilibrium.time = [1.0, 2.0, 3.0];
    equilibrium.vacuum_toroidal_field.b0 = [1.0, 2.0, 3.0];
    ids_put(ctx, 'equilibrium', equilibrium);
    clear equilibrium;

    % NOTE: this block of code uses 'r' mode in order to read example data
    mode_r = 40;
    ctx = imas_open('imas:mdsplus?path=./testdb_mdsplus', mode_r);
    equilibrium_check = ids_get(ctx, 'equilibrium');

    % here you can access content of the IDS equilibrium
    % some_variable = equilibrium.some_element
    % equilibrium.some_element = ...
    % etc.

    % one may check if IDS was filled with data using ids_isdefined() method
    is_defined = ids_isdefined(equilibrium_check);
    fprintf('is equilibrium defined?: %s\n', mat2str(is_defined));

    clear equilibrium_check;
    imas_close(ctx);