diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m
index e78660c2fcfc4bdffbf364cf54d4cd624bcb1dc5..7e2f6d6384ebca0b5db5c961e7bcef19a7266cbc 100644
--- a/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m
+++ b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m
@@ -6,6 +6,7 @@ function [ids_pf_active,ids_description,varargout] = tcv_get_ids_pf_active(shot,
 % Get subfield
 [ids_pf_active.coil]= tcv_get_ids_coil(params.shot, ids_pf_active.coil(1));
 [ids_pf_active.circuit]= tcv_get_ids_circuit(params.shot, ids_pf_active.circuit(1));
+[ids_pf_active.supply]= tcv_get_ids_supply(params.shot, ids_pf_active.supply(1));
 
 
 %% Temporarely 
diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_supply.m b/crpptbx/TCV_IMAS/tcv_get_ids_supply.m
index 8d940e0592b472724b19b3794293a993989da3ee..2ad3bd3b662b756a6ee6106c3c4a10d3b500a8e9 100644
--- a/crpptbx/TCV_IMAS/tcv_get_ids_supply.m
+++ b/crpptbx/TCV_IMAS/tcv_get_ids_supply.m
@@ -1,2 +1,14 @@
 function [ids_struct_out] =  tcv_get_ids_supply(shot, ids_structures)
-%% TODO
+
+mdsopen(shot)
+%% Get power supply/coils names for each circuit.
+[tcv_circuit_info] =  tcv_ids_pf_active_definition();
+
+% Preallocate memory and get data
+ids_struct_out(1:tcv_circuit_info.ntotpowersupplies) = ids_structures;
+for ii=1:tcv_circuit_info.ntotpowersupplies
+    tmpdata = tdi(tcv_circuit_info.mds_paths{ii}); % Get current
+    ids_struct_out{ii}.current.data = abs(tmpdata.data);
+    ids_struct_out{ii}.current.time = tmpdata.dim{1};
+    ids_struct_out{ii}.name = tcv_circuit_info.power_supply_names{ii};
+end