diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_b_field_non_axisymmetric.m b/matlab/TCV_IMAS/ids_empty/ids_empty_b_field_non_axisymmetric.m
new file mode 100644
index 0000000000000000000000000000000000000000..a9c2f227113d7a345e53019577ddf259fb8cb45c
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_b_field_non_axisymmetric.m
@@ -0,0 +1,161 @@
+function S = ids_empty_b_field_non_axisymmetric
+% function S = ids_empty_b_field_non_axisymmetric
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'configuration','',...
+'control_surface_names',{{}},...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'time',double([]),...
+'time_slice',{{struct(...
+'control_surface',{{struct(...
+'b_field_normal',double([]),...
+'b_field_normal_error_index',int32(-999999999),...
+'b_field_normal_error_lower',double([]),...
+'b_field_normal_error_upper',double([]),...
+'b_field_normal_fourier',double([]),...
+'b_field_normal_fourier_error_index',int32(-999999999),...
+'b_field_normal_fourier_error_lower',double([]),...
+'b_field_normal_fourier_error_upper',double([]),...
+'b_field_r',double([]),...
+'b_field_r_error_index',int32(-999999999),...
+'b_field_r_error_lower',double([]),...
+'b_field_r_error_upper',double([]),...
+'b_field_tor',double([]),...
+'b_field_tor_error_index',int32(-999999999),...
+'b_field_tor_error_lower',double([]),...
+'b_field_tor_error_upper',double([]),...
+'b_field_z',double([]),...
+'b_field_z_error_index',int32(-999999999),...
+'b_field_z_error_lower',double([]),...
+'b_field_z_error_upper',double([]),...
+'n_tor',int32([]),...
+'normal_vector',struct(...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'outline',struct(...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]))
+}},...
+'field_map',struct(...
+'b_field_r',double([]),...
+'b_field_r_error_index',int32(-999999999),...
+'b_field_r_error_lower',double([]),...
+'b_field_r_error_upper',double([]),...
+'b_field_tor',double([]),...
+'b_field_tor_error_index',int32(-999999999),...
+'b_field_tor_error_lower',double([]),...
+'b_field_tor_error_upper',double([]),...
+'b_field_z',double([]),...
+'b_field_z_error_index',int32(-999999999),...
+'b_field_z_error_lower',double([]),...
+'b_field_z_error_upper',double([]),...
+'grid',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'ripple_amplitude',double([]),...
+'ripple_amplitude_error_index',int32(-999999999),...
+'ripple_amplitude_error_lower',double([]),...
+'ripple_amplitude_error_upper',double([])),...
+'time',double(-9e+40))
+}});
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_camera_x_rays.m b/matlab/TCV_IMAS/ids_empty/ids_empty_camera_x_rays.m
new file mode 100644
index 0000000000000000000000000000000000000000..318a307220dbf8ae6683441387afbc369c3281f9
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_camera_x_rays.m
@@ -0,0 +1,425 @@
+function S = ids_empty_camera_x_rays
+% function S = ids_empty_camera_x_rays
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'aperture',struct(...
+'centre',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'geometry_type',int32(-999999999),...
+'outline',struct(...
+'x1',double([]),...
+'x1_error_index',int32(-999999999),...
+'x1_error_lower',double([]),...
+'x1_error_upper',double([]),...
+'x2',double([]),...
+'x2_error_index',int32(-999999999),...
+'x2_error_lower',double([]),...
+'x2_error_upper',double([])),...
+'radius',double(-9e+40),...
+'radius_error_index',int32(-999999999),...
+'radius_error_lower',double(-9e+40),...
+'radius_error_upper',double(-9e+40),...
+'surface',double(-9e+40),...
+'surface_error_index',int32(-999999999),...
+'surface_error_lower',double(-9e+40),...
+'surface_error_upper',double(-9e+40),...
+'x1_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x1_width',double(-9e+40),...
+'x1_width_error_index',int32(-999999999),...
+'x1_width_error_lower',double(-9e+40),...
+'x1_width_error_upper',double(-9e+40),...
+'x2_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x2_width',double(-9e+40),...
+'x2_width_error_index',int32(-999999999),...
+'x2_width_error_lower',double(-9e+40),...
+'x2_width_error_upper',double(-9e+40),...
+'x3_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'camera',struct(...
+'camera_dimensions',double([]),...
+'camera_dimensions_error_index',int32(-999999999),...
+'camera_dimensions_error_lower',double([]),...
+'camera_dimensions_error_upper',double([]),...
+'centre',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'identifier','',...
+'line_of_sight',struct(...
+'first_point',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'second_point',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([]))),...
+'pixel_dimensions',double([]),...
+'pixel_dimensions_error_index',int32(-999999999),...
+'pixel_dimensions_error_lower',double([]),...
+'pixel_dimensions_error_upper',double([]),...
+'pixel_position',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'pixels_n',int32([]),...
+'x1_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x2_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x3_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'detector_humidity',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'detector_temperature',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'energy_configuration_name','',...
+'energy_threshold_lower',double([]),...
+'energy_threshold_lower_error_index',int32(-999999999),...
+'energy_threshold_lower_error_lower',double([]),...
+'energy_threshold_lower_error_upper',double([]),...
+'exposure_time',double(-9e+40),...
+'exposure_time_error_index',int32(-999999999),...
+'exposure_time_error_lower',double(-9e+40),...
+'exposure_time_error_upper',double(-9e+40),...
+'filter_window',struct(...
+'centre',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'curvature_type',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'geometry_type',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'identifier','',...
+'material',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'outline',struct(...
+'x1',double([]),...
+'x1_error_index',int32(-999999999),...
+'x1_error_lower',double([]),...
+'x1_error_upper',double([]),...
+'x2',double([]),...
+'x2_error_index',int32(-999999999),...
+'x2_error_lower',double([]),...
+'x2_error_upper',double([])),...
+'photon_absorption',double([]),...
+'photon_absorption_error_index',int32(-999999999),...
+'photon_absorption_error_lower',double([]),...
+'photon_absorption_error_upper',double([]),...
+'radius',double(-9e+40),...
+'radius_error_index',int32(-999999999),...
+'radius_error_lower',double(-9e+40),...
+'radius_error_upper',double(-9e+40),...
+'surface',double(-9e+40),...
+'surface_error_index',int32(-999999999),...
+'surface_error_lower',double(-9e+40),...
+'surface_error_upper',double(-9e+40),...
+'thickness',double(-9e+40),...
+'thickness_error_index',int32(-999999999),...
+'thickness_error_lower',double(-9e+40),...
+'thickness_error_upper',double(-9e+40),...
+'wavelength_lower',double(-9e+40),...
+'wavelength_lower_error_index',int32(-999999999),...
+'wavelength_lower_error_lower',double(-9e+40),...
+'wavelength_lower_error_upper',double(-9e+40),...
+'wavelength_upper',double(-9e+40),...
+'wavelength_upper_error_index',int32(-999999999),...
+'wavelength_upper_error_lower',double(-9e+40),...
+'wavelength_upper_error_upper',double(-9e+40),...
+'wavelengths',double([]),...
+'wavelengths_error_index',int32(-999999999),...
+'wavelengths_error_lower',double([]),...
+'wavelengths_error_upper',double([]),...
+'x1_curvature',double(-9e+40),...
+'x1_curvature_error_index',int32(-999999999),...
+'x1_curvature_error_lower',double(-9e+40),...
+'x1_curvature_error_upper',double(-9e+40),...
+'x1_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x1_width',double(-9e+40),...
+'x1_width_error_index',int32(-999999999),...
+'x1_width_error_lower',double(-9e+40),...
+'x1_width_error_upper',double(-9e+40),...
+'x2_curvature',double(-9e+40),...
+'x2_curvature_error_index',int32(-999999999),...
+'x2_curvature_error_lower',double(-9e+40),...
+'x2_curvature_error_upper',double(-9e+40),...
+'x2_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x2_width',double(-9e+40),...
+'x2_width_error_index',int32(-999999999),...
+'x2_width_error_lower',double(-9e+40),...
+'x2_width_error_upper',double(-9e+40),...
+'x3_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'frame',{{struct(...
+'counts_n',int32([]),...
+'time',double(-9e+40))
+}},...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'latency',double(-9e+40),...
+'latency_error_index',int32(-999999999),...
+'latency_error_lower',double(-9e+40),...
+'latency_error_upper',double(-9e+40),...
+'name','',...
+'photon_energy',double([]),...
+'photon_energy_error_index',int32(-999999999),...
+'photon_energy_error_lower',double([]),...
+'photon_energy_error_upper',double([]),...
+'pixel_status',int32([]),...
+'quantum_efficiency',double([]),...
+'quantum_efficiency_error_index',int32(-999999999),...
+'quantum_efficiency_error_lower',double([]),...
+'quantum_efficiency_error_upper',double([]),...
+'readout_time',double(-9e+40),...
+'readout_time_error_index',int32(-999999999),...
+'readout_time_error_lower',double(-9e+40),...
+'readout_time_error_upper',double(-9e+40),...
+'time',double([]));
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_focs.m b/matlab/TCV_IMAS/ids_empty/ids_empty_focs.m
new file mode 100644
index 0000000000000000000000000000000000000000..09abb49ff17e3a7bc42e38bca9ce01a7006c9681
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_focs.m
@@ -0,0 +1,164 @@
+function S = ids_empty_focs
+% function S = ids_empty_focs
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'b_field_z',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([]),...
+'validity',int32(-999999999),...
+'validity_timed',int32([])),...
+'beat_length',double(-9e+40),...
+'beat_length_error_index',int32(-999999999),...
+'beat_length_error_lower',double(-9e+40),...
+'beat_length_error_upper',double(-9e+40),...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'current',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([]),...
+'validity',int32(-999999999),...
+'validity_timed',int32([])),...
+'id','',...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'latency',double(-9e+40),...
+'latency_error_index',int32(-999999999),...
+'latency_error_lower',double(-9e+40),...
+'latency_error_upper',double(-9e+40),...
+'name','',...
+'outline',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'spun',double(-9e+40),...
+'spun_error_index',int32(-999999999),...
+'spun_error_lower',double(-9e+40),...
+'spun_error_upper',double(-9e+40),...
+'stokes_initial',struct(...
+'s0',double(-9e+40),...
+'s0_error_index',int32(-999999999),...
+'s0_error_lower',double(-9e+40),...
+'s0_error_upper',double(-9e+40),...
+'s1',double(-9e+40),...
+'s1_error_index',int32(-999999999),...
+'s1_error_lower',double(-9e+40),...
+'s1_error_upper',double(-9e+40),...
+'s2',double(-9e+40),...
+'s2_error_index',int32(-999999999),...
+'s2_error_lower',double(-9e+40),...
+'s2_error_upper',double(-9e+40),...
+'s3',double(-9e+40),...
+'s3_error_index',int32(-999999999),...
+'s3_error_lower',double(-9e+40),...
+'s3_error_upper',double(-9e+40)),...
+'stokes_output',{{struct(...
+'s0',double(-9e+40),...
+'s0_error_index',int32(-999999999),...
+'s0_error_lower',double(-9e+40),...
+'s0_error_upper',double(-9e+40),...
+'s1',double(-9e+40),...
+'s1_error_index',int32(-999999999),...
+'s1_error_lower',double(-9e+40),...
+'s1_error_upper',double(-9e+40),...
+'s2',double(-9e+40),...
+'s2_error_index',int32(-999999999),...
+'s2_error_lower',double(-9e+40),...
+'s2_error_upper',double(-9e+40),...
+'s3',double(-9e+40),...
+'s3_error_index',int32(-999999999),...
+'s3_error_lower',double(-9e+40),...
+'s3_error_upper',double(-9e+40),...
+'time',double(-9e+40))
+}},...
+'time',double([]),...
+'twist',double(-9e+40),...
+'twist_error_index',int32(-999999999),...
+'twist_error_lower',double(-9e+40),...
+'twist_error_upper',double(-9e+40));
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_plasma_initiation.m b/matlab/TCV_IMAS/ids_empty/ids_empty_plasma_initiation.m
new file mode 100644
index 0000000000000000000000000000000000000000..5e066c24a9626d689d50bc94627bbf254d3f46dc
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_plasma_initiation.m
@@ -0,0 +1,197 @@
+function S = ids_empty_plasma_initiation
+% function S = ids_empty_plasma_initiation
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'b_field_lines',{{struct(...
+'e_field_parallel',double([]),...
+'e_field_parallel_error_index',int32(-999999999),...
+'e_field_parallel_error_lower',double([]),...
+'e_field_parallel_error_upper',double([]),...
+'e_field_townsend',double([]),...
+'e_field_townsend_error_index',int32(-999999999),...
+'e_field_townsend_error_lower',double([]),...
+'e_field_townsend_error_upper',double([]),...
+'grid',struct(...
+'dim1',double([]),...
+'dim1_error_index',int32(-999999999),...
+'dim1_error_lower',double([]),...
+'dim1_error_upper',double([]),...
+'dim2',double([]),...
+'dim2_error_index',int32(-999999999),...
+'dim2_error_lower',double([]),...
+'dim2_error_upper',double([]),...
+'volume_element',double([]),...
+'volume_element_error_index',int32(-999999999),...
+'volume_element_error_lower',double([]),...
+'volume_element_error_upper',double([])),...
+'grid_type',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'lengths',double([]),...
+'lengths_error_index',int32(-999999999),...
+'lengths_error_lower',double([]),...
+'lengths_error_upper',double([]),...
+'open_fraction',double(-9e+40),...
+'open_fraction_error_index',int32(-999999999),...
+'open_fraction_error_lower',double(-9e+40),...
+'open_fraction_error_upper',double(-9e+40),...
+'pressure',double(-9e+40),...
+'pressure_error_index',int32(-999999999),...
+'pressure_error_lower',double(-9e+40),...
+'pressure_error_upper',double(-9e+40),...
+'starting_positions',struct(...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'time',double(-9e+40),...
+'townsend_or_closed_grid_positions',struct(...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'townsend_or_closed_positions',struct(...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])))
+}},...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'global_quantities',struct(...
+'b_field_perpendicular',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'b_field_stray',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'connection_length',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'coulomb_logarithm',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([]))),...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'profiles_2d',{{struct(...
+'e_field_tor',double([]),...
+'e_field_tor_error_index',int32(-999999999),...
+'e_field_tor_error_lower',double([]),...
+'e_field_tor_error_upper',double([]),...
+'grid',struct(...
+'dim1',double([]),...
+'dim1_error_index',int32(-999999999),...
+'dim1_error_lower',double([]),...
+'dim1_error_upper',double([]),...
+'dim2',double([]),...
+'dim2_error_index',int32(-999999999),...
+'dim2_error_lower',double([]),...
+'dim2_error_upper',double([]),...
+'volume_element',double([]),...
+'volume_element_error_index',int32(-999999999),...
+'volume_element_error_lower',double([]),...
+'volume_element_error_upper',double([])),...
+'grid_type',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'time',double(-9e+40))
+}},...
+'time',double([]));
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_real_time_data.m b/matlab/TCV_IMAS/ids_empty/ids_empty_real_time_data.m
new file mode 100644
index 0000000000000000000000000000000000000000..cb9dc2ae484d0379721d15637648129cefa1634e
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_real_time_data.m
@@ -0,0 +1,98 @@
+function S = ids_empty_real_time_data
+% function S = ids_empty_real_time_data
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'time',double([]),...
+'topic',{{struct(...
+'name','',...
+'signal',{{struct(...
+'allocated_position',int32(-999999999),...
+'definition','',...
+'name','',...
+'quality',struct(...
+'data',int32([]),...
+'time',double([])),...
+'value',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])))
+}})
+}});
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_reflectometer_fluctuation.m b/matlab/TCV_IMAS/ids_empty/ids_empty_reflectometer_fluctuation.m
new file mode 100644
index 0000000000000000000000000000000000000000..47edff4dd25a7daad920ad8ce2c46fea513e3626
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_reflectometer_fluctuation.m
@@ -0,0 +1,462 @@
+function S = ids_empty_reflectometer_fluctuation
+% function S = ids_empty_reflectometer_fluctuation
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'channel',{{struct(...
+'amplitude',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'antenna_detection_static',struct(...
+'centre',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'geometry_type',int32(-999999999),...
+'outline',struct(...
+'x1',double([]),...
+'x1_error_index',int32(-999999999),...
+'x1_error_lower',double([]),...
+'x1_error_upper',double([]),...
+'x2',double([]),...
+'x2_error_index',int32(-999999999),...
+'x2_error_lower',double([]),...
+'x2_error_upper',double([])),...
+'radius',double(-9e+40),...
+'radius_error_index',int32(-999999999),...
+'radius_error_lower',double(-9e+40),...
+'radius_error_upper',double(-9e+40),...
+'surface',double(-9e+40),...
+'surface_error_index',int32(-999999999),...
+'surface_error_lower',double(-9e+40),...
+'surface_error_upper',double(-9e+40),...
+'x1_width',double(-9e+40),...
+'x1_width_error_index',int32(-999999999),...
+'x1_width_error_lower',double(-9e+40),...
+'x1_width_error_upper',double(-9e+40),...
+'x2_width',double(-9e+40),...
+'x2_width_error_index',int32(-999999999),...
+'x2_width_error_lower',double(-9e+40),...
+'x2_width_error_upper',double(-9e+40)),...
+'antenna_emission_static',struct(...
+'centre',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'geometry_type',int32(-999999999),...
+'outline',struct(...
+'x1',double([]),...
+'x1_error_index',int32(-999999999),...
+'x1_error_lower',double([]),...
+'x1_error_upper',double([]),...
+'x2',double([]),...
+'x2_error_index',int32(-999999999),...
+'x2_error_lower',double([]),...
+'x2_error_upper',double([])),...
+'radius',double(-9e+40),...
+'radius_error_index',int32(-999999999),...
+'radius_error_lower',double(-9e+40),...
+'radius_error_upper',double(-9e+40),...
+'surface',double(-9e+40),...
+'surface_error_index',int32(-999999999),...
+'surface_error_lower',double(-9e+40),...
+'surface_error_upper',double(-9e+40),...
+'x1_width',double(-9e+40),...
+'x1_width_error_index',int32(-999999999),...
+'x1_width_error_lower',double(-9e+40),...
+'x1_width_error_upper',double(-9e+40),...
+'x2_width',double(-9e+40),...
+'x2_width_error_index',int32(-999999999),...
+'x2_width_error_lower',double(-9e+40),...
+'x2_width_error_upper',double(-9e+40)),...
+'antennas_orientation',{{struct(...
+'antenna_detection',struct(...
+'x1_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x2_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x3_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'antenna_emission',struct(...
+'x1_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x2_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'x3_unit_vector',struct(...
+'x',double(-9e+40),...
+'x_error_index',int32(-999999999),...
+'x_error_lower',double(-9e+40),...
+'x_error_upper',double(-9e+40),...
+'y',double(-9e+40),...
+'y_error_index',int32(-999999999),...
+'y_error_lower',double(-9e+40),...
+'y_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'line_of_sight_detection',struct(...
+'first_point',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'second_point',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'line_of_sight_emission',struct(...
+'first_point',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40)),...
+'second_point',struct(...
+'phi',double(-9e+40),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double(-9e+40),...
+'phi_error_upper',double(-9e+40),...
+'r',double(-9e+40),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double(-9e+40),...
+'r_error_upper',double(-9e+40),...
+'z',double(-9e+40),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double(-9e+40),...
+'z_error_upper',double(-9e+40))),...
+'time',double(-9e+40))
+}},...
+'doppler',struct(...
+'e_field_radial',double([]),...
+'e_field_radial_error_index',int32(-999999999),...
+'e_field_radial_error_lower',double([]),...
+'e_field_radial_error_upper',double([]),...
+'position',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'psi',double([]),...
+'psi_error_index',int32(-999999999),...
+'psi_error_lower',double([]),...
+'psi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'rho_pol_norm',double([]),...
+'rho_pol_norm_error_index',int32(-999999999),...
+'rho_pol_norm_error_lower',double([]),...
+'rho_pol_norm_error_upper',double([]),...
+'rho_tor_norm',double([]),...
+'rho_tor_norm_error_index',int32(-999999999),...
+'rho_tor_norm_error_lower',double([]),...
+'rho_tor_norm_error_upper',double([]),...
+'theta',double([]),...
+'theta_error_index',int32(-999999999),...
+'theta_error_lower',double([]),...
+'theta_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'radial_width',double(-9e+40),...
+'radial_width_error_index',int32(-999999999),...
+'radial_width_error_lower',double(-9e+40),...
+'radial_width_error_upper',double(-9e+40),...
+'shift',double([]),...
+'shift_error_index',int32(-999999999),...
+'shift_error_lower',double([]),...
+'shift_error_upper',double([]),...
+'time',double([]),...
+'time_width',double(-9e+40),...
+'time_width_error_index',int32(-999999999),...
+'time_width_error_lower',double(-9e+40),...
+'time_width_error_upper',double(-9e+40),...
+'velocity_pol',double([]),...
+'velocity_pol_error_index',int32(-999999999),...
+'velocity_pol_error_lower',double([]),...
+'velocity_pol_error_upper',double([]),...
+'wavenumber',double([]),...
+'wavenumber_error_index',int32(-999999999),...
+'wavenumber_error_lower',double([]),...
+'wavenumber_error_upper',double([])),...
+'fluctuations_level',struct(...
+'dn_e_over_n_e',double([]),...
+'dn_e_over_n_e_error_index',int32(-999999999),...
+'dn_e_over_n_e_error_lower',double([]),...
+'dn_e_over_n_e_error_upper',double([]),...
+'position',struct(...
+'phi',double([]),...
+'phi_error_index',int32(-999999999),...
+'phi_error_lower',double([]),...
+'phi_error_upper',double([]),...
+'psi',double([]),...
+'psi_error_index',int32(-999999999),...
+'psi_error_lower',double([]),...
+'psi_error_upper',double([]),...
+'r',double([]),...
+'r_error_index',int32(-999999999),...
+'r_error_lower',double([]),...
+'r_error_upper',double([]),...
+'rho_pol_norm',double([]),...
+'rho_pol_norm_error_index',int32(-999999999),...
+'rho_pol_norm_error_lower',double([]),...
+'rho_pol_norm_error_upper',double([]),...
+'rho_tor_norm',double([]),...
+'rho_tor_norm_error_index',int32(-999999999),...
+'rho_tor_norm_error_lower',double([]),...
+'rho_tor_norm_error_upper',double([]),...
+'theta',double([]),...
+'theta_error_index',int32(-999999999),...
+'theta_error_lower',double([]),...
+'theta_error_upper',double([]),...
+'z',double([]),...
+'z_error_index',int32(-999999999),...
+'z_error_lower',double([]),...
+'z_error_upper',double([])),...
+'radial_width',double(-9e+40),...
+'radial_width_error_index',int32(-999999999),...
+'radial_width_error_lower',double(-9e+40),...
+'radial_width_error_upper',double(-9e+40),...
+'time',double([]),...
+'time_width',double(-9e+40),...
+'time_width_error_index',int32(-999999999),...
+'time_width_error_lower',double(-9e+40),...
+'time_width_error_upper',double(-9e+40)),...
+'fluctuations_spectrum',struct(...
+'frequencies_fourier',double([]),...
+'frequencies_fourier_error_index',int32(-999999999),...
+'frequencies_fourier_error_lower',double([]),...
+'frequencies_fourier_error_upper',double([]),...
+'power_log',double([]),...
+'power_log_error_index',int32(-999999999),...
+'power_log_error_lower',double([]),...
+'power_log_error_upper',double([]),...
+'time',double([]),...
+'time_width',double(-9e+40),...
+'time_width_error_index',int32(-999999999),...
+'time_width_error_lower',double(-9e+40),...
+'time_width_error_upper',double(-9e+40)),...
+'frequencies',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'identifier','',...
+'mode','',...
+'name','',...
+'phase',struct(...
+'data',double([]),...
+'data_error_index',int32(-999999999),...
+'data_error_lower',double([]),...
+'data_error_upper',double([]),...
+'time',double([])),...
+'raw_signal',struct(...
+'i_component',double([]),...
+'i_component_error_index',int32(-999999999),...
+'i_component_error_lower',double([]),...
+'i_component_error_upper',double([]),...
+'q_component',double([]),...
+'q_component_error_index',int32(-999999999),...
+'q_component_error_lower',double([]),...
+'q_component_error_upper',double([]),...
+'time',double([])),...
+'sweep_time',double(-9e+40),...
+'sweep_time_error_index',int32(-999999999),...
+'sweep_time_error_lower',double(-9e+40),...
+'sweep_time_error_upper',double(-9e+40))
+}},...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'latency',double(-9e+40),...
+'latency_error_index',int32(-999999999),...
+'latency_error_lower',double(-9e+40),...
+'latency_error_upper',double(-9e+40),...
+'psi_normalization',struct(...
+'psi_boundary',double([]),...
+'psi_boundary_error_index',int32(-999999999),...
+'psi_boundary_error_lower',double([]),...
+'psi_boundary_error_upper',double([]),...
+'psi_magnetic_axis',double([]),...
+'psi_magnetic_axis_error_index',int32(-999999999),...
+'psi_magnetic_axis_error_lower',double([]),...
+'psi_magnetic_axis_error_upper',double([]),...
+'time',double([])),...
+'time',double([]),...
+'type','');
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_runaway_electrons.m b/matlab/TCV_IMAS/ids_empty/ids_empty_runaway_electrons.m
new file mode 100644
index 0000000000000000000000000000000000000000..bd4f5702c1f99137b3874ef1656d01ef811508fe
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_runaway_electrons.m
@@ -0,0 +1,586 @@
+function S = ids_empty_runaway_electrons
+% function S = ids_empty_runaway_electrons
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'distribution',struct(...
+'ggd',{{struct(...
+'expansion',{{struct(...
+'grid_subset',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}})
+}},...
+'expansion_fd3v',{{struct(...
+'grid_subset',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}})
+}},...
+'temperature',double([]),...
+'temperature_error_index',int32(-999999999),...
+'temperature_error_lower',double([]),...
+'temperature_error_upper',double([]),...
+'time',double(-9e+40))
+}},...
+'gyro_type',int32(-999999999),...
+'markers',{{struct(...
+'coordinate_identifier',{{struct(...
+'description','',...
+'index',int32(-999999999),...
+'name','')
+}},...
+'orbit_integrals',struct(...
+'bounce_harmonics',int32([]),...
+'expressions',{{}},...
+'m_pol',int32([]),...
+'n_tor',int32([]),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([])),...
+'orbit_integrals_instant',struct(...
+'expressions',{{}},...
+'time_orbit',double([]),...
+'time_orbit_error_index',int32(-999999999),...
+'time_orbit_error_lower',double([]),...
+'time_orbit_error_upper',double([]),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([])),...
+'positions',double([]),...
+'positions_error_index',int32(-999999999),...
+'positions_error_lower',double([]),...
+'positions_error_upper',double([]),...
+'time',double(-9e+40),...
+'toroidal_mode',int32(-999999999),...
+'weights',double([]),...
+'weights_error_index',int32(-999999999),...
+'weights_error_lower',double([]),...
+'weights_error_upper',double([]))
+}}),...
+'e_field_critical_definition',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'ggd_fluid',{{struct(...
+'current_density',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'ddensity_dt_compton',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'ddensity_dt_dreicer',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'ddensity_dt_hot_tail',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'ddensity_dt_total',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'ddensity_dt_tritium',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'density',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'e_field_critical',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'e_field_dreicer',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'energy_density_kinetic',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'momentum_critical_avalanche',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'momentum_critical_hot_tail',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'pitch_angle',{{struct(...
+'coefficients',double([]),...
+'coefficients_error_index',int32(-999999999),...
+'coefficients_error_lower',double([]),...
+'coefficients_error_upper',double([]),...
+'grid_index',int32(-999999999),...
+'grid_subset_index',int32(-999999999),...
+'values',double([]),...
+'values_error_index',int32(-999999999),...
+'values_error_lower',double([]),...
+'values_error_upper',double([]))
+}},...
+'time',double(-9e+40))
+}},...
+'global_quantities',struct(...
+'current_tor',double([]),...
+'current_tor_error_index',int32(-999999999),...
+'current_tor_error_lower',double([]),...
+'current_tor_error_upper',double([]),...
+'energy_kinetic',double([]),...
+'energy_kinetic_error_index',int32(-999999999),...
+'energy_kinetic_error_lower',double([]),...
+'energy_kinetic_error_upper',double([]),...
+'volume_average',struct(...
+'current_density',double([]),...
+'current_density_error_index',int32(-999999999),...
+'current_density_error_lower',double([]),...
+'current_density_error_upper',double([]),...
+'ddensity_dt_compton',double([]),...
+'ddensity_dt_compton_error_index',int32(-999999999),...
+'ddensity_dt_compton_error_lower',double([]),...
+'ddensity_dt_compton_error_upper',double([]),...
+'ddensity_dt_dreicer',double([]),...
+'ddensity_dt_dreicer_error_index',int32(-999999999),...
+'ddensity_dt_dreicer_error_lower',double([]),...
+'ddensity_dt_dreicer_error_upper',double([]),...
+'ddensity_dt_hot_tail',double([]),...
+'ddensity_dt_hot_tail_error_index',int32(-999999999),...
+'ddensity_dt_hot_tail_error_lower',double([]),...
+'ddensity_dt_hot_tail_error_upper',double([]),...
+'ddensity_dt_total',double([]),...
+'ddensity_dt_total_error_index',int32(-999999999),...
+'ddensity_dt_total_error_lower',double([]),...
+'ddensity_dt_total_error_upper',double([]),...
+'ddensity_dt_tritium',double([]),...
+'ddensity_dt_tritium_error_index',int32(-999999999),...
+'ddensity_dt_tritium_error_lower',double([]),...
+'ddensity_dt_tritium_error_upper',double([]),...
+'density',double([]),...
+'density_error_index',int32(-999999999),...
+'density_error_lower',double([]),...
+'density_error_upper',double([]),...
+'e_field_critical',double([]),...
+'e_field_critical_error_index',int32(-999999999),...
+'e_field_critical_error_lower',double([]),...
+'e_field_critical_error_upper',double([]),...
+'e_field_dreicer',double([]),...
+'e_field_dreicer_error_index',int32(-999999999),...
+'e_field_dreicer_error_lower',double([]),...
+'e_field_dreicer_error_upper',double([]),...
+'energy_density_kinetic',double([]),...
+'energy_density_kinetic_error_index',int32(-999999999),...
+'energy_density_kinetic_error_lower',double([]),...
+'energy_density_kinetic_error_upper',double([]),...
+'momentum_critical_avalanche',double([]),...
+'momentum_critical_avalanche_error_index',int32(-999999999),...
+'momentum_critical_avalanche_error_lower',double([]),...
+'momentum_critical_avalanche_error_upper',double([]),...
+'momentum_critical_hot_tail',double([]),...
+'momentum_critical_hot_tail_error_index',int32(-999999999),...
+'momentum_critical_hot_tail_error_lower',double([]),...
+'momentum_critical_hot_tail_error_upper',double([]),...
+'pitch_angle',double([]),...
+'pitch_angle_error_index',int32(-999999999),...
+'pitch_angle_error_lower',double([]),...
+'pitch_angle_error_upper',double([]))),...
+'grid_ggd',{{struct(...
+'grid_subset',{{struct(...
+'base',{{struct(...
+'jacobian',double([]),...
+'jacobian_error_index',int32(-999999999),...
+'jacobian_error_lower',double([]),...
+'jacobian_error_upper',double([]),...
+'tensor_contravariant',double([]),...
+'tensor_contravariant_error_index',int32(-999999999),...
+'tensor_contravariant_error_lower',double([]),...
+'tensor_contravariant_error_upper',double([]),...
+'tensor_covariant',double([]),...
+'tensor_covariant_error_index',int32(-999999999),...
+'tensor_covariant_error_lower',double([]),...
+'tensor_covariant_error_upper',double([]))
+}},...
+'dimension',int32(-999999999),...
+'element',{{struct(...
+'object',{{struct(...
+'dimension',int32(-999999999),...
+'index',int32(-999999999),...
+'space',int32(-999999999))
+}})
+}},...
+'identifier',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'metric',struct(...
+'jacobian',double([]),...
+'jacobian_error_index',int32(-999999999),...
+'jacobian_error_lower',double([]),...
+'jacobian_error_upper',double([]),...
+'tensor_contravariant',double([]),...
+'tensor_contravariant_error_index',int32(-999999999),...
+'tensor_contravariant_error_lower',double([]),...
+'tensor_contravariant_error_upper',double([]),...
+'tensor_covariant',double([]),...
+'tensor_covariant_error_index',int32(-999999999),...
+'tensor_covariant_error_lower',double([]),...
+'tensor_covariant_error_upper',double([])))
+}},...
+'identifier',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'path','',...
+'space',{{struct(...
+'coordinates_type',int32([]),...
+'geometry_type',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'identifier',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'objects_per_dimension',{{struct(...
+'geometry_content',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'object',{{struct(...
+'boundary',{{struct(...
+'index',int32(-999999999),...
+'neighbours',int32([]))
+}},...
+'geometry',double([]),...
+'geometry_2d',double([]),...
+'geometry_2d_error_index',int32(-999999999),...
+'geometry_2d_error_lower',double([]),...
+'geometry_2d_error_upper',double([]),...
+'geometry_error_index',int32(-999999999),...
+'geometry_error_lower',double([]),...
+'geometry_error_upper',double([]),...
+'measure',double(-9e+40),...
+'measure_error_index',int32(-999999999),...
+'measure_error_lower',double(-9e+40),...
+'measure_error_upper',double(-9e+40),...
+'nodes',int32([]))
+}})
+}})
+}},...
+'time',double(-9e+40))
+}},...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'momentum_critical_avalanche_definition',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'momentum_critical_hot_tail_definition',struct(...
+'description','',...
+'index',int32(-999999999),...
+'name',''),...
+'profiles_1d',{{struct(...
+'current_density',double([]),...
+'current_density_error_index',int32(-999999999),...
+'current_density_error_lower',double([]),...
+'current_density_error_upper',double([]),...
+'ddensity_dt_compton',double([]),...
+'ddensity_dt_compton_error_index',int32(-999999999),...
+'ddensity_dt_compton_error_lower',double([]),...
+'ddensity_dt_compton_error_upper',double([]),...
+'ddensity_dt_dreicer',double([]),...
+'ddensity_dt_dreicer_error_index',int32(-999999999),...
+'ddensity_dt_dreicer_error_lower',double([]),...
+'ddensity_dt_dreicer_error_upper',double([]),...
+'ddensity_dt_hot_tail',double([]),...
+'ddensity_dt_hot_tail_error_index',int32(-999999999),...
+'ddensity_dt_hot_tail_error_lower',double([]),...
+'ddensity_dt_hot_tail_error_upper',double([]),...
+'ddensity_dt_total',double([]),...
+'ddensity_dt_total_error_index',int32(-999999999),...
+'ddensity_dt_total_error_lower',double([]),...
+'ddensity_dt_total_error_upper',double([]),...
+'ddensity_dt_tritium',double([]),...
+'ddensity_dt_tritium_error_index',int32(-999999999),...
+'ddensity_dt_tritium_error_lower',double([]),...
+'ddensity_dt_tritium_error_upper',double([]),...
+'density',double([]),...
+'density_error_index',int32(-999999999),...
+'density_error_lower',double([]),...
+'density_error_upper',double([]),...
+'e_field_critical',double([]),...
+'e_field_critical_error_index',int32(-999999999),...
+'e_field_critical_error_lower',double([]),...
+'e_field_critical_error_upper',double([]),...
+'e_field_dreicer',double([]),...
+'e_field_dreicer_error_index',int32(-999999999),...
+'e_field_dreicer_error_lower',double([]),...
+'e_field_dreicer_error_upper',double([]),...
+'energy_density_kinetic',double([]),...
+'energy_density_kinetic_error_index',int32(-999999999),...
+'energy_density_kinetic_error_lower',double([]),...
+'energy_density_kinetic_error_upper',double([]),...
+'grid',struct(...
+'area',double([]),...
+'area_error_index',int32(-999999999),...
+'area_error_lower',double([]),...
+'area_error_upper',double([]),...
+'psi',double([]),...
+'psi_boundary',double(-9e+40),...
+'psi_boundary_error_index',int32(-999999999),...
+'psi_boundary_error_lower',double(-9e+40),...
+'psi_boundary_error_upper',double(-9e+40),...
+'psi_error_index',int32(-999999999),...
+'psi_error_lower',double([]),...
+'psi_error_upper',double([]),...
+'psi_magnetic_axis',double(-9e+40),...
+'psi_magnetic_axis_error_index',int32(-999999999),...
+'psi_magnetic_axis_error_lower',double(-9e+40),...
+'psi_magnetic_axis_error_upper',double(-9e+40),...
+'rho_pol_norm',double([]),...
+'rho_pol_norm_error_index',int32(-999999999),...
+'rho_pol_norm_error_lower',double([]),...
+'rho_pol_norm_error_upper',double([]),...
+'rho_tor',double([]),...
+'rho_tor_error_index',int32(-999999999),...
+'rho_tor_error_lower',double([]),...
+'rho_tor_error_upper',double([]),...
+'rho_tor_norm',double([]),...
+'rho_tor_norm_error_index',int32(-999999999),...
+'rho_tor_norm_error_lower',double([]),...
+'rho_tor_norm_error_upper',double([]),...
+'surface',double([]),...
+'surface_error_index',int32(-999999999),...
+'surface_error_lower',double([]),...
+'surface_error_upper',double([]),...
+'volume',double([]),...
+'volume_error_index',int32(-999999999),...
+'volume_error_lower',double([]),...
+'volume_error_upper',double([])),...
+'momentum_critical_avalanche',double([]),...
+'momentum_critical_avalanche_error_index',int32(-999999999),...
+'momentum_critical_avalanche_error_lower',double([]),...
+'momentum_critical_avalanche_error_upper',double([]),...
+'momentum_critical_hot_tail',double([]),...
+'momentum_critical_hot_tail_error_index',int32(-999999999),...
+'momentum_critical_hot_tail_error_lower',double([]),...
+'momentum_critical_hot_tail_error_upper',double([]),...
+'pitch_angle',double([]),...
+'pitch_angle_error_index',int32(-999999999),...
+'pitch_angle_error_lower',double([]),...
+'pitch_angle_error_upper',double([]),...
+'time',double(-9e+40),...
+'transport_perpendicular',struct(...
+'d',double([]),...
+'d_error_index',int32(-999999999),...
+'d_error_lower',double([]),...
+'d_error_upper',double([]),...
+'flux',double([]),...
+'flux_error_index',int32(-999999999),...
+'flux_error_lower',double([]),...
+'flux_error_upper',double([]),...
+'v',double([]),...
+'v_error_index',int32(-999999999),...
+'v_error_lower',double([]),...
+'v_error_upper',double([])))
+}},...
+'time',double([]),...
+'vacuum_toroidal_field',struct(...
+'b0',double([]),...
+'b0_error_index',int32(-999999999),...
+'b0_error_lower',double([]),...
+'b0_error_upper',double([]),...
+'r0',double(-9e+40),...
+'r0_error_index',int32(-999999999),...
+'r0_error_lower',double(-9e+40),...
+'r0_error_upper',double(-9e+40)));
diff --git a/matlab/TCV_IMAS/ids_empty/ids_empty_workflow.m b/matlab/TCV_IMAS/ids_empty/ids_empty_workflow.m
new file mode 100644
index 0000000000000000000000000000000000000000..232ea4bddcbb837d483490f61cf8420b18ff57ff
--- /dev/null
+++ b/matlab/TCV_IMAS/ids_empty/ids_empty_workflow.m
@@ -0,0 +1,110 @@
+function S = ids_empty_workflow
+% function S = ids_empty_workflow
+%
+% File written automatically using writestruct_to_mfile.m
+% writestruct_to_mfile with n=15, with ids_gen to generate empty IDS within IMAS version 3.39.0
+%
+
+S = ...
+struct(...
+'code',struct(...
+'commit','',...
+'description','',...
+'library',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'name','',...
+'output_flag',int32([]),...
+'parameters','',...
+'repository','',...
+'version',''),...
+'ids_properties',struct(...
+'comment','',...
+'creation_date','',...
+'homogeneous_time',int32(-999999999),...
+'plugins',struct(...
+'infrastructure_get',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'infrastructure_put',struct(...
+'commit','',...
+'description','',...
+'name','',...
+'repository','',...
+'version',''),...
+'node',{{struct(...
+'get_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'path','',...
+'put_operation',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'readback',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}})
+}}),...
+'provenance',struct(...
+'node',{{struct(...
+'path','',...
+'sources',{{}})
+}}),...
+'provider','',...
+'source','',...
+'version_put',struct(...
+'access_layer','',...
+'access_layer_language','',...
+'data_dictionary','')),...
+'time',double([]),...
+'time_loop',struct(...
+'component',{{struct(...
+'commit','',...
+'description','',...
+'name','',...
+'parameters','',...
+'repository','',...
+'version','')
+}},...
+'time_end',double(-9e+40),...
+'time_end_error_index',int32(-999999999),...
+'time_end_error_lower',double(-9e+40),...
+'time_end_error_upper',double(-9e+40),...
+'workflow_cycle',{{struct(...
+'component',{{struct(...
+'control_float',double([]),...
+'control_float_error_index',int32(-999999999),...
+'control_float_error_lower',double([]),...
+'control_float_error_upper',double([]),...
+'control_integer',int32([]),...
+'execution_mode',int32(-999999999),...
+'index',int32(-999999999),...
+'time_interval',double(-9e+40),...
+'time_interval_error_index',int32(-999999999),...
+'time_interval_error_lower',double(-9e+40),...
+'time_interval_error_upper',double(-9e+40))
+}},...
+'time',double(-9e+40))
+}}));