From acb8f4a74d6eb2fa28fd2b4383bff88251f91083 Mon Sep 17 00:00:00 2001
From: PONS <pons@esrf.fr>
Date: Thu, 23 Oct 2025 16:39:48 +0200
Subject: [PATCH 1/5] New aggregator management

---
 pyaml/arrays/array.py                            |  9 ++-------
 pyaml/arrays/magnet.py                           | 12 +++++++-----
 pyaml/control/controlsystem.py                   | 16 ++++++++++++++++
 tests/config/EBSTune.yaml                        |  2 --
 .../dummy_cs/tango/tango/pyaml/controlsystem.py  |  6 ++++++
 5 files changed, 31 insertions(+), 14 deletions(-)

diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py
index 621958bc1..63b899bb9 100644
--- a/pyaml/arrays/array.py
+++ b/pyaml/arrays/array.py
@@ -5,7 +5,7 @@
 import numpy as np
 from pydantic import BaseModel,ConfigDict
 from ..lattice.element_holder import ElementHolder
-from ..control.deviceaccesslist import DeviceAccessList
+from ..control.controlsystem import ControlSystem
 
 class ArrayConfigModel(BaseModel):
 
@@ -15,11 +15,6 @@ class ArrayConfigModel(BaseModel):
     """Family name"""
     elements: list[str]
     """List of pyaml element names"""
-    aggregator: DeviceAccessList | None = None
-    """
-    Aggregator object. If none specified, writings and readings are serialized. 
-    If no device list is specified, it is dynamically constructed.
-    """
 
 class ArrayConfig(object):
     """
@@ -31,6 +26,6 @@ def __init__(self, cfg: ArrayConfigModel):
     def fill_array(self,holder:ElementHolder):
         raise "Array.fill_array() is not subclassed"
 
-    def init_aggregator(self,holder:ElementHolder):
+    def init_aggregator(self,cs:ControlSystem):
         raise "Array.init_aggregator() is not subclassed"
 
diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py
index bc5c78737..38ab3ec11 100644
--- a/pyaml/arrays/magnet.py
+++ b/pyaml/arrays/magnet.py
@@ -1,4 +1,5 @@
 from .array import ArrayConfigModel,ArrayConfig
+from ..control.controlsystem import ControlSystem
 from ..lattice.element_holder import ElementHolder
 
 # Define the main class name for this module
@@ -14,11 +15,12 @@ def __init__(self, cfg: ArrayConfigModel):
    def fill_array(self,holder:ElementHolder):   
         holder.fill_magnet_array(self._cfg.name,self._cfg.elements)
 
-   def init_aggregator(self,holder:ElementHolder):
-        if self._cfg.aggregator is not None and len(self._cfg.aggregator)==0:
+   def init_aggregator(self,cs:ControlSystem):
+        agg = cs.create_scalar_aggregator()
+        if agg is not None:
             # Construct dynamically aggregator for magnets
-            mag = holder.get_magnets(self._cfg.name)
+            mag = cs.get_magnets(self._cfg.name)
             for m in mag:
                 devs = m.model.get_devices()
-                self._cfg.aggregator.add_devices(devs)
-            mag.set_aggregator(self._cfg.aggregator)
\ No newline at end of file
+                agg.add_devices(devs)
+            mag.set_aggregator(agg)
\ No newline at end of file
diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py
index bdf3843fa..adac5c6c8 100644
--- a/pyaml/control/controlsystem.py
+++ b/pyaml/control/controlsystem.py
@@ -9,6 +9,8 @@
 from ..magnet.cfm_magnet import CombinedFunctionMagnet
 from ..rf.rf_plant import RFPlant,RWTotalVoltage
 from ..rf.rf_transmitter import RFTransmitter
+from ..control.deviceaccesslist import DeviceAccessList
+from ..configuration.factory import Factory
 
 class ControlSystem(ElementHolder,metaclass=ABCMeta):
     """
@@ -23,11 +25,25 @@ def init_cs(self):
         """Initialize control system"""
         pass
 
+    def create_scalar_aggregator(self) -> DeviceAccessList:
+        mod = self.scalar_aggregator()
+        return Factory.build_object({"type":mod}) if mod is not None else None
+
     @abstractmethod
     def name(self) -> str:
         """Return control system name (i.e. live)"""
         pass
+    
+    @abstractmethod
+    def scalar_aggregator(self) -> str | None:
+        """Returns the module name used for handling aggregator of DeviceAccess"""
+        return None
 
+    @abstractmethod
+    def vector_aggregator(self) -> str | None:
+        """Returns the module name used for handling aggregator of DeviceVectorAccess"""
+        return None
+    
     def set_energy(self,E:float):
         """
         Sets the energy on magnets belonging to this control system
diff --git a/tests/config/EBSTune.yaml b/tests/config/EBSTune.yaml
index dac1fc721..e74c90931 100644
--- a/tests/config/EBSTune.yaml
+++ b/tests/config/EBSTune.yaml
@@ -15,8 +15,6 @@ instruments:
     arrays:
       - type: pyaml.arrays.magnet
         name: QForTune
-        aggregator:
-          type: tango.pyaml.multi_attribute
         elements:
           - QD2E-C04
           - QD2A-C05
diff --git a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py b/tests/dummy_cs/tango/tango/pyaml/controlsystem.py
index 7e92e956a..f6d57e286 100644
--- a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py
+++ b/tests/dummy_cs/tango/tango/pyaml/controlsystem.py
@@ -23,3 +23,9 @@ def name(self) -> str:
 
     def init_cs(self):
         pass
+
+    def scalar_aggregator(self) -> str | None:
+        return "tango.pyaml.multi_attribute"
+
+    def vector_aggregator(self) -> str | None:
+        return None

From 10147064daf28cee5a29d63a2cf0cd5f7d1bf6ab Mon Sep 17 00:00:00 2001
From: PONS <pons@esrf.fr>
Date: Wed, 29 Oct 2025 16:25:36 +0100
Subject: [PATCH 2/5] BPM array + Fix dummy_cs name conflict with tango

---
 pyaml/arrays/array.py                         |     5 -
 pyaml/arrays/bpm.py                           |    15 +
 pyaml/arrays/bpm_array.py                     |   114 +
 pyaml/arrays/magnet.py                        |    10 -
 pyaml/arrays/magnet_array.py                  |    33 +-
 pyaml/bpm/bpm_model.py                        |    36 +
 pyaml/bpm/bpm_simple_model.py                 |    32 +
 pyaml/bpm/bpm_tiltoffset_model.py             |    32 +
 pyaml/instrument.py                           |     9 +-
 pyaml/lattice/element_holder.py               |    26 +-
 pyaml/magnet/cfm_magnet.py                    |     6 +-
 tests/config/EBSOrbit.yaml                    | 12379 ++++++++++++++++
 tests/config/sr/magnet_models/SH1AC01.yaml    |     6 +-
 tests/config/sr/magnet_models/SH1AC02.yaml    |    27 +-
 .../sr/magnet_models/SH1_SH3_h_strength.csv   |    19 +
 .../sr/magnet_models/SH1_SH3_sq_strength.csv  |    17 +
 .../sr/magnet_models/SH1_SH3_v_strength.csv   |    19 +
 .../sr/magnet_models/SH2_h_strength.csv       |    19 +
 .../sr/magnet_models/SH2_sq_strength.csv      |    17 +
 .../sr/magnet_models/SH2_v_strength.csv       |    19 +
 .../sr/magnet_models/SHI_h_strength.csv       |    17 +
 tests/config/sr/magnet_models/SHI_matrix.csv  |     4 +
 .../sr/magnet_models/SHI_sext_strength.csv    |    21 +
 .../sr/magnet_models/SHI_sq_strength.csv      |    19 +
 .../sr/magnet_models/SHI_v_strength.csv       |    19 +
 .../config/sr/magnet_models/SH_h_strength.csv |    19 -
 .../sr/magnet_models/SH_sq_strength.csv       |    17 -
 .../config/sr/magnet_models/SH_v_strength.csv |    19 -
 tests/conftest.py                             |     6 +-
 .../{tango => tango-pyaml}/pyproject.toml     |     4 +-
 .../{tango => tango-pyaml}/tango/__init__.py  |     0
 .../tango/pyaml/__init__.py                   |     0
 .../tango/pyaml/attribute.py                  |     0
 .../tango/pyaml/attribute_read_only.py        |     0
 ...ith_tango_powersupply_mocking_behaviour.py |     0
 .../tango/pyaml/controlsystem.py              |     0
 .../tango/pyaml/multi_attribute.py            |     0
 tests/lattice_info.py                         |     2 +-
 tests/test_aggregator.py                      |     4 +-
 tests/test_bpm.py                             |    16 +-
 tests/test_bpm_controlsystem.py               |    12 +-
 tests/test_ident_models.py                    |     2 +-
 tests/test_load_quad.py                       |     4 +-
 tests/test_tune.py                            |     4 +-
 tests/test_tune_hardware.py                   |     4 +-
 45 files changed, 12886 insertions(+), 147 deletions(-)
 create mode 100644 pyaml/arrays/bpm.py
 create mode 100644 pyaml/arrays/bpm_array.py
 create mode 100644 tests/config/EBSOrbit.yaml
 create mode 100644 tests/config/sr/magnet_models/SH1_SH3_h_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SH1_SH3_v_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SH2_h_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SH2_sq_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SH2_v_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SHI_h_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SHI_matrix.csv
 create mode 100644 tests/config/sr/magnet_models/SHI_sext_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SHI_sq_strength.csv
 create mode 100644 tests/config/sr/magnet_models/SHI_v_strength.csv
 delete mode 100644 tests/config/sr/magnet_models/SH_h_strength.csv
 delete mode 100644 tests/config/sr/magnet_models/SH_sq_strength.csv
 delete mode 100644 tests/config/sr/magnet_models/SH_v_strength.csv
 rename tests/dummy_cs/{tango => tango-pyaml}/pyproject.toml (85%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/__init__.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/__init__.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute_read_only.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/controlsystem.py (100%)
 rename tests/dummy_cs/{tango => tango-pyaml}/tango/pyaml/multi_attribute.py (100%)

diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py
index 63b899bb9..742f1f706 100644
--- a/pyaml/arrays/array.py
+++ b/pyaml/arrays/array.py
@@ -5,7 +5,6 @@
 import numpy as np
 from pydantic import BaseModel,ConfigDict
 from ..lattice.element_holder import ElementHolder
-from ..control.controlsystem import ControlSystem
 
 class ArrayConfigModel(BaseModel):
 
@@ -25,7 +24,3 @@ def __init__(self, cfg: ArrayConfigModel):
 
     def fill_array(self,holder:ElementHolder):
         raise "Array.fill_array() is not subclassed"
-
-    def init_aggregator(self,cs:ControlSystem):
-        raise "Array.init_aggregator() is not subclassed"
-
diff --git a/pyaml/arrays/bpm.py b/pyaml/arrays/bpm.py
new file mode 100644
index 000000000..c0d02c8d5
--- /dev/null
+++ b/pyaml/arrays/bpm.py
@@ -0,0 +1,15 @@
+from .array import ArrayConfigModel,ArrayConfig
+from ..lattice.element_holder import ElementHolder
+
+# Define the main class name for this module
+PYAMLCLASS = "BPM"
+
+class ConfigModel(ArrayConfigModel):...
+
+class BPM(ArrayConfig):
+
+   def __init__(self, cfg: ArrayConfigModel):
+        super().__init__(cfg)
+
+   def fill_array(self,holder:ElementHolder):   
+        holder.fill_bpm_array(self._cfg.name,self._cfg.elements)
diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py
new file mode 100644
index 000000000..724a261a5
--- /dev/null
+++ b/pyaml/arrays/bpm_array.py
@@ -0,0 +1,114 @@
+from ..control.abstract import ReadFloatArray
+from ..bpm.bpm import BPM
+import numpy as np
+from ..control.deviceaccesslist import DeviceAccessList
+
+class RWBPMPosition(ReadFloatArray):
+
+    def __init__(self, name:str, bpms:list[BPM]):
+        self.__bpms = bpms
+        self.__name = name
+        self.aggregator:DeviceAccessList = None
+
+    # Gets the values
+    def get(self) -> np.array:
+        if not self.aggregator:
+            return np.array([b.positions.get() for b in self.__bpms])
+        else:
+            return self.aggregator.get()
+
+    # Gets the unit of the values
+    def unit(self) -> list[str]:
+        return [b.positions.unit() for b in self.__bpms]
+
+    # Set the aggregator (Control system only)
+    def set_aggregator(self,agg:DeviceAccessList):
+        self.aggregator = agg
+
+
+class RWBPMSinglePosition(ReadFloatArray):
+
+    def __init__(self, name:str, bpms:list[BPM],idx: int):
+        self.__bpms = bpms
+        self.__name = name
+        self.__idx = idx
+        self.aggregator:DeviceAccessList = None
+
+    # Gets the values
+    def get(self) -> np.array:
+        if not self.aggregator:
+            return np.array([b.positions.get()[self.__idx] for b in self.__bpms])
+        else:
+            return self.aggregator.get()
+
+    # Gets the unit of the values
+    def unit(self) -> list[str]:
+        return [b.positions.unit()[self.__idx] for b in self.__bpms]
+
+    # Set the aggregator (Control system only)
+    def set_aggregator(self,agg:DeviceAccessList):
+        self.aggregator = agg
+
+
+
+class BPMArray(list[BPM]):
+    """
+    Class that implements access to a BPM array
+    """
+
+    def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,aggh:DeviceAccessList|None=None,aggv:DeviceAccessList|None=None):
+        """
+        Construct a BPM array
+
+        Parameters
+        ----------
+        arrayName : str
+            Array name
+        bpms: list[BPM]
+            BPM iterator
+        agg : DeviceAccessList
+            Control system aggregator (Parralel access to list of device)
+        """
+        super().__init__(i for i in bpms)
+        self.__name = arrayName
+        self.__hvpos = RWBPMPosition(arrayName,bpms)
+        self.__hpos = RWBPMSinglePosition(arrayName,bpms,0)
+        self.__vpos = RWBPMSinglePosition(arrayName,bpms,1)
+
+        if agg is not None:
+            # Fill magnet aggregator
+            for b in bpms:
+                devs = b.model.get_pos_devices()
+                agg.add_devices(devs)
+                aggh.add_devices(devs[0])
+                aggv.add_devices(devs[1])
+            
+        self.__hvpos.set_aggregator(agg)
+        self.__hpos.set_aggregator(aggh)
+        self.__vpos.set_aggregator(aggv)
+
+    @property   
+    def positions(self) -> RWBPMPosition:
+        """
+        Give access to bpm posttions of each bpm of this array
+        """
+        return self.__hvpos
+
+    @property   
+    def h(self) -> RWBPMSinglePosition:
+        """
+        Give access to bpm H posttions of each bpm of this array
+        """
+        return self.__hpos
+
+    @property   
+    def v(self) -> RWBPMSinglePosition:
+        """
+        Give access to bpm H posttions of each bpm of this array
+        """
+        return self.__vpos
+
+    
+
+
+    
\ No newline at end of file
diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py
index 38ab3ec11..fe84017bc 100644
--- a/pyaml/arrays/magnet.py
+++ b/pyaml/arrays/magnet.py
@@ -14,13 +14,3 @@ def __init__(self, cfg: ArrayConfigModel):
 
    def fill_array(self,holder:ElementHolder):   
         holder.fill_magnet_array(self._cfg.name,self._cfg.elements)
-
-   def init_aggregator(self,cs:ControlSystem):
-        agg = cs.create_scalar_aggregator()
-        if agg is not None:
-            # Construct dynamically aggregator for magnets
-            mag = cs.get_magnets(self._cfg.name)
-            for m in mag:
-                devs = m.model.get_devices()
-                agg.add_devices(devs)
-            mag.set_aggregator(agg)
\ No newline at end of file
diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py
index bd4c009aa..bbb756842 100644
--- a/pyaml/arrays/magnet_array.py
+++ b/pyaml/arrays/magnet_array.py
@@ -109,31 +109,30 @@ class MagnetArray(list[Magnet]):
     Class that implements access to a magnet array
     """
 
-    def __init__(self,arrayName:str,iterable):
+    def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=None):
         """
         Construct a magnet array
 
         Parameters
         ----------
-        iterable
+        arrayName : str
+            Array name
+        magnets: list[Magnet]
             Magnet iterator
-        """
-        super().__init__(i for i in iterable)
-        self.__name = arrayName
-        self.__rwstrengths = RWMagnetStrength(arrayName,iterable)
-        self.__rwhardwares = RWMagnetHardware(arrayName,iterable)
-
-    def set_aggregator(self,agg:DeviceAccessList):
-        """
-        Set an aggregator for this array.
-        Aggregator allow fast control system access by parallelizing 
-        call to underlying hardware.
-
-        Parameters
-        ----------
         agg : DeviceAccessList
-            List of device access
+            Control system aggregator (Parralel access to list of device)
         """
+        super().__init__(i for i in magnets)
+        self.__name = arrayName
+        self.__rwstrengths = RWMagnetStrength(arrayName,magnets)
+        self.__rwhardwares = RWMagnetHardware(arrayName,magnets)
+
+        if agg is not None:
+            # Fill magnet aggregator
+            for m in magnets:
+                devs = m.model.get_devices()
+                agg.add_devices(devs)
+            
         self.__rwstrengths.set_aggregator(agg)
         self.__rwhardwares.set_aggregator(agg)
 
diff --git a/pyaml/bpm/bpm_model.py b/pyaml/bpm/bpm_model.py
index 68326c2d3..a19f52054 100644
--- a/pyaml/bpm/bpm_model.py
+++ b/pyaml/bpm/bpm_model.py
@@ -1,6 +1,7 @@
 from abc import ABCMeta, abstractmethod
 import numpy as np
 from numpy.typing import NDArray
+from ..control.deviceaccess import DeviceAccess
 
 class BPMModel(metaclass=ABCMeta):
     """
@@ -68,3 +69,38 @@ def set_offset(self, offset: NDArray[np.float64]):
         """
         pass
 
+    @abstractmethod
+    def get_pos_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for position reading
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        pass
+
+    @abstractmethod
+    def get_tilt_device(self) -> DeviceAccess:
+        """
+        Get device handle used for tilt access
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        pass
+
+    @abstractmethod
+    def get_offset_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for offset access
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        pass
diff --git a/pyaml/bpm/bpm_simple_model.py b/pyaml/bpm/bpm_simple_model.py
index d362bcb11..1de6033f8 100644
--- a/pyaml/bpm/bpm_simple_model.py
+++ b/pyaml/bpm/bpm_simple_model.py
@@ -81,3 +81,35 @@ def set_offset(self, offset_values: np.ndarray):
         """
         raise NotImplementedError("Offset setting not implemented in this model.")
     
+    def get_pos_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for position reading
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        return [self.__x_pos,self.__y_pos]
+
+    def get_tilt_device(self) -> DeviceAccess:
+        """
+        Get device handle used for tilt access
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        return []
+
+    def get_offset_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for offset access
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        return []
diff --git a/pyaml/bpm/bpm_tiltoffset_model.py b/pyaml/bpm/bpm_tiltoffset_model.py
index 115ebc266..a70bb59d6 100644
--- a/pyaml/bpm/bpm_tiltoffset_model.py
+++ b/pyaml/bpm/bpm_tiltoffset_model.py
@@ -81,3 +81,35 @@ def set_offset(self, offset_values: np.ndarray):
         self.__x_offset.set(offset_values[0])
         self.__y_offset.set(offset_values[1])
     
+    def get_pos_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for position reading
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        return [self.__x_pos,self.__y_pos]
+
+    def get_tilt_device(self) -> DeviceAccess:
+        """
+        Get device handle used for tilt access
+        
+        Returns
+        -------
+        DeviceAccess
+            DeviceAcess
+        """
+        return [self.__tilt]
+
+    def get_offset_devices(self) -> list[DeviceAccess]:
+        """
+        Get device handles used for offset access
+        
+        Returns
+        -------
+        list[DeviceAccess]
+            Array of DeviceAcess
+        """
+        return [self.__x_offset,self.__y_offset]
diff --git a/pyaml/instrument.py b/pyaml/instrument.py
index 0cd701851..3ee284ab3 100644
--- a/pyaml/instrument.py
+++ b/pyaml/instrument.py
@@ -42,7 +42,10 @@ def __init__(self, cfg: ConfigModel):
         if cfg.controls is not None:
             for c in cfg.controls:
                 if c.name() == "live":
-                    self.__live = c
+                  self.__live = c
+                else:
+                  # Add as dynacmic attribute
+                  setattr(self,c.name(),c)
                 c.init_cs()
                 c.fill_device(cfg.devices)
 
@@ -50,6 +53,9 @@ def __init__(self, cfg: ConfigModel):
             for s in cfg.simulators:
                 if s.name() == "design":
                   self.__design = s
+                else:
+                  # Add as dynacmic attribute
+                  setattr(self,s.name(),s)
                 s.fill_device(cfg.devices)
 
         if cfg.arrays is not None:
@@ -60,7 +66,6 @@ def __init__(self, cfg: ConfigModel):
                 if cfg.controls is not None:
                     for c in cfg.controls:
                         a.fill_array(c)
-                        a.init_aggregator(c)
 
         if cfg.energy is not None:
             self.set_energy(cfg.energy)
diff --git a/pyaml/lattice/element_holder.py b/pyaml/lattice/element_holder.py
index 57a6646b8..ea82c1e5b 100644
--- a/pyaml/lattice/element_holder.py
+++ b/pyaml/lattice/element_holder.py
@@ -6,7 +6,8 @@
 from ..rf.rf_plant import RFPlant
 from ..rf.rf_transmitter import RFTransmitter
 from ..arrays.magnet_array import MagnetArray
-
+from ..arrays.bpm_array import BPMArray
+from ..control.deviceaccesslist import DeviceAccessList
 
 class ElementHolder(object):
     """
@@ -23,7 +24,14 @@ def __init__(self):
 
         # Array handle
         self.__MAGNET_ARRAYS: dict = {}
-    
+        self.__BPM_ARRAYS: dict = {}
+
+    def create_scalar_aggregator(self) -> DeviceAccessList:
+       """
+       Returns a control system scalar aggretor
+       """
+       return None
+
     def fill_device(self,elements:list[Element]):
        raise "ElementHolder.fill_device() is not subclassed"
     
@@ -34,7 +42,19 @@ def fill_magnet_array(self,arrayName:str,elementNames:list[str]):
             a.append(self.get_magnet(name))
           except Exception as err:
             raise Exception(f"MagnetArray {arrayName} : {err}")
-       self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a)
+       self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self.create_scalar_aggregator())
+
+    def fill_bpm_array(self,arrayName:str,elementNames:list[str]):
+       a = []
+       for name in elementNames:
+          try:
+            a.append(self.get_bpm(name))
+          except Exception as err:
+            raise Exception(f"BpmArray {arrayName} : {err}")
+       hv = self.create_scalar_aggregator()
+       h = self.create_scalar_aggregator()
+       v = self.create_scalar_aggregator()
+       self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,hv,h,v)
 
     def get_magnet(self,name:str) -> Magnet:
       if name not in self.__MAGNETS:
diff --git a/pyaml/magnet/cfm_magnet.py b/pyaml/magnet/cfm_magnet.py
index d279fd34f..39befa506 100644
--- a/pyaml/magnet/cfm_magnet.py
+++ b/pyaml/magnet/cfm_magnet.py
@@ -14,7 +14,7 @@
 from .skewsext import SkewSext
 from .octupole import Octupole
 from .skewoctu import SkewOctu
-from .magnet import Magnet
+from .magnet import Magnet,MagnetConfigModel
 
 _fmap:dict = {
     "B0":HCorrector,
@@ -65,8 +65,8 @@ def attach(self, strengths: abstract.ReadWriteFloatArray, hardwares: abstract.Re
             # Construct a single function magnet for each multipole of this combined function magnet        
             l = []
             for idx,m in enumerate(self._cfg.mapping):
-                args = {"name":m[1]}
-                mclass:Magnet = _fmap[m[0]](ElementConfigModel(**args))
+                args = {"name":m[1],"model":self.model}
+                mclass:Magnet = _fmap[m[0]](MagnetConfigModel(**args))
                 strength = RWMapper(strengths,idx)
                 hardware = RWMapper(hardwares,idx) if self.model.has_hardware() else None
                 l.append(mclass.attach(strength,hardware))
diff --git a/tests/config/EBSOrbit.yaml b/tests/config/EBSOrbit.yaml
new file mode 100644
index 000000000..b22c81107
--- /dev/null
+++ b/tests/config/EBSOrbit.yaml
@@ -0,0 +1,12379 @@
+type: pyaml.pyaml
+instruments:
+  - type: pyaml.instrument
+    name: sr
+    energy: 6e9
+    simulators:
+      - type: pyaml.lattice.simulator
+        lattice: sr/lattices/ebs.mat
+        name: design
+    controls:
+      - type: tango.pyaml.controlsystem
+        tango_host: ebs-simu-3:10000
+        name: live
+    data_folder: /data/store
+    arrays:
+      - type: pyaml.arrays.magnet
+        name: HCorr
+        elements:
+          - SH1A-C04-H
+          - SJ1A-C04-H
+          - SJ2A-C04-H
+          - SJ1B-C04-H
+          - SH2B-C04-H
+          - SJ1D-C04-H
+          - SJ2E-C04-H
+          - SJ1E-C04-H
+          - SH3E-C04-H
+          - SH1A-C05-H
+          - SD1A-C05-H
+          - SF2A-C05-H
+          - SD1B-C05-H
+          - SH2B-C05-H
+          - SD1D-C05-H
+          - SF2E-C05-H
+          - SD1E-C05-H
+          - SH3E-C05-H
+          - SH1A-C06-H
+          - SD1A-C06-H
+          - SF2A-C06-H
+          - SD1B-C06-H
+          - SH2B-C06-H
+          - SD1D-C06-H
+          - SF2E-C06-H
+          - SD1E-C06-H
+          - SH3E-C06-H
+          - SH1A-C07-H
+          - SD1A-C07-H
+          - SF2A-C07-H
+          - SD1B-C07-H
+          - SH2B-C07-H
+          - SD1D-C07-H
+          - SF2E-C07-H
+          - SD1E-C07-H
+          - SH3E-C07-H
+          - SH1A-C08-H
+          - SD1A-C08-H
+          - SF2A-C08-H
+          - SD1B-C08-H
+          - SH2B-C08-H
+          - SD1D-C08-H
+          - SF2E-C08-H
+          - SD1E-C08-H
+          - SH3E-C08-H
+          - SH1A-C09-H
+          - SD1A-C09-H
+          - SF2A-C09-H
+          - SD1B-C09-H
+          - SH2B-C09-H
+          - SD1D-C09-H
+          - SF2E-C09-H
+          - SD1E-C09-H
+          - SH3E-C09-H
+          - SH1A-C10-H
+          - SD1A-C10-H
+          - SF2A-C10-H
+          - SD1B-C10-H
+          - SH2B-C10-H
+          - SD1D-C10-H
+          - SF2E-C10-H
+          - SD1E-C10-H
+          - SH3E-C10-H
+          - SH1A-C11-H
+          - SD1A-C11-H
+          - SF2A-C11-H
+          - SD1B-C11-H
+          - SH2B-C11-H
+          - SD1D-C11-H
+          - SF2E-C11-H
+          - SD1E-C11-H
+          - SH3E-C11-H
+          - SH1A-C12-H
+          - SD1A-C12-H
+          - SF2A-C12-H
+          - SD1B-C12-H
+          - SH2B-C12-H
+          - SD1D-C12-H
+          - SF2E-C12-H
+          - SD1E-C12-H
+          - SH3E-C12-H
+          - SH1A-C13-H
+          - SD1A-C13-H
+          - SF2A-C13-H
+          - SD1B-C13-H
+          - SH2B-C13-H
+          - SD1D-C13-H
+          - SF2E-C13-H
+          - SD1E-C13-H
+          - SH3E-C13-H
+          - SH1A-C14-H
+          - SD1A-C14-H
+          - SF2A-C14-H
+          - SD1B-C14-H
+          - SH2B-C14-H
+          - SD1D-C14-H
+          - SF2E-C14-H
+          - SD1E-C14-H
+          - SH3E-C14-H
+          - SH1A-C15-H
+          - SD1A-C15-H
+          - SF2A-C15-H
+          - SD1B-C15-H
+          - SH2B-C15-H
+          - SD1D-C15-H
+          - SF2E-C15-H
+          - SD1E-C15-H
+          - SH3E-C15-H
+          - SH1A-C16-H
+          - SD1A-C16-H
+          - SF2A-C16-H
+          - SD1B-C16-H
+          - SH2B-C16-H
+          - SD1D-C16-H
+          - SF2E-C16-H
+          - SD1E-C16-H
+          - SH3E-C16-H
+          - SH1A-C17-H
+          - SD1A-C17-H
+          - SF2A-C17-H
+          - SD1B-C17-H
+          - SH2B-C17-H
+          - SD1D-C17-H
+          - SF2E-C17-H
+          - SD1E-C17-H
+          - SH3E-C17-H
+          - SH1A-C18-H
+          - SD1A-C18-H
+          - SF2A-C18-H
+          - SD1B-C18-H
+          - SH2B-C18-H
+          - SD1D-C18-H
+          - SF2E-C18-H
+          - SD1E-C18-H
+          - SH3E-C18-H
+          - SH1A-C19-H
+          - SD1A-C19-H
+          - SF2A-C19-H
+          - SD1B-C19-H
+          - SH2B-C19-H
+          - SD1D-C19-H
+          - SF2E-C19-H
+          - SD1E-C19-H
+          - SH3E-C19-H
+          - SH1A-C20-H
+          - SD1A-C20-H
+          - SF2A-C20-H
+          - SD1B-C20-H
+          - SH2B-C20-H
+          - SD1D-C20-H
+          - SF2E-C20-H
+          - SD1E-C20-H
+          - SH3E-C20-H
+          - SH1A-C21-H
+          - SD1A-C21-H
+          - SF2A-C21-H
+          - SD1B-C21-H
+          - SH2B-C21-H
+          - SD1D-C21-H
+          - SF2E-C21-H
+          - SD1E-C21-H
+          - SH3E-C21-H
+          - SH1A-C22-H
+          - SD1A-C22-H
+          - SF2A-C22-H
+          - SD1B-C22-H
+          - SH2B-C22-H
+          - SD1D-C22-H
+          - SF2E-C22-H
+          - SD1E-C22-H
+          - SH3E-C22-H
+          - SH1A-C23-H
+          - SD1A-C23-H
+          - SF2A-C23-H
+          - SD1B-C23-H
+          - SH2B-C23-H
+          - SD1D-C23-H
+          - SF2E-C23-H
+          - SD1E-C23-H
+          - SH3E-C23-H
+          - SH1A-C24-H
+          - SD1A-C24-H
+          - SF2A-C24-H
+          - SD1B-C24-H
+          - SH2B-C24-H
+          - SD1D-C24-H
+          - SF2E-C24-H
+          - SD1E-C24-H
+          - SH3E-C24-H
+          - SH1A-C25-H
+          - SD1A-C25-H
+          - SF2A-C25-H
+          - SD1B-C25-H
+          - SH2B-C25-H
+          - SD1D-C25-H
+          - SF2E-C25-H
+          - SD1E-C25-H
+          - SH3E-C25-H
+          - SH1A-C26-H
+          - SD1A-C26-H
+          - SF2A-C26-H
+          - SD1B-C26-H
+          - SH2B-C26-H
+          - SD1D-C26-H
+          - SF2E-C26-H
+          - SD1E-C26-H
+          - SH3E-C26-H
+          - SH1A-C27-H
+          - SD1A-C27-H
+          - SF2A-C27-H
+          - SD1B-C27-H
+          - SH2B-C27-H
+          - SD1D-C27-H
+          - SF2E-C27-H
+          - SD1E-C27-H
+          - SH3E-C27-H
+          - SH1A-C28-H
+          - SD1A-C28-H
+          - SF2A-C28-H
+          - SD1B-C28-H
+          - SH2B-C28-H
+          - SD1D-C28-H
+          - SF2E-C28-H
+          - SD1E-C28-H
+          - SH3E-C28-H
+          - SH1A-C29-H
+          - SD1A-C29-H
+          - SF2A-C29-H
+          - SD1B-C29-H
+          - SH2B-C29-H
+          - SD1D-C29-H
+          - SF2E-C29-H
+          - SD1E-C29-H
+          - SH3E-C29-H
+          - SH1A-C30-H
+          - SD1A-C30-H
+          - SF2A-C30-H
+          - SD1B-C30-H
+          - SH2B-C30-H
+          - SD1D-C30-H
+          - SF2E-C30-H
+          - SD1E-C30-H
+          - SH3E-C30-H
+          - SH1A-C31-H
+          - SD1A-C31-H
+          - SF2A-C31-H
+          - SD1B-C31-H
+          - SH2B-C31-H
+          - SD1D-C31-H
+          - SF2E-C31-H
+          - SD1E-C31-H
+          - SH3E-C31-H
+          - SH1A-C32-H
+          - SD1A-C32-H
+          - SF2A-C32-H
+          - SD1B-C32-H
+          - SH2B-C32-H
+          - SD1D-C32-H
+          - SF2E-C32-H
+          - SD1E-C32-H
+          - SH3E-C32-H
+          - SH1A-C01-H
+          - SD1A-C01-H
+          - SF2A-C01-H
+          - SD1B-C01-H
+          - SH2B-C01-H
+          - SD1D-C01-H
+          - SF2E-C01-H
+          - SD1E-C01-H
+          - SH3E-C01-H
+          - SH1A-C02-H
+          - SD1A-C02-H
+          - SF2A-C02-H
+          - SD1B-C02-H
+          - SH2B-C02-H
+          - SD1D-C02-H
+          - SF2E-C02-H
+          - SD1E-C02-H
+          - SH3E-C02-H
+          - SH1A-C03-H
+          - SI1A-C03-H
+          - SI2A-C03-H
+          - SI1B-C03-H
+          - SH2B-C03-H
+          - SI1D-C03-H
+          - SI2E-C03-H
+          - SI1E-C03-H
+          - SH3E-C03-H
+      - type: pyaml.arrays.magnet
+        name: VCorr
+        elements:
+          - SH1A-C04-V
+          - SJ1A-C04-V
+          - SJ2A-C04-V
+          - SJ1B-C04-V
+          - SH2B-C04-V
+          - SJ1D-C04-V
+          - SJ2E-C04-V
+          - SJ1E-C04-V
+          - SH3E-C04-V
+          - SH1A-C05-V
+          - SD1A-C05-V
+          - SF2A-C05-V
+          - SD1B-C05-V
+          - SH2B-C05-V
+          - SD1D-C05-V
+          - SF2E-C05-V
+          - SD1E-C05-V
+          - SH3E-C05-V
+          - SH1A-C06-V
+          - SD1A-C06-V
+          - SF2A-C06-V
+          - SD1B-C06-V
+          - SH2B-C06-V
+          - SD1D-C06-V
+          - SF2E-C06-V
+          - SD1E-C06-V
+          - SH3E-C06-V
+          - SH1A-C07-V
+          - SD1A-C07-V
+          - SF2A-C07-V
+          - SD1B-C07-V
+          - SH2B-C07-V
+          - SD1D-C07-V
+          - SF2E-C07-V
+          - SD1E-C07-V
+          - SH3E-C07-V
+          - SH1A-C08-V
+          - SD1A-C08-V
+          - SF2A-C08-V
+          - SD1B-C08-V
+          - SH2B-C08-V
+          - SD1D-C08-V
+          - SF2E-C08-V
+          - SD1E-C08-V
+          - SH3E-C08-V
+          - SH1A-C09-V
+          - SD1A-C09-V
+          - SF2A-C09-V
+          - SD1B-C09-V
+          - SH2B-C09-V
+          - SD1D-C09-V
+          - SF2E-C09-V
+          - SD1E-C09-V
+          - SH3E-C09-V
+          - SH1A-C10-V
+          - SD1A-C10-V
+          - SF2A-C10-V
+          - SD1B-C10-V
+          - SH2B-C10-V
+          - SD1D-C10-V
+          - SF2E-C10-V
+          - SD1E-C10-V
+          - SH3E-C10-V
+          - SH1A-C11-V
+          - SD1A-C11-V
+          - SF2A-C11-V
+          - SD1B-C11-V
+          - SH2B-C11-V
+          - SD1D-C11-V
+          - SF2E-C11-V
+          - SD1E-C11-V
+          - SH3E-C11-V
+          - SH1A-C12-V
+          - SD1A-C12-V
+          - SF2A-C12-V
+          - SD1B-C12-V
+          - SH2B-C12-V
+          - SD1D-C12-V
+          - SF2E-C12-V
+          - SD1E-C12-V
+          - SH3E-C12-V
+          - SH1A-C13-V
+          - SD1A-C13-V
+          - SF2A-C13-V
+          - SD1B-C13-V
+          - SH2B-C13-V
+          - SD1D-C13-V
+          - SF2E-C13-V
+          - SD1E-C13-V
+          - SH3E-C13-V
+          - SH1A-C14-V
+          - SD1A-C14-V
+          - SF2A-C14-V
+          - SD1B-C14-V
+          - SH2B-C14-V
+          - SD1D-C14-V
+          - SF2E-C14-V
+          - SD1E-C14-V
+          - SH3E-C14-V
+          - SH1A-C15-V
+          - SD1A-C15-V
+          - SF2A-C15-V
+          - SD1B-C15-V
+          - SH2B-C15-V
+          - SD1D-C15-V
+          - SF2E-C15-V
+          - SD1E-C15-V
+          - SH3E-C15-V
+          - SH1A-C16-V
+          - SD1A-C16-V
+          - SF2A-C16-V
+          - SD1B-C16-V
+          - SH2B-C16-V
+          - SD1D-C16-V
+          - SF2E-C16-V
+          - SD1E-C16-V
+          - SH3E-C16-V
+          - SH1A-C17-V
+          - SD1A-C17-V
+          - SF2A-C17-V
+          - SD1B-C17-V
+          - SH2B-C17-V
+          - SD1D-C17-V
+          - SF2E-C17-V
+          - SD1E-C17-V
+          - SH3E-C17-V
+          - SH1A-C18-V
+          - SD1A-C18-V
+          - SF2A-C18-V
+          - SD1B-C18-V
+          - SH2B-C18-V
+          - SD1D-C18-V
+          - SF2E-C18-V
+          - SD1E-C18-V
+          - SH3E-C18-V
+          - SH1A-C19-V
+          - SD1A-C19-V
+          - SF2A-C19-V
+          - SD1B-C19-V
+          - SH2B-C19-V
+          - SD1D-C19-V
+          - SF2E-C19-V
+          - SD1E-C19-V
+          - SH3E-C19-V
+          - SH1A-C20-V
+          - SD1A-C20-V
+          - SF2A-C20-V
+          - SD1B-C20-V
+          - SH2B-C20-V
+          - SD1D-C20-V
+          - SF2E-C20-V
+          - SD1E-C20-V
+          - SH3E-C20-V
+          - SH1A-C21-V
+          - SD1A-C21-V
+          - SF2A-C21-V
+          - SD1B-C21-V
+          - SH2B-C21-V
+          - SD1D-C21-V
+          - SF2E-C21-V
+          - SD1E-C21-V
+          - SH3E-C21-V
+          - SH1A-C22-V
+          - SD1A-C22-V
+          - SF2A-C22-V
+          - SD1B-C22-V
+          - SH2B-C22-V
+          - SD1D-C22-V
+          - SF2E-C22-V
+          - SD1E-C22-V
+          - SH3E-C22-V
+          - SH1A-C23-V
+          - SD1A-C23-V
+          - SF2A-C23-V
+          - SD1B-C23-V
+          - SH2B-C23-V
+          - SD1D-C23-V
+          - SF2E-C23-V
+          - SD1E-C23-V
+          - SH3E-C23-V
+          - SH1A-C24-V
+          - SD1A-C24-V
+          - SF2A-C24-V
+          - SD1B-C24-V
+          - SH2B-C24-V
+          - SD1D-C24-V
+          - SF2E-C24-V
+          - SD1E-C24-V
+          - SH3E-C24-V
+          - SH1A-C25-V
+          - SD1A-C25-V
+          - SF2A-C25-V
+          - SD1B-C25-V
+          - SH2B-C25-V
+          - SD1D-C25-V
+          - SF2E-C25-V
+          - SD1E-C25-V
+          - SH3E-C25-V
+          - SH1A-C26-V
+          - SD1A-C26-V
+          - SF2A-C26-V
+          - SD1B-C26-V
+          - SH2B-C26-V
+          - SD1D-C26-V
+          - SF2E-C26-V
+          - SD1E-C26-V
+          - SH3E-C26-V
+          - SH1A-C27-V
+          - SD1A-C27-V
+          - SF2A-C27-V
+          - SD1B-C27-V
+          - SH2B-C27-V
+          - SD1D-C27-V
+          - SF2E-C27-V
+          - SD1E-C27-V
+          - SH3E-C27-V
+          - SH1A-C28-V
+          - SD1A-C28-V
+          - SF2A-C28-V
+          - SD1B-C28-V
+          - SH2B-C28-V
+          - SD1D-C28-V
+          - SF2E-C28-V
+          - SD1E-C28-V
+          - SH3E-C28-V
+          - SH1A-C29-V
+          - SD1A-C29-V
+          - SF2A-C29-V
+          - SD1B-C29-V
+          - SH2B-C29-V
+          - SD1D-C29-V
+          - SF2E-C29-V
+          - SD1E-C29-V
+          - SH3E-C29-V
+          - SH1A-C30-V
+          - SD1A-C30-V
+          - SF2A-C30-V
+          - SD1B-C30-V
+          - SH2B-C30-V
+          - SD1D-C30-V
+          - SF2E-C30-V
+          - SD1E-C30-V
+          - SH3E-C30-V
+          - SH1A-C31-V
+          - SD1A-C31-V
+          - SF2A-C31-V
+          - SD1B-C31-V
+          - SH2B-C31-V
+          - SD1D-C31-V
+          - SF2E-C31-V
+          - SD1E-C31-V
+          - SH3E-C31-V
+          - SH1A-C32-V
+          - SD1A-C32-V
+          - SF2A-C32-V
+          - SD1B-C32-V
+          - SH2B-C32-V
+          - SD1D-C32-V
+          - SF2E-C32-V
+          - SD1E-C32-V
+          - SH3E-C32-V
+          - SH1A-C01-V
+          - SD1A-C01-V
+          - SF2A-C01-V
+          - SD1B-C01-V
+          - SH2B-C01-V
+          - SD1D-C01-V
+          - SF2E-C01-V
+          - SD1E-C01-V
+          - SH3E-C01-V
+          - SH1A-C02-V
+          - SD1A-C02-V
+          - SF2A-C02-V
+          - SD1B-C02-V
+          - SH2B-C02-V
+          - SD1D-C02-V
+          - SF2E-C02-V
+          - SD1E-C02-V
+          - SH3E-C02-V
+          - SH1A-C03-V
+          - SI1A-C03-V
+          - SI2A-C03-V
+          - SI1B-C03-V
+          - SH2B-C03-V
+          - SI1D-C03-V
+          - SI2E-C03-V
+          - SI1E-C03-V
+          - SH3E-C03-V
+      - type: pyaml.arrays.bpm
+        name: BPM
+        elements:
+          - BPM_C04-01
+          - BPM_C04-02
+          - BPM_C04-03
+          - BPM_C04-04
+          - BPM_C04-05
+          - BPM_C04-06
+          - BPM_C04-07
+          - BPM_C04-08
+          - BPM_C04-09
+          - BPM_C04-10
+          - BPM_C05-01
+          - BPM_C05-02
+          - BPM_C05-03
+          - BPM_C05-04
+          - BPM_C05-05
+          - BPM_C05-06
+          - BPM_C05-07
+          - BPM_C05-08
+          - BPM_C05-09
+          - BPM_C05-10
+          - BPM_C06-01
+          - BPM_C06-02
+          - BPM_C06-03
+          - BPM_C06-04
+          - BPM_C06-05
+          - BPM_C06-06
+          - BPM_C06-07
+          - BPM_C06-08
+          - BPM_C06-09
+          - BPM_C06-10
+          - BPM_C07-01
+          - BPM_C07-02
+          - BPM_C07-03
+          - BPM_C07-04
+          - BPM_C07-05
+          - BPM_C07-06
+          - BPM_C07-07
+          - BPM_C07-08
+          - BPM_C07-09
+          - BPM_C07-10
+          - BPM_C08-01
+          - BPM_C08-02
+          - BPM_C08-03
+          - BPM_C08-04
+          - BPM_C08-05
+          - BPM_C08-06
+          - BPM_C08-07
+          - BPM_C08-08
+          - BPM_C08-09
+          - BPM_C08-10
+          - BPM_C09-01
+          - BPM_C09-02
+          - BPM_C09-03
+          - BPM_C09-04
+          - BPM_C09-05
+          - BPM_C09-06
+          - BPM_C09-07
+          - BPM_C09-08
+          - BPM_C09-09
+          - BPM_C09-10
+          - BPM_C10-01
+          - BPM_C10-02
+          - BPM_C10-03
+          - BPM_C10-04
+          - BPM_C10-05
+          - BPM_C10-06
+          - BPM_C10-07
+          - BPM_C10-08
+          - BPM_C10-09
+          - BPM_C10-10
+          - BPM_C11-01
+          - BPM_C11-02
+          - BPM_C11-03
+          - BPM_C11-04
+          - BPM_C11-05
+          - BPM_C11-06
+          - BPM_C11-07
+          - BPM_C11-08
+          - BPM_C11-09
+          - BPM_C11-10
+          - BPM_C12-01
+          - BPM_C12-02
+          - BPM_C12-03
+          - BPM_C12-04
+          - BPM_C12-05
+          - BPM_C12-06
+          - BPM_C12-07
+          - BPM_C12-08
+          - BPM_C12-09
+          - BPM_C12-10
+          - BPM_C13-01
+          - BPM_C13-02
+          - BPM_C13-03
+          - BPM_C13-04
+          - BPM_C13-05
+          - BPM_C13-06
+          - BPM_C13-07
+          - BPM_C13-08
+          - BPM_C13-09
+          - BPM_C13-10
+          - BPM_C14-01
+          - BPM_C14-02
+          - BPM_C14-03
+          - BPM_C14-04
+          - BPM_C14-05
+          - BPM_C14-06
+          - BPM_C14-07
+          - BPM_C14-08
+          - BPM_C14-09
+          - BPM_C14-10
+          - BPM_C15-01
+          - BPM_C15-02
+          - BPM_C15-03
+          - BPM_C15-04
+          - BPM_C15-05
+          - BPM_C15-06
+          - BPM_C15-07
+          - BPM_C15-08
+          - BPM_C15-09
+          - BPM_C15-10
+          - BPM_C16-01
+          - BPM_C16-02
+          - BPM_C16-03
+          - BPM_C16-04
+          - BPM_C16-05
+          - BPM_C16-06
+          - BPM_C16-07
+          - BPM_C16-08
+          - BPM_C16-09
+          - BPM_C16-10
+          - BPM_C17-01
+          - BPM_C17-02
+          - BPM_C17-03
+          - BPM_C17-04
+          - BPM_C17-05
+          - BPM_C17-06
+          - BPM_C17-07
+          - BPM_C17-08
+          - BPM_C17-09
+          - BPM_C17-10
+          - BPM_C18-01
+          - BPM_C18-02
+          - BPM_C18-03
+          - BPM_C18-04
+          - BPM_C18-05
+          - BPM_C18-06
+          - BPM_C18-07
+          - BPM_C18-08
+          - BPM_C18-09
+          - BPM_C18-10
+          - BPM_C19-01
+          - BPM_C19-02
+          - BPM_C19-03
+          - BPM_C19-04
+          - BPM_C19-05
+          - BPM_C19-06
+          - BPM_C19-07
+          - BPM_C19-08
+          - BPM_C19-09
+          - BPM_C19-10
+          - BPM_C20-01
+          - BPM_C20-02
+          - BPM_C20-03
+          - BPM_C20-04
+          - BPM_C20-05
+          - BPM_C20-06
+          - BPM_C20-07
+          - BPM_C20-08
+          - BPM_C20-09
+          - BPM_C20-10
+          - BPM_C21-01
+          - BPM_C21-02
+          - BPM_C21-03
+          - BPM_C21-04
+          - BPM_C21-05
+          - BPM_C21-06
+          - BPM_C21-07
+          - BPM_C21-08
+          - BPM_C21-09
+          - BPM_C21-10
+          - BPM_C22-01
+          - BPM_C22-02
+          - BPM_C22-03
+          - BPM_C22-04
+          - BPM_C22-05
+          - BPM_C22-06
+          - BPM_C22-07
+          - BPM_C22-08
+          - BPM_C22-09
+          - BPM_C22-10
+          - BPM_C23-01
+          - BPM_C23-02
+          - BPM_C23-03
+          - BPM_C23-04
+          - BPM_C23-05
+          - BPM_C23-06
+          - BPM_C23-07
+          - BPM_C23-08
+          - BPM_C23-09
+          - BPM_C23-10
+          - BPM_C24-01
+          - BPM_C24-02
+          - BPM_C24-03
+          - BPM_C24-04
+          - BPM_C24-05
+          - BPM_C24-06
+          - BPM_C24-07
+          - BPM_C24-08
+          - BPM_C24-09
+          - BPM_C24-10
+          - BPM_C25-01
+          - BPM_C25-02
+          - BPM_C25-03
+          - BPM_C25-04
+          - BPM_C25-05
+          - BPM_C25-06
+          - BPM_C25-07
+          - BPM_C25-08
+          - BPM_C25-09
+          - BPM_C25-10
+          - BPM_C26-01
+          - BPM_C26-02
+          - BPM_C26-03
+          - BPM_C26-04
+          - BPM_C26-05
+          - BPM_C26-06
+          - BPM_C26-07
+          - BPM_C26-08
+          - BPM_C26-09
+          - BPM_C26-10
+          - BPM_C27-01
+          - BPM_C27-02
+          - BPM_C27-03
+          - BPM_C27-04
+          - BPM_C27-05
+          - BPM_C27-06
+          - BPM_C27-07
+          - BPM_C27-08
+          - BPM_C27-09
+          - BPM_C27-10
+          - BPM_C28-01
+          - BPM_C28-02
+          - BPM_C28-03
+          - BPM_C28-04
+          - BPM_C28-05
+          - BPM_C28-06
+          - BPM_C28-07
+          - BPM_C28-08
+          - BPM_C28-09
+          - BPM_C28-10
+          - BPM_C29-01
+          - BPM_C29-02
+          - BPM_C29-03
+          - BPM_C29-04
+          - BPM_C29-05
+          - BPM_C29-06
+          - BPM_C29-07
+          - BPM_C29-08
+          - BPM_C29-09
+          - BPM_C29-10
+          - BPM_C30-01
+          - BPM_C30-02
+          - BPM_C30-03
+          - BPM_C30-04
+          - BPM_C30-05
+          - BPM_C30-06
+          - BPM_C30-07
+          - BPM_C30-08
+          - BPM_C30-09
+          - BPM_C30-10
+          - BPM_C31-01
+          - BPM_C31-02
+          - BPM_C31-03
+          - BPM_C31-04
+          - BPM_C31-05
+          - BPM_C31-06
+          - BPM_C31-07
+          - BPM_C31-08
+          - BPM_C31-09
+          - BPM_C31-10
+          - BPM_C32-01
+          - BPM_C32-02
+          - BPM_C32-03
+          - BPM_C32-04
+          - BPM_C32-05
+          - BPM_C32-06
+          - BPM_C32-07
+          - BPM_C32-08
+          - BPM_C32-09
+          - BPM_C32-10
+          - BPM_C01-01
+          - BPM_C01-02
+          - BPM_C01-03
+          - BPM_C01-04
+          - BPM_C01-05
+          - BPM_C01-06
+          - BPM_C01-07
+          - BPM_C01-08
+          - BPM_C01-09
+          - BPM_C01-10
+          - BPM_C02-01
+          - BPM_C02-02
+          - BPM_C02-03
+          - BPM_C02-04
+          - BPM_C02-05
+          - BPM_C02-06
+          - BPM_C02-07
+          - BPM_C02-08
+          - BPM_C02-09
+          - BPM_C02-10
+          - BPM_C03-01
+          - BPM_C03-02
+          - BPM_C03-03
+          - BPM_C03-04
+          - BPM_C03-05
+          - BPM_C03-06
+          - BPM_C03-07
+          - BPM_C03-08
+          - BPM_C03-09
+          - BPM_C03-10
+    devices:
+    - type: pyaml.rf.rf_plant
+      name: RF
+      masterclock:
+        type: tango.pyaml.attribute
+        attribute: sy/ms/1/Frequency
+        unit: Hz
+      transmitters:
+        - type: pyaml.rf.rf_transmitter
+          name: RFTRA
+          cavities: [CAV_C05_01,CAV_C05_02,CAV_C05_03,CAV_C05_04,CAV_C05_05,CAV_C07_01,CAV_C07_02,CAV_C07_03,CAV_C07_04,CAV_C07_05,CAV_C25_01,CAV_C25_02,CAV_C25_03]
+          harmonic: 1
+          distribution: 1
+          voltage:
+            type: tango.pyaml.attribute
+            attribute: sys/ringsimulator/ebs/RfVoltage
+            unit: V
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C04
+      mapping:
+        - [B0, SH1A-C04-H]
+        - [A0, SH1A-C04-V]
+        - [A1, SH1A-C04-SQ]
+        - [B2, SH1A-C04-S]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        pseudo_factors: [1.0,-1.0,-1.0,-1.0]
+        units: [rad,rad,m-1,m-2]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_sq_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_sext_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SHI_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c04-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c04-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c04-a-ch3/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c04-a-ch5/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c04-a-ch6/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ1A-C04
+      mapping:
+        - [B0, SJ1A-C04-H]
+        - [A0, SJ1A-C04-V]
+        - [A1, SJ1A-C04-SQ]
+        - [B2, SJ1A-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ2A-C04
+      mapping:
+        - [B0, SJ2A-C04-H]
+        - [A0, SJ2A-C04-V]
+        - [A1, SJ2A-C04-SQ]
+        - [B2, SJ2A-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ1B-C04
+      mapping:
+        - [B0, SJ1B-C04-H]
+        - [A0, SJ1B-C04-V]
+        - [A1, SJ1B-C04-SQ]
+        - [B2, SJ1B-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C04
+      mapping:
+        - [B0, SH2B-C04-H]
+        - [A0, SH2B-C04-V]
+        - [A1, SH2B-C04-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c04-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c04-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c04-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ1D-C04
+      mapping:
+        - [B0, SJ1D-C04-H]
+        - [A0, SJ1D-C04-V]
+        - [A1, SJ1D-C04-SQ]
+        - [B2, SJ1D-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ2E-C04
+      mapping:
+        - [B0, SJ2E-C04-H]
+        - [A0, SJ2E-C04-V]
+        - [A1, SJ2E-C04-SQ]
+        - [B2, SJ2E-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c04-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SJ1E-C04
+      mapping:
+        - [B0, SJ1E-C04-H]
+        - [A0, SJ1E-C04-V]
+        - [A1, SJ1E-C04-SQ]
+        - [B2, SJ1E-C04-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c04-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C04
+      mapping:
+        - [B0, SH3E-C04-H]
+        - [A0, SH3E-C04-V]
+        - [A1, SH3E-C04-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c04-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c04-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c04-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C05
+      mapping:
+        - [B0, SH1A-C05-H]
+        - [A0, SH1A-C05-V]
+        - [A1, SH1A-C05-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c05-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c05-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c05-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C05
+      mapping:
+        - [B0, SD1A-C05-H]
+        - [A0, SD1A-C05-V]
+        - [A1, SD1A-C05-SQ]
+        - [B2, SD1A-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C05
+      mapping:
+        - [B0, SF2A-C05-H]
+        - [A0, SF2A-C05-V]
+        - [A1, SF2A-C05-SQ]
+        - [B2, SF2A-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C05
+      mapping:
+        - [B0, SD1B-C05-H]
+        - [A0, SD1B-C05-V]
+        - [A1, SD1B-C05-SQ]
+        - [B2, SD1B-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C05
+      mapping:
+        - [B0, SH2B-C05-H]
+        - [A0, SH2B-C05-V]
+        - [A1, SH2B-C05-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c05-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c05-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c05-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C05
+      mapping:
+        - [B0, SD1D-C05-H]
+        - [A0, SD1D-C05-V]
+        - [A1, SD1D-C05-SQ]
+        - [B2, SD1D-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C05
+      mapping:
+        - [B0, SF2E-C05-H]
+        - [A0, SF2E-C05-V]
+        - [A1, SF2E-C05-SQ]
+        - [B2, SF2E-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c05-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C05
+      mapping:
+        - [B0, SD1E-C05-H]
+        - [A0, SD1E-C05-V]
+        - [A1, SD1E-C05-SQ]
+        - [B2, SD1E-C05-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c05-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C05
+      mapping:
+        - [B0, SH3E-C05-H]
+        - [A0, SH3E-C05-V]
+        - [A1, SH3E-C05-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c05-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c05-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c05-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C06
+      mapping:
+        - [B0, SH1A-C06-H]
+        - [A0, SH1A-C06-V]
+        - [A1, SH1A-C06-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c06-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c06-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c06-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C06
+      mapping:
+        - [B0, SD1A-C06-H]
+        - [A0, SD1A-C06-V]
+        - [A1, SD1A-C06-SQ]
+        - [B2, SD1A-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C06
+      mapping:
+        - [B0, SF2A-C06-H]
+        - [A0, SF2A-C06-V]
+        - [A1, SF2A-C06-SQ]
+        - [B2, SF2A-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C06
+      mapping:
+        - [B0, SD1B-C06-H]
+        - [A0, SD1B-C06-V]
+        - [A1, SD1B-C06-SQ]
+        - [B2, SD1B-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C06
+      mapping:
+        - [B0, SH2B-C06-H]
+        - [A0, SH2B-C06-V]
+        - [A1, SH2B-C06-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c06-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c06-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c06-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C06
+      mapping:
+        - [B0, SD1D-C06-H]
+        - [A0, SD1D-C06-V]
+        - [A1, SD1D-C06-SQ]
+        - [B2, SD1D-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C06
+      mapping:
+        - [B0, SF2E-C06-H]
+        - [A0, SF2E-C06-V]
+        - [A1, SF2E-C06-SQ]
+        - [B2, SF2E-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c06-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C06
+      mapping:
+        - [B0, SD1E-C06-H]
+        - [A0, SD1E-C06-V]
+        - [A1, SD1E-C06-SQ]
+        - [B2, SD1E-C06-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c06-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C06
+      mapping:
+        - [B0, SH3E-C06-H]
+        - [A0, SH3E-C06-V]
+        - [A1, SH3E-C06-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c06-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c06-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c06-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C07
+      mapping:
+        - [B0, SH1A-C07-H]
+        - [A0, SH1A-C07-V]
+        - [A1, SH1A-C07-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c07-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c07-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c07-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C07
+      mapping:
+        - [B0, SD1A-C07-H]
+        - [A0, SD1A-C07-V]
+        - [A1, SD1A-C07-SQ]
+        - [B2, SD1A-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C07
+      mapping:
+        - [B0, SF2A-C07-H]
+        - [A0, SF2A-C07-V]
+        - [A1, SF2A-C07-SQ]
+        - [B2, SF2A-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C07
+      mapping:
+        - [B0, SD1B-C07-H]
+        - [A0, SD1B-C07-V]
+        - [A1, SD1B-C07-SQ]
+        - [B2, SD1B-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C07
+      mapping:
+        - [B0, SH2B-C07-H]
+        - [A0, SH2B-C07-V]
+        - [A1, SH2B-C07-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c07-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c07-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c07-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C07
+      mapping:
+        - [B0, SD1D-C07-H]
+        - [A0, SD1D-C07-V]
+        - [A1, SD1D-C07-SQ]
+        - [B2, SD1D-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C07
+      mapping:
+        - [B0, SF2E-C07-H]
+        - [A0, SF2E-C07-V]
+        - [A1, SF2E-C07-SQ]
+        - [B2, SF2E-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c07-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C07
+      mapping:
+        - [B0, SD1E-C07-H]
+        - [A0, SD1E-C07-V]
+        - [A1, SD1E-C07-SQ]
+        - [B2, SD1E-C07-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c07-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C07
+      mapping:
+        - [B0, SH3E-C07-H]
+        - [A0, SH3E-C07-V]
+        - [A1, SH3E-C07-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c07-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c07-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c07-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C08
+      mapping:
+        - [B0, SH1A-C08-H]
+        - [A0, SH1A-C08-V]
+        - [A1, SH1A-C08-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c08-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c08-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c08-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C08
+      mapping:
+        - [B0, SD1A-C08-H]
+        - [A0, SD1A-C08-V]
+        - [A1, SD1A-C08-SQ]
+        - [B2, SD1A-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C08
+      mapping:
+        - [B0, SF2A-C08-H]
+        - [A0, SF2A-C08-V]
+        - [A1, SF2A-C08-SQ]
+        - [B2, SF2A-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C08
+      mapping:
+        - [B0, SD1B-C08-H]
+        - [A0, SD1B-C08-V]
+        - [A1, SD1B-C08-SQ]
+        - [B2, SD1B-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C08
+      mapping:
+        - [B0, SH2B-C08-H]
+        - [A0, SH2B-C08-V]
+        - [A1, SH2B-C08-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c08-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c08-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c08-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C08
+      mapping:
+        - [B0, SD1D-C08-H]
+        - [A0, SD1D-C08-V]
+        - [A1, SD1D-C08-SQ]
+        - [B2, SD1D-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C08
+      mapping:
+        - [B0, SF2E-C08-H]
+        - [A0, SF2E-C08-V]
+        - [A1, SF2E-C08-SQ]
+        - [B2, SF2E-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c08-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C08
+      mapping:
+        - [B0, SD1E-C08-H]
+        - [A0, SD1E-C08-V]
+        - [A1, SD1E-C08-SQ]
+        - [B2, SD1E-C08-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c08-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C08
+      mapping:
+        - [B0, SH3E-C08-H]
+        - [A0, SH3E-C08-V]
+        - [A1, SH3E-C08-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c08-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c08-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c08-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C09
+      mapping:
+        - [B0, SH1A-C09-H]
+        - [A0, SH1A-C09-V]
+        - [A1, SH1A-C09-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c09-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c09-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c09-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C09
+      mapping:
+        - [B0, SD1A-C09-H]
+        - [A0, SD1A-C09-V]
+        - [A1, SD1A-C09-SQ]
+        - [B2, SD1A-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C09
+      mapping:
+        - [B0, SF2A-C09-H]
+        - [A0, SF2A-C09-V]
+        - [A1, SF2A-C09-SQ]
+        - [B2, SF2A-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C09
+      mapping:
+        - [B0, SD1B-C09-H]
+        - [A0, SD1B-C09-V]
+        - [A1, SD1B-C09-SQ]
+        - [B2, SD1B-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C09
+      mapping:
+        - [B0, SH2B-C09-H]
+        - [A0, SH2B-C09-V]
+        - [A1, SH2B-C09-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c09-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c09-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c09-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C09
+      mapping:
+        - [B0, SD1D-C09-H]
+        - [A0, SD1D-C09-V]
+        - [A1, SD1D-C09-SQ]
+        - [B2, SD1D-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C09
+      mapping:
+        - [B0, SF2E-C09-H]
+        - [A0, SF2E-C09-V]
+        - [A1, SF2E-C09-SQ]
+        - [B2, SF2E-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c09-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C09
+      mapping:
+        - [B0, SD1E-C09-H]
+        - [A0, SD1E-C09-V]
+        - [A1, SD1E-C09-SQ]
+        - [B2, SD1E-C09-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c09-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C09
+      mapping:
+        - [B0, SH3E-C09-H]
+        - [A0, SH3E-C09-V]
+        - [A1, SH3E-C09-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c09-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c09-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c09-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C10
+      mapping:
+        - [B0, SH1A-C10-H]
+        - [A0, SH1A-C10-V]
+        - [A1, SH1A-C10-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c10-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c10-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c10-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C10
+      mapping:
+        - [B0, SD1A-C10-H]
+        - [A0, SD1A-C10-V]
+        - [A1, SD1A-C10-SQ]
+        - [B2, SD1A-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C10
+      mapping:
+        - [B0, SF2A-C10-H]
+        - [A0, SF2A-C10-V]
+        - [A1, SF2A-C10-SQ]
+        - [B2, SF2A-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C10
+      mapping:
+        - [B0, SD1B-C10-H]
+        - [A0, SD1B-C10-V]
+        - [A1, SD1B-C10-SQ]
+        - [B2, SD1B-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C10
+      mapping:
+        - [B0, SH2B-C10-H]
+        - [A0, SH2B-C10-V]
+        - [A1, SH2B-C10-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c10-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c10-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c10-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C10
+      mapping:
+        - [B0, SD1D-C10-H]
+        - [A0, SD1D-C10-V]
+        - [A1, SD1D-C10-SQ]
+        - [B2, SD1D-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C10
+      mapping:
+        - [B0, SF2E-C10-H]
+        - [A0, SF2E-C10-V]
+        - [A1, SF2E-C10-SQ]
+        - [B2, SF2E-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c10-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C10
+      mapping:
+        - [B0, SD1E-C10-H]
+        - [A0, SD1E-C10-V]
+        - [A1, SD1E-C10-SQ]
+        - [B2, SD1E-C10-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c10-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C10
+      mapping:
+        - [B0, SH3E-C10-H]
+        - [A0, SH3E-C10-V]
+        - [A1, SH3E-C10-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c10-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c10-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c10-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C11
+      mapping:
+        - [B0, SH1A-C11-H]
+        - [A0, SH1A-C11-V]
+        - [A1, SH1A-C11-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c11-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c11-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c11-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C11
+      mapping:
+        - [B0, SD1A-C11-H]
+        - [A0, SD1A-C11-V]
+        - [A1, SD1A-C11-SQ]
+        - [B2, SD1A-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C11
+      mapping:
+        - [B0, SF2A-C11-H]
+        - [A0, SF2A-C11-V]
+        - [A1, SF2A-C11-SQ]
+        - [B2, SF2A-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C11
+      mapping:
+        - [B0, SD1B-C11-H]
+        - [A0, SD1B-C11-V]
+        - [A1, SD1B-C11-SQ]
+        - [B2, SD1B-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C11
+      mapping:
+        - [B0, SH2B-C11-H]
+        - [A0, SH2B-C11-V]
+        - [A1, SH2B-C11-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c11-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c11-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c11-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C11
+      mapping:
+        - [B0, SD1D-C11-H]
+        - [A0, SD1D-C11-V]
+        - [A1, SD1D-C11-SQ]
+        - [B2, SD1D-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C11
+      mapping:
+        - [B0, SF2E-C11-H]
+        - [A0, SF2E-C11-V]
+        - [A1, SF2E-C11-SQ]
+        - [B2, SF2E-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c11-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C11
+      mapping:
+        - [B0, SD1E-C11-H]
+        - [A0, SD1E-C11-V]
+        - [A1, SD1E-C11-SQ]
+        - [B2, SD1E-C11-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c11-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C11
+      mapping:
+        - [B0, SH3E-C11-H]
+        - [A0, SH3E-C11-V]
+        - [A1, SH3E-C11-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c11-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c11-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c11-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C12
+      mapping:
+        - [B0, SH1A-C12-H]
+        - [A0, SH1A-C12-V]
+        - [A1, SH1A-C12-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c12-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c12-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c12-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C12
+      mapping:
+        - [B0, SD1A-C12-H]
+        - [A0, SD1A-C12-V]
+        - [A1, SD1A-C12-SQ]
+        - [B2, SD1A-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C12
+      mapping:
+        - [B0, SF2A-C12-H]
+        - [A0, SF2A-C12-V]
+        - [A1, SF2A-C12-SQ]
+        - [B2, SF2A-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C12
+      mapping:
+        - [B0, SD1B-C12-H]
+        - [A0, SD1B-C12-V]
+        - [A1, SD1B-C12-SQ]
+        - [B2, SD1B-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C12
+      mapping:
+        - [B0, SH2B-C12-H]
+        - [A0, SH2B-C12-V]
+        - [A1, SH2B-C12-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c12-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c12-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c12-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C12
+      mapping:
+        - [B0, SD1D-C12-H]
+        - [A0, SD1D-C12-V]
+        - [A1, SD1D-C12-SQ]
+        - [B2, SD1D-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C12
+      mapping:
+        - [B0, SF2E-C12-H]
+        - [A0, SF2E-C12-V]
+        - [A1, SF2E-C12-SQ]
+        - [B2, SF2E-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c12-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C12
+      mapping:
+        - [B0, SD1E-C12-H]
+        - [A0, SD1E-C12-V]
+        - [A1, SD1E-C12-SQ]
+        - [B2, SD1E-C12-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c12-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C12
+      mapping:
+        - [B0, SH3E-C12-H]
+        - [A0, SH3E-C12-V]
+        - [A1, SH3E-C12-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c12-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c12-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c12-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C13
+      mapping:
+        - [B0, SH1A-C13-H]
+        - [A0, SH1A-C13-V]
+        - [A1, SH1A-C13-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c13-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c13-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c13-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C13
+      mapping:
+        - [B0, SD1A-C13-H]
+        - [A0, SD1A-C13-V]
+        - [A1, SD1A-C13-SQ]
+        - [B2, SD1A-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C13
+      mapping:
+        - [B0, SF2A-C13-H]
+        - [A0, SF2A-C13-V]
+        - [A1, SF2A-C13-SQ]
+        - [B2, SF2A-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C13
+      mapping:
+        - [B0, SD1B-C13-H]
+        - [A0, SD1B-C13-V]
+        - [A1, SD1B-C13-SQ]
+        - [B2, SD1B-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C13
+      mapping:
+        - [B0, SH2B-C13-H]
+        - [A0, SH2B-C13-V]
+        - [A1, SH2B-C13-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c13-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c13-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c13-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C13
+      mapping:
+        - [B0, SD1D-C13-H]
+        - [A0, SD1D-C13-V]
+        - [A1, SD1D-C13-SQ]
+        - [B2, SD1D-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C13
+      mapping:
+        - [B0, SF2E-C13-H]
+        - [A0, SF2E-C13-V]
+        - [A1, SF2E-C13-SQ]
+        - [B2, SF2E-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c13-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C13
+      mapping:
+        - [B0, SD1E-C13-H]
+        - [A0, SD1E-C13-V]
+        - [A1, SD1E-C13-SQ]
+        - [B2, SD1E-C13-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c13-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C13
+      mapping:
+        - [B0, SH3E-C13-H]
+        - [A0, SH3E-C13-V]
+        - [A1, SH3E-C13-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c13-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c13-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c13-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C14
+      mapping:
+        - [B0, SH1A-C14-H]
+        - [A0, SH1A-C14-V]
+        - [A1, SH1A-C14-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c14-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c14-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c14-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C14
+      mapping:
+        - [B0, SD1A-C14-H]
+        - [A0, SD1A-C14-V]
+        - [A1, SD1A-C14-SQ]
+        - [B2, SD1A-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C14
+      mapping:
+        - [B0, SF2A-C14-H]
+        - [A0, SF2A-C14-V]
+        - [A1, SF2A-C14-SQ]
+        - [B2, SF2A-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C14
+      mapping:
+        - [B0, SD1B-C14-H]
+        - [A0, SD1B-C14-V]
+        - [A1, SD1B-C14-SQ]
+        - [B2, SD1B-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C14
+      mapping:
+        - [B0, SH2B-C14-H]
+        - [A0, SH2B-C14-V]
+        - [A1, SH2B-C14-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c14-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c14-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c14-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C14
+      mapping:
+        - [B0, SD1D-C14-H]
+        - [A0, SD1D-C14-V]
+        - [A1, SD1D-C14-SQ]
+        - [B2, SD1D-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C14
+      mapping:
+        - [B0, SF2E-C14-H]
+        - [A0, SF2E-C14-V]
+        - [A1, SF2E-C14-SQ]
+        - [B2, SF2E-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c14-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C14
+      mapping:
+        - [B0, SD1E-C14-H]
+        - [A0, SD1E-C14-V]
+        - [A1, SD1E-C14-SQ]
+        - [B2, SD1E-C14-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c14-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C14
+      mapping:
+        - [B0, SH3E-C14-H]
+        - [A0, SH3E-C14-V]
+        - [A1, SH3E-C14-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c14-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c14-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c14-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C15
+      mapping:
+        - [B0, SH1A-C15-H]
+        - [A0, SH1A-C15-V]
+        - [A1, SH1A-C15-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c15-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c15-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c15-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C15
+      mapping:
+        - [B0, SD1A-C15-H]
+        - [A0, SD1A-C15-V]
+        - [A1, SD1A-C15-SQ]
+        - [B2, SD1A-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C15
+      mapping:
+        - [B0, SF2A-C15-H]
+        - [A0, SF2A-C15-V]
+        - [A1, SF2A-C15-SQ]
+        - [B2, SF2A-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C15
+      mapping:
+        - [B0, SD1B-C15-H]
+        - [A0, SD1B-C15-V]
+        - [A1, SD1B-C15-SQ]
+        - [B2, SD1B-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C15
+      mapping:
+        - [B0, SH2B-C15-H]
+        - [A0, SH2B-C15-V]
+        - [A1, SH2B-C15-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c15-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c15-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c15-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C15
+      mapping:
+        - [B0, SD1D-C15-H]
+        - [A0, SD1D-C15-V]
+        - [A1, SD1D-C15-SQ]
+        - [B2, SD1D-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C15
+      mapping:
+        - [B0, SF2E-C15-H]
+        - [A0, SF2E-C15-V]
+        - [A1, SF2E-C15-SQ]
+        - [B2, SF2E-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c15-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C15
+      mapping:
+        - [B0, SD1E-C15-H]
+        - [A0, SD1E-C15-V]
+        - [A1, SD1E-C15-SQ]
+        - [B2, SD1E-C15-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c15-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C15
+      mapping:
+        - [B0, SH3E-C15-H]
+        - [A0, SH3E-C15-V]
+        - [A1, SH3E-C15-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c15-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c15-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c15-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C16
+      mapping:
+        - [B0, SH1A-C16-H]
+        - [A0, SH1A-C16-V]
+        - [A1, SH1A-C16-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c16-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c16-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c16-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C16
+      mapping:
+        - [B0, SD1A-C16-H]
+        - [A0, SD1A-C16-V]
+        - [A1, SD1A-C16-SQ]
+        - [B2, SD1A-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C16
+      mapping:
+        - [B0, SF2A-C16-H]
+        - [A0, SF2A-C16-V]
+        - [A1, SF2A-C16-SQ]
+        - [B2, SF2A-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C16
+      mapping:
+        - [B0, SD1B-C16-H]
+        - [A0, SD1B-C16-V]
+        - [A1, SD1B-C16-SQ]
+        - [B2, SD1B-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C16
+      mapping:
+        - [B0, SH2B-C16-H]
+        - [A0, SH2B-C16-V]
+        - [A1, SH2B-C16-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c16-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c16-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c16-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C16
+      mapping:
+        - [B0, SD1D-C16-H]
+        - [A0, SD1D-C16-V]
+        - [A1, SD1D-C16-SQ]
+        - [B2, SD1D-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C16
+      mapping:
+        - [B0, SF2E-C16-H]
+        - [A0, SF2E-C16-V]
+        - [A1, SF2E-C16-SQ]
+        - [B2, SF2E-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c16-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C16
+      mapping:
+        - [B0, SD1E-C16-H]
+        - [A0, SD1E-C16-V]
+        - [A1, SD1E-C16-SQ]
+        - [B2, SD1E-C16-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c16-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C16
+      mapping:
+        - [B0, SH3E-C16-H]
+        - [A0, SH3E-C16-V]
+        - [A1, SH3E-C16-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c16-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c16-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c16-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C17
+      mapping:
+        - [B0, SH1A-C17-H]
+        - [A0, SH1A-C17-V]
+        - [A1, SH1A-C17-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c17-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c17-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c17-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C17
+      mapping:
+        - [B0, SD1A-C17-H]
+        - [A0, SD1A-C17-V]
+        - [A1, SD1A-C17-SQ]
+        - [B2, SD1A-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C17
+      mapping:
+        - [B0, SF2A-C17-H]
+        - [A0, SF2A-C17-V]
+        - [A1, SF2A-C17-SQ]
+        - [B2, SF2A-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C17
+      mapping:
+        - [B0, SD1B-C17-H]
+        - [A0, SD1B-C17-V]
+        - [A1, SD1B-C17-SQ]
+        - [B2, SD1B-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C17
+      mapping:
+        - [B0, SH2B-C17-H]
+        - [A0, SH2B-C17-V]
+        - [A1, SH2B-C17-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c17-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c17-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c17-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C17
+      mapping:
+        - [B0, SD1D-C17-H]
+        - [A0, SD1D-C17-V]
+        - [A1, SD1D-C17-SQ]
+        - [B2, SD1D-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C17
+      mapping:
+        - [B0, SF2E-C17-H]
+        - [A0, SF2E-C17-V]
+        - [A1, SF2E-C17-SQ]
+        - [B2, SF2E-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c17-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C17
+      mapping:
+        - [B0, SD1E-C17-H]
+        - [A0, SD1E-C17-V]
+        - [A1, SD1E-C17-SQ]
+        - [B2, SD1E-C17-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c17-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C17
+      mapping:
+        - [B0, SH3E-C17-H]
+        - [A0, SH3E-C17-V]
+        - [A1, SH3E-C17-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c17-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c17-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c17-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C18
+      mapping:
+        - [B0, SH1A-C18-H]
+        - [A0, SH1A-C18-V]
+        - [A1, SH1A-C18-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c18-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c18-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c18-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C18
+      mapping:
+        - [B0, SD1A-C18-H]
+        - [A0, SD1A-C18-V]
+        - [A1, SD1A-C18-SQ]
+        - [B2, SD1A-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C18
+      mapping:
+        - [B0, SF2A-C18-H]
+        - [A0, SF2A-C18-V]
+        - [A1, SF2A-C18-SQ]
+        - [B2, SF2A-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C18
+      mapping:
+        - [B0, SD1B-C18-H]
+        - [A0, SD1B-C18-V]
+        - [A1, SD1B-C18-SQ]
+        - [B2, SD1B-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C18
+      mapping:
+        - [B0, SH2B-C18-H]
+        - [A0, SH2B-C18-V]
+        - [A1, SH2B-C18-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c18-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c18-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c18-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C18
+      mapping:
+        - [B0, SD1D-C18-H]
+        - [A0, SD1D-C18-V]
+        - [A1, SD1D-C18-SQ]
+        - [B2, SD1D-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C18
+      mapping:
+        - [B0, SF2E-C18-H]
+        - [A0, SF2E-C18-V]
+        - [A1, SF2E-C18-SQ]
+        - [B2, SF2E-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c18-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C18
+      mapping:
+        - [B0, SD1E-C18-H]
+        - [A0, SD1E-C18-V]
+        - [A1, SD1E-C18-SQ]
+        - [B2, SD1E-C18-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c18-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C18
+      mapping:
+        - [B0, SH3E-C18-H]
+        - [A0, SH3E-C18-V]
+        - [A1, SH3E-C18-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c18-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c18-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c18-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C19
+      mapping:
+        - [B0, SH1A-C19-H]
+        - [A0, SH1A-C19-V]
+        - [A1, SH1A-C19-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c19-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c19-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c19-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C19
+      mapping:
+        - [B0, SD1A-C19-H]
+        - [A0, SD1A-C19-V]
+        - [A1, SD1A-C19-SQ]
+        - [B2, SD1A-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C19
+      mapping:
+        - [B0, SF2A-C19-H]
+        - [A0, SF2A-C19-V]
+        - [A1, SF2A-C19-SQ]
+        - [B2, SF2A-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C19
+      mapping:
+        - [B0, SD1B-C19-H]
+        - [A0, SD1B-C19-V]
+        - [A1, SD1B-C19-SQ]
+        - [B2, SD1B-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C19
+      mapping:
+        - [B0, SH2B-C19-H]
+        - [A0, SH2B-C19-V]
+        - [A1, SH2B-C19-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c19-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c19-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c19-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C19
+      mapping:
+        - [B0, SD1D-C19-H]
+        - [A0, SD1D-C19-V]
+        - [A1, SD1D-C19-SQ]
+        - [B2, SD1D-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C19
+      mapping:
+        - [B0, SF2E-C19-H]
+        - [A0, SF2E-C19-V]
+        - [A1, SF2E-C19-SQ]
+        - [B2, SF2E-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c19-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C19
+      mapping:
+        - [B0, SD1E-C19-H]
+        - [A0, SD1E-C19-V]
+        - [A1, SD1E-C19-SQ]
+        - [B2, SD1E-C19-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c19-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C19
+      mapping:
+        - [B0, SH3E-C19-H]
+        - [A0, SH3E-C19-V]
+        - [A1, SH3E-C19-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c19-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c19-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c19-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C20
+      mapping:
+        - [B0, SH1A-C20-H]
+        - [A0, SH1A-C20-V]
+        - [A1, SH1A-C20-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c20-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c20-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c20-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C20
+      mapping:
+        - [B0, SD1A-C20-H]
+        - [A0, SD1A-C20-V]
+        - [A1, SD1A-C20-SQ]
+        - [B2, SD1A-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C20
+      mapping:
+        - [B0, SF2A-C20-H]
+        - [A0, SF2A-C20-V]
+        - [A1, SF2A-C20-SQ]
+        - [B2, SF2A-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C20
+      mapping:
+        - [B0, SD1B-C20-H]
+        - [A0, SD1B-C20-V]
+        - [A1, SD1B-C20-SQ]
+        - [B2, SD1B-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C20
+      mapping:
+        - [B0, SH2B-C20-H]
+        - [A0, SH2B-C20-V]
+        - [A1, SH2B-C20-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c20-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c20-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c20-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C20
+      mapping:
+        - [B0, SD1D-C20-H]
+        - [A0, SD1D-C20-V]
+        - [A1, SD1D-C20-SQ]
+        - [B2, SD1D-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C20
+      mapping:
+        - [B0, SF2E-C20-H]
+        - [A0, SF2E-C20-V]
+        - [A1, SF2E-C20-SQ]
+        - [B2, SF2E-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c20-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C20
+      mapping:
+        - [B0, SD1E-C20-H]
+        - [A0, SD1E-C20-V]
+        - [A1, SD1E-C20-SQ]
+        - [B2, SD1E-C20-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c20-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C20
+      mapping:
+        - [B0, SH3E-C20-H]
+        - [A0, SH3E-C20-V]
+        - [A1, SH3E-C20-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c20-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c20-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c20-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C21
+      mapping:
+        - [B0, SH1A-C21-H]
+        - [A0, SH1A-C21-V]
+        - [A1, SH1A-C21-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c21-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c21-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c21-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C21
+      mapping:
+        - [B0, SD1A-C21-H]
+        - [A0, SD1A-C21-V]
+        - [A1, SD1A-C21-SQ]
+        - [B2, SD1A-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C21
+      mapping:
+        - [B0, SF2A-C21-H]
+        - [A0, SF2A-C21-V]
+        - [A1, SF2A-C21-SQ]
+        - [B2, SF2A-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C21
+      mapping:
+        - [B0, SD1B-C21-H]
+        - [A0, SD1B-C21-V]
+        - [A1, SD1B-C21-SQ]
+        - [B2, SD1B-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C21
+      mapping:
+        - [B0, SH2B-C21-H]
+        - [A0, SH2B-C21-V]
+        - [A1, SH2B-C21-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c21-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c21-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c21-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C21
+      mapping:
+        - [B0, SD1D-C21-H]
+        - [A0, SD1D-C21-V]
+        - [A1, SD1D-C21-SQ]
+        - [B2, SD1D-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C21
+      mapping:
+        - [B0, SF2E-C21-H]
+        - [A0, SF2E-C21-V]
+        - [A1, SF2E-C21-SQ]
+        - [B2, SF2E-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c21-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C21
+      mapping:
+        - [B0, SD1E-C21-H]
+        - [A0, SD1E-C21-V]
+        - [A1, SD1E-C21-SQ]
+        - [B2, SD1E-C21-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c21-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C21
+      mapping:
+        - [B0, SH3E-C21-H]
+        - [A0, SH3E-C21-V]
+        - [A1, SH3E-C21-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c21-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c21-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c21-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C22
+      mapping:
+        - [B0, SH1A-C22-H]
+        - [A0, SH1A-C22-V]
+        - [A1, SH1A-C22-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c22-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c22-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c22-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C22
+      mapping:
+        - [B0, SD1A-C22-H]
+        - [A0, SD1A-C22-V]
+        - [A1, SD1A-C22-SQ]
+        - [B2, SD1A-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C22
+      mapping:
+        - [B0, SF2A-C22-H]
+        - [A0, SF2A-C22-V]
+        - [A1, SF2A-C22-SQ]
+        - [B2, SF2A-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C22
+      mapping:
+        - [B0, SD1B-C22-H]
+        - [A0, SD1B-C22-V]
+        - [A1, SD1B-C22-SQ]
+        - [B2, SD1B-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C22
+      mapping:
+        - [B0, SH2B-C22-H]
+        - [A0, SH2B-C22-V]
+        - [A1, SH2B-C22-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c22-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c22-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c22-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C22
+      mapping:
+        - [B0, SD1D-C22-H]
+        - [A0, SD1D-C22-V]
+        - [A1, SD1D-C22-SQ]
+        - [B2, SD1D-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C22
+      mapping:
+        - [B0, SF2E-C22-H]
+        - [A0, SF2E-C22-V]
+        - [A1, SF2E-C22-SQ]
+        - [B2, SF2E-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c22-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C22
+      mapping:
+        - [B0, SD1E-C22-H]
+        - [A0, SD1E-C22-V]
+        - [A1, SD1E-C22-SQ]
+        - [B2, SD1E-C22-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c22-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C22
+      mapping:
+        - [B0, SH3E-C22-H]
+        - [A0, SH3E-C22-V]
+        - [A1, SH3E-C22-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c22-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c22-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c22-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C23
+      mapping:
+        - [B0, SH1A-C23-H]
+        - [A0, SH1A-C23-V]
+        - [A1, SH1A-C23-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c23-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c23-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c23-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C23
+      mapping:
+        - [B0, SD1A-C23-H]
+        - [A0, SD1A-C23-V]
+        - [A1, SD1A-C23-SQ]
+        - [B2, SD1A-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C23
+      mapping:
+        - [B0, SF2A-C23-H]
+        - [A0, SF2A-C23-V]
+        - [A1, SF2A-C23-SQ]
+        - [B2, SF2A-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C23
+      mapping:
+        - [B0, SD1B-C23-H]
+        - [A0, SD1B-C23-V]
+        - [A1, SD1B-C23-SQ]
+        - [B2, SD1B-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C23
+      mapping:
+        - [B0, SH2B-C23-H]
+        - [A0, SH2B-C23-V]
+        - [A1, SH2B-C23-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c23-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c23-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c23-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C23
+      mapping:
+        - [B0, SD1D-C23-H]
+        - [A0, SD1D-C23-V]
+        - [A1, SD1D-C23-SQ]
+        - [B2, SD1D-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C23
+      mapping:
+        - [B0, SF2E-C23-H]
+        - [A0, SF2E-C23-V]
+        - [A1, SF2E-C23-SQ]
+        - [B2, SF2E-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c23-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C23
+      mapping:
+        - [B0, SD1E-C23-H]
+        - [A0, SD1E-C23-V]
+        - [A1, SD1E-C23-SQ]
+        - [B2, SD1E-C23-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c23-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C23
+      mapping:
+        - [B0, SH3E-C23-H]
+        - [A0, SH3E-C23-V]
+        - [A1, SH3E-C23-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c23-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c23-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c23-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C24
+      mapping:
+        - [B0, SH1A-C24-H]
+        - [A0, SH1A-C24-V]
+        - [A1, SH1A-C24-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c24-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c24-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c24-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C24
+      mapping:
+        - [B0, SD1A-C24-H]
+        - [A0, SD1A-C24-V]
+        - [A1, SD1A-C24-SQ]
+        - [B2, SD1A-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C24
+      mapping:
+        - [B0, SF2A-C24-H]
+        - [A0, SF2A-C24-V]
+        - [A1, SF2A-C24-SQ]
+        - [B2, SF2A-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C24
+      mapping:
+        - [B0, SD1B-C24-H]
+        - [A0, SD1B-C24-V]
+        - [A1, SD1B-C24-SQ]
+        - [B2, SD1B-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C24
+      mapping:
+        - [B0, SH2B-C24-H]
+        - [A0, SH2B-C24-V]
+        - [A1, SH2B-C24-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c24-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c24-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c24-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C24
+      mapping:
+        - [B0, SD1D-C24-H]
+        - [A0, SD1D-C24-V]
+        - [A1, SD1D-C24-SQ]
+        - [B2, SD1D-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C24
+      mapping:
+        - [B0, SF2E-C24-H]
+        - [A0, SF2E-C24-V]
+        - [A1, SF2E-C24-SQ]
+        - [B2, SF2E-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c24-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C24
+      mapping:
+        - [B0, SD1E-C24-H]
+        - [A0, SD1E-C24-V]
+        - [A1, SD1E-C24-SQ]
+        - [B2, SD1E-C24-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c24-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C24
+      mapping:
+        - [B0, SH3E-C24-H]
+        - [A0, SH3E-C24-V]
+        - [A1, SH3E-C24-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c24-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c24-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c24-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C25
+      mapping:
+        - [B0, SH1A-C25-H]
+        - [A0, SH1A-C25-V]
+        - [A1, SH1A-C25-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c25-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c25-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c25-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C25
+      mapping:
+        - [B0, SD1A-C25-H]
+        - [A0, SD1A-C25-V]
+        - [A1, SD1A-C25-SQ]
+        - [B2, SD1A-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C25
+      mapping:
+        - [B0, SF2A-C25-H]
+        - [A0, SF2A-C25-V]
+        - [A1, SF2A-C25-SQ]
+        - [B2, SF2A-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C25
+      mapping:
+        - [B0, SD1B-C25-H]
+        - [A0, SD1B-C25-V]
+        - [A1, SD1B-C25-SQ]
+        - [B2, SD1B-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C25
+      mapping:
+        - [B0, SH2B-C25-H]
+        - [A0, SH2B-C25-V]
+        - [A1, SH2B-C25-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c25-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c25-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c25-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C25
+      mapping:
+        - [B0, SD1D-C25-H]
+        - [A0, SD1D-C25-V]
+        - [A1, SD1D-C25-SQ]
+        - [B2, SD1D-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C25
+      mapping:
+        - [B0, SF2E-C25-H]
+        - [A0, SF2E-C25-V]
+        - [A1, SF2E-C25-SQ]
+        - [B2, SF2E-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c25-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C25
+      mapping:
+        - [B0, SD1E-C25-H]
+        - [A0, SD1E-C25-V]
+        - [A1, SD1E-C25-SQ]
+        - [B2, SD1E-C25-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c25-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C25
+      mapping:
+        - [B0, SH3E-C25-H]
+        - [A0, SH3E-C25-V]
+        - [A1, SH3E-C25-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c25-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c25-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c25-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C26
+      mapping:
+        - [B0, SH1A-C26-H]
+        - [A0, SH1A-C26-V]
+        - [A1, SH1A-C26-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c26-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c26-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c26-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C26
+      mapping:
+        - [B0, SD1A-C26-H]
+        - [A0, SD1A-C26-V]
+        - [A1, SD1A-C26-SQ]
+        - [B2, SD1A-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C26
+      mapping:
+        - [B0, SF2A-C26-H]
+        - [A0, SF2A-C26-V]
+        - [A1, SF2A-C26-SQ]
+        - [B2, SF2A-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C26
+      mapping:
+        - [B0, SD1B-C26-H]
+        - [A0, SD1B-C26-V]
+        - [A1, SD1B-C26-SQ]
+        - [B2, SD1B-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C26
+      mapping:
+        - [B0, SH2B-C26-H]
+        - [A0, SH2B-C26-V]
+        - [A1, SH2B-C26-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c26-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c26-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c26-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C26
+      mapping:
+        - [B0, SD1D-C26-H]
+        - [A0, SD1D-C26-V]
+        - [A1, SD1D-C26-SQ]
+        - [B2, SD1D-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C26
+      mapping:
+        - [B0, SF2E-C26-H]
+        - [A0, SF2E-C26-V]
+        - [A1, SF2E-C26-SQ]
+        - [B2, SF2E-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c26-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C26
+      mapping:
+        - [B0, SD1E-C26-H]
+        - [A0, SD1E-C26-V]
+        - [A1, SD1E-C26-SQ]
+        - [B2, SD1E-C26-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c26-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C26
+      mapping:
+        - [B0, SH3E-C26-H]
+        - [A0, SH3E-C26-V]
+        - [A1, SH3E-C26-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c26-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c26-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c26-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C27
+      mapping:
+        - [B0, SH1A-C27-H]
+        - [A0, SH1A-C27-V]
+        - [A1, SH1A-C27-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c27-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c27-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c27-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C27
+      mapping:
+        - [B0, SD1A-C27-H]
+        - [A0, SD1A-C27-V]
+        - [A1, SD1A-C27-SQ]
+        - [B2, SD1A-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C27
+      mapping:
+        - [B0, SF2A-C27-H]
+        - [A0, SF2A-C27-V]
+        - [A1, SF2A-C27-SQ]
+        - [B2, SF2A-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C27
+      mapping:
+        - [B0, SD1B-C27-H]
+        - [A0, SD1B-C27-V]
+        - [A1, SD1B-C27-SQ]
+        - [B2, SD1B-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C27
+      mapping:
+        - [B0, SH2B-C27-H]
+        - [A0, SH2B-C27-V]
+        - [A1, SH2B-C27-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c27-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c27-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c27-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C27
+      mapping:
+        - [B0, SD1D-C27-H]
+        - [A0, SD1D-C27-V]
+        - [A1, SD1D-C27-SQ]
+        - [B2, SD1D-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C27
+      mapping:
+        - [B0, SF2E-C27-H]
+        - [A0, SF2E-C27-V]
+        - [A1, SF2E-C27-SQ]
+        - [B2, SF2E-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c27-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C27
+      mapping:
+        - [B0, SD1E-C27-H]
+        - [A0, SD1E-C27-V]
+        - [A1, SD1E-C27-SQ]
+        - [B2, SD1E-C27-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c27-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C27
+      mapping:
+        - [B0, SH3E-C27-H]
+        - [A0, SH3E-C27-V]
+        - [A1, SH3E-C27-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c27-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c27-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c27-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C28
+      mapping:
+        - [B0, SH1A-C28-H]
+        - [A0, SH1A-C28-V]
+        - [A1, SH1A-C28-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c28-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c28-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c28-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C28
+      mapping:
+        - [B0, SD1A-C28-H]
+        - [A0, SD1A-C28-V]
+        - [A1, SD1A-C28-SQ]
+        - [B2, SD1A-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C28
+      mapping:
+        - [B0, SF2A-C28-H]
+        - [A0, SF2A-C28-V]
+        - [A1, SF2A-C28-SQ]
+        - [B2, SF2A-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C28
+      mapping:
+        - [B0, SD1B-C28-H]
+        - [A0, SD1B-C28-V]
+        - [A1, SD1B-C28-SQ]
+        - [B2, SD1B-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C28
+      mapping:
+        - [B0, SH2B-C28-H]
+        - [A0, SH2B-C28-V]
+        - [A1, SH2B-C28-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c28-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c28-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c28-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C28
+      mapping:
+        - [B0, SD1D-C28-H]
+        - [A0, SD1D-C28-V]
+        - [A1, SD1D-C28-SQ]
+        - [B2, SD1D-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C28
+      mapping:
+        - [B0, SF2E-C28-H]
+        - [A0, SF2E-C28-V]
+        - [A1, SF2E-C28-SQ]
+        - [B2, SF2E-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c28-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C28
+      mapping:
+        - [B0, SD1E-C28-H]
+        - [A0, SD1E-C28-V]
+        - [A1, SD1E-C28-SQ]
+        - [B2, SD1E-C28-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c28-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C28
+      mapping:
+        - [B0, SH3E-C28-H]
+        - [A0, SH3E-C28-V]
+        - [A1, SH3E-C28-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c28-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c28-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c28-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C29
+      mapping:
+        - [B0, SH1A-C29-H]
+        - [A0, SH1A-C29-V]
+        - [A1, SH1A-C29-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c29-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c29-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c29-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C29
+      mapping:
+        - [B0, SD1A-C29-H]
+        - [A0, SD1A-C29-V]
+        - [A1, SD1A-C29-SQ]
+        - [B2, SD1A-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C29
+      mapping:
+        - [B0, SF2A-C29-H]
+        - [A0, SF2A-C29-V]
+        - [A1, SF2A-C29-SQ]
+        - [B2, SF2A-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C29
+      mapping:
+        - [B0, SD1B-C29-H]
+        - [A0, SD1B-C29-V]
+        - [A1, SD1B-C29-SQ]
+        - [B2, SD1B-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C29
+      mapping:
+        - [B0, SH2B-C29-H]
+        - [A0, SH2B-C29-V]
+        - [A1, SH2B-C29-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c29-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c29-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c29-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C29
+      mapping:
+        - [B0, SD1D-C29-H]
+        - [A0, SD1D-C29-V]
+        - [A1, SD1D-C29-SQ]
+        - [B2, SD1D-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C29
+      mapping:
+        - [B0, SF2E-C29-H]
+        - [A0, SF2E-C29-V]
+        - [A1, SF2E-C29-SQ]
+        - [B2, SF2E-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c29-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C29
+      mapping:
+        - [B0, SD1E-C29-H]
+        - [A0, SD1E-C29-V]
+        - [A1, SD1E-C29-SQ]
+        - [B2, SD1E-C29-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c29-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C29
+      mapping:
+        - [B0, SH3E-C29-H]
+        - [A0, SH3E-C29-V]
+        - [A1, SH3E-C29-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c29-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c29-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c29-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C30
+      mapping:
+        - [B0, SH1A-C30-H]
+        - [A0, SH1A-C30-V]
+        - [A1, SH1A-C30-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c30-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c30-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c30-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C30
+      mapping:
+        - [B0, SD1A-C30-H]
+        - [A0, SD1A-C30-V]
+        - [A1, SD1A-C30-SQ]
+        - [B2, SD1A-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C30
+      mapping:
+        - [B0, SF2A-C30-H]
+        - [A0, SF2A-C30-V]
+        - [A1, SF2A-C30-SQ]
+        - [B2, SF2A-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C30
+      mapping:
+        - [B0, SD1B-C30-H]
+        - [A0, SD1B-C30-V]
+        - [A1, SD1B-C30-SQ]
+        - [B2, SD1B-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C30
+      mapping:
+        - [B0, SH2B-C30-H]
+        - [A0, SH2B-C30-V]
+        - [A1, SH2B-C30-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c30-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c30-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c30-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C30
+      mapping:
+        - [B0, SD1D-C30-H]
+        - [A0, SD1D-C30-V]
+        - [A1, SD1D-C30-SQ]
+        - [B2, SD1D-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C30
+      mapping:
+        - [B0, SF2E-C30-H]
+        - [A0, SF2E-C30-V]
+        - [A1, SF2E-C30-SQ]
+        - [B2, SF2E-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c30-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C30
+      mapping:
+        - [B0, SD1E-C30-H]
+        - [A0, SD1E-C30-V]
+        - [A1, SD1E-C30-SQ]
+        - [B2, SD1E-C30-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c30-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C30
+      mapping:
+        - [B0, SH3E-C30-H]
+        - [A0, SH3E-C30-V]
+        - [A1, SH3E-C30-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c30-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c30-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c30-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C31
+      mapping:
+        - [B0, SH1A-C31-H]
+        - [A0, SH1A-C31-V]
+        - [A1, SH1A-C31-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c31-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c31-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c31-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C31
+      mapping:
+        - [B0, SD1A-C31-H]
+        - [A0, SD1A-C31-V]
+        - [A1, SD1A-C31-SQ]
+        - [B2, SD1A-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C31
+      mapping:
+        - [B0, SF2A-C31-H]
+        - [A0, SF2A-C31-V]
+        - [A1, SF2A-C31-SQ]
+        - [B2, SF2A-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C31
+      mapping:
+        - [B0, SD1B-C31-H]
+        - [A0, SD1B-C31-V]
+        - [A1, SD1B-C31-SQ]
+        - [B2, SD1B-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C31
+      mapping:
+        - [B0, SH2B-C31-H]
+        - [A0, SH2B-C31-V]
+        - [A1, SH2B-C31-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c31-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c31-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c31-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C31
+      mapping:
+        - [B0, SD1D-C31-H]
+        - [A0, SD1D-C31-V]
+        - [A1, SD1D-C31-SQ]
+        - [B2, SD1D-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C31
+      mapping:
+        - [B0, SF2E-C31-H]
+        - [A0, SF2E-C31-V]
+        - [A1, SF2E-C31-SQ]
+        - [B2, SF2E-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c31-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C31
+      mapping:
+        - [B0, SD1E-C31-H]
+        - [A0, SD1E-C31-V]
+        - [A1, SD1E-C31-SQ]
+        - [B2, SD1E-C31-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c31-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C31
+      mapping:
+        - [B0, SH3E-C31-H]
+        - [A0, SH3E-C31-V]
+        - [A1, SH3E-C31-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c31-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c31-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c31-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C32
+      mapping:
+        - [B0, SH1A-C32-H]
+        - [A0, SH1A-C32-V]
+        - [A1, SH1A-C32-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c32-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c32-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c32-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C32
+      mapping:
+        - [B0, SD1A-C32-H]
+        - [A0, SD1A-C32-V]
+        - [A1, SD1A-C32-SQ]
+        - [B2, SD1A-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C32
+      mapping:
+        - [B0, SF2A-C32-H]
+        - [A0, SF2A-C32-V]
+        - [A1, SF2A-C32-SQ]
+        - [B2, SF2A-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C32
+      mapping:
+        - [B0, SD1B-C32-H]
+        - [A0, SD1B-C32-V]
+        - [A1, SD1B-C32-SQ]
+        - [B2, SD1B-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C32
+      mapping:
+        - [B0, SH2B-C32-H]
+        - [A0, SH2B-C32-V]
+        - [A1, SH2B-C32-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c32-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c32-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c32-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C32
+      mapping:
+        - [B0, SD1D-C32-H]
+        - [A0, SD1D-C32-V]
+        - [A1, SD1D-C32-SQ]
+        - [B2, SD1D-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C32
+      mapping:
+        - [B0, SF2E-C32-H]
+        - [A0, SF2E-C32-V]
+        - [A1, SF2E-C32-SQ]
+        - [B2, SF2E-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c32-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C32
+      mapping:
+        - [B0, SD1E-C32-H]
+        - [A0, SD1E-C32-V]
+        - [A1, SD1E-C32-SQ]
+        - [B2, SD1E-C32-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c32-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C32
+      mapping:
+        - [B0, SH3E-C32-H]
+        - [A0, SH3E-C32-V]
+        - [A1, SH3E-C32-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c32-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c32-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c32-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C01
+      mapping:
+        - [B0, SH1A-C01-H]
+        - [A0, SH1A-C01-V]
+        - [A1, SH1A-C01-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c01-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c01-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c01-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C01
+      mapping:
+        - [B0, SD1A-C01-H]
+        - [A0, SD1A-C01-V]
+        - [A1, SD1A-C01-SQ]
+        - [B2, SD1A-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C01
+      mapping:
+        - [B0, SF2A-C01-H]
+        - [A0, SF2A-C01-V]
+        - [A1, SF2A-C01-SQ]
+        - [B2, SF2A-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C01
+      mapping:
+        - [B0, SD1B-C01-H]
+        - [A0, SD1B-C01-V]
+        - [A1, SD1B-C01-SQ]
+        - [B2, SD1B-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C01
+      mapping:
+        - [B0, SH2B-C01-H]
+        - [A0, SH2B-C01-V]
+        - [A1, SH2B-C01-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c01-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c01-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c01-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C01
+      mapping:
+        - [B0, SD1D-C01-H]
+        - [A0, SD1D-C01-V]
+        - [A1, SD1D-C01-SQ]
+        - [B2, SD1D-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C01
+      mapping:
+        - [B0, SF2E-C01-H]
+        - [A0, SF2E-C01-V]
+        - [A1, SF2E-C01-SQ]
+        - [B2, SF2E-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c01-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C01
+      mapping:
+        - [B0, SD1E-C01-H]
+        - [A0, SD1E-C01-V]
+        - [A1, SD1E-C01-SQ]
+        - [B2, SD1E-C01-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c01-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C01
+      mapping:
+        - [B0, SH3E-C01-H]
+        - [A0, SH3E-C01-V]
+        - [A1, SH3E-C01-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c01-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c01-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c01-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C02
+      mapping:
+        - [B0, SH1A-C02-H]
+        - [A0, SH1A-C02-V]
+        - [A1, SH1A-C02-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c02-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c02-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c02-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1A-C02
+      mapping:
+        - [B0, SD1A-C02-H]
+        - [A0, SD1A-C02-V]
+        - [A1, SD1A-C02-SQ]
+        - [B2, SD1A-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2A-C02
+      mapping:
+        - [B0, SF2A-C02-H]
+        - [A0, SF2A-C02-V]
+        - [A1, SF2A-C02-SQ]
+        - [B2, SF2A-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1B-C02
+      mapping:
+        - [B0, SD1B-C02-H]
+        - [A0, SD1B-C02-V]
+        - [A1, SD1B-C02-SQ]
+        - [B2, SD1B-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C02
+      mapping:
+        - [B0, SH2B-C02-H]
+        - [A0, SH2B-C02-V]
+        - [A1, SH2B-C02-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c02-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c02-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c02-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1D-C02
+      mapping:
+        - [B0, SD1D-C02-H]
+        - [A0, SD1D-C02-V]
+        - [A1, SD1D-C02-SQ]
+        - [B2, SD1D-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SF2E-C02
+      mapping:
+        - [B0, SF2E-C02-H]
+        - [A0, SF2E-C02-V]
+        - [A1, SF2E-C02-SQ]
+        - [B2, SF2E-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c02-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SD1E-C02
+      mapping:
+        - [B0, SD1E-C02-H]
+        - [A0, SD1E-C02-V]
+        - [A1, SD1E-C02-SQ]
+        - [B2, SD1E-C02-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c02-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C02
+      mapping:
+        - [B0, SH3E-C02-H]
+        - [A0, SH3E-C02-V]
+        - [A1, SH3E-C02-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c02-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c02-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c02-e-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SH1A-C03
+      mapping:
+        - [B0, SH1A-C03-H]
+        - [A0, SH1A-C03-V]
+        - [A1, SH1A-C03-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH1_SH3_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c03-a-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c03-a-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh1/c03-a-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SI1A-C03
+      mapping:
+        - [B0, SI1A-C03-H]
+        - [A0, SI1A-C03-V]
+        - [A1, SI1A-C03-SQ]
+        - [B2, SI1A-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SI2A-C03
+      mapping:
+        - [B0, SI2A-C03-H]
+        - [A0, SI2A-C03-V]
+        - [A1, SI2A-C03-SQ]
+        - [B2, SI2A-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-a/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-a/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-a/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-a/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SI1B-C03
+      mapping:
+        - [B0, SI1B-C03-H]
+        - [A0, SI1B-C03-V]
+        - [A1, SI1B-C03-SQ]
+        - [B2, SI1B-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-b/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-b/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-b/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-b/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH2B-C03
+      mapping:
+        - [B0, SH2B-C03-H]
+        - [A0, SH2B-C03-V]
+        - [A1, SH2B-C03-SQ]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1]
+        units: [rad,rad,m-1]
+        pseudo_factors: [1.0,-1.0,-1.0]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SH2_sq_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SH_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c03-b-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c03-b-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh2/c03-b-ch3/current
+            unit: A
+    - type: pyaml.magnet.cfm_magnet
+      name: SI1D-C03
+      mapping:
+        - [B0, SI1D-C03-H]
+        - [A0, SI1D-C03-V]
+        - [A1, SI1D-C03-SQ]
+        - [B2, SI1D-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-d/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-d/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-d/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-d/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SI2E-C03
+      mapping:
+        - [B0, SI2E-C03-H]
+        - [A0, SI2E-C03-V]
+        - [A1, SI2E-C03-SQ]
+        - [B2, SI2E-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sf2/c03-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SI1E-C03
+      mapping:
+        - [B0, SI1E-C03-H]
+        - [A0, SI1E-C03-V]
+        - [A1, SI1E-C03-SQ]
+        - [B2, SI1E-C03-S]
+      model:
+        type: pyaml.magnet.identity_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        units: [rad,rad,m-1,m-2]
+        physics:
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-e/Strength_H
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-e/Strength_V
+            unit: rad
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-e/Strength_SQ
+            unit: m-1
+          - type: tango.pyaml.attribute
+            attribute: srmag/m-sd1/c03-e/Strength
+            unit: m-2
+    - type: pyaml.magnet.cfm_magnet
+      name: SH3E-C03
+      mapping:
+        - [B0, SH3E-C03-H]
+        - [A0, SH3E-C03-V]
+        - [A1, SH3E-C03-SQ]
+        - [B2, SH3E-C03-S]
+      model:
+        type: pyaml.magnet.linear_cfm_model
+        multipoles: [B0,A0,A1,B2]
+        pseudo_factors: [1.0,-1.0,-1.0,-1.0]
+        units: [rad,rad,m-1,m-2]
+        curves:
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_h_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_v_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_sq_strength.csv
+          - type: pyaml.configuration.csvcurve
+            file: sr/magnet_models/SHI_sext_strength.csv
+        matrix:
+          type: pyaml.configuration.csvmatrix
+          file: sr/magnet_models/SHI_matrix.csv
+        powerconverters:
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c03-e-ch1/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c03-e-ch2/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c03-e-ch3/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c03-e-ch5/current
+            unit: A
+          - type: tango.pyaml.attribute
+            attribute: srmag/ps-corr-sh3/c03-e-ch6/current
+            unit: A
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C04-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/04-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C05-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/05-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C06-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/06-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C07-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/07-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C08-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/08-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C09-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/09-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C10-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/10-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C11-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/11-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C12-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/12-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C13-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/13-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C14-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/14-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C15-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/15-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C16-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/16-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C17-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/17-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C18-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/18-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C19-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/19-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C20-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/20-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C21-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/21-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C22-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/22-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C23-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/23-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C24-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/24-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C25-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/25-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C26-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/26-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C27-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/27-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C28-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/28-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C29-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/29-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C30-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/30-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C31-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/31-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C32-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/32-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C01-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/01-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C02-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/02-10/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-01
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-01/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-01/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-02
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-02/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-02/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-03
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-03/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-03/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-04
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-04/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-04/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-05
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-05/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-05/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-06
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-06/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-06/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-07
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-07/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-07/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-08
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-08/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-08/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-09
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-09/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-09/SA_VPosition
+          unit: m
+    - type: pyaml.bpm.bpm
+      name: BPM_C03-10
+      model:
+        type: pyaml.bpm.bpm_simple_model
+        x_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-10/SA_HPosition
+          unit: m
+        y_pos:
+          type: tango.pyaml.attribute_read_only
+          attribute: srdiag/bpm/03-10/SA_VPosition
+          unit: m
diff --git a/tests/config/sr/magnet_models/SH1AC01.yaml b/tests/config/sr/magnet_models/SH1AC01.yaml
index f556c3f50..c4b7af92b 100644
--- a/tests/config/sr/magnet_models/SH1AC01.yaml
+++ b/tests/config/sr/magnet_models/SH1AC01.yaml
@@ -4,11 +4,11 @@
   pseudo_factors: [1.0,-1.0,-1.0]
   curves:
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_h_strength.csv
+      file: sr/magnet_models/SH1_SH3_h_strength.csv
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_v_strength.csv
+      file: sr/magnet_models/SH1_SH3_v_strength.csv
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_sq_strength.csv
+      file: sr/magnet_models/SH1_SH3_sq_strength.csv
   matrix:
     type: pyaml.configuration.csvmatrix
     file: sr/magnet_models/SH_matrix.csv
diff --git a/tests/config/sr/magnet_models/SH1AC02.yaml b/tests/config/sr/magnet_models/SH1AC02.yaml
index 49d07f888..a3b504657 100644
--- a/tests/config/sr/magnet_models/SH1AC02.yaml
+++ b/tests/config/sr/magnet_models/SH1AC02.yaml
@@ -4,30 +4,21 @@
   pseudo_factors: [1.0,-1.0,-1.0]
   curves:
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_h_strength.csv
+      file: sr/magnet_models/SH1_SH3_h_strength.csv
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_v_strength.csv
+      file: sr/magnet_models/SH1_SH3_v_strength.csv
     - type: pyaml.configuration.csvcurve
-      file: sr/magnet_models/SH_sq_strength.csv
+      file: sr/magnet_models/SH1_SH3_sq_strength.csv
   matrix:
     type: pyaml.configuration.csvmatrix
     file: sr/magnet_models/SH_matrix.csv
   powerconverters:
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c02-a-ch1/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c02-a-ch1/current
-      readback: srmag/ps-corr-sh1/c02-a-ch1/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c02-a-ch1/current
       unit: A
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c02-a-ch2/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c02-a-ch2/current
-      readback: srmag/ps-corr-sh1/c02-a-ch2/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c02-a-ch2/current
       unit: A
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c02-a-ch3/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c02-a-ch3/current
-      readback: srmag/ps-corr-sh1/c02-a-ch3/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c02-a-ch3/current
       unit: A
\ No newline at end of file
diff --git a/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv
new file mode 100644
index 000000000..71dfe85a0
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH1_SH3_h_strength.csv
@@ -0,0 +1,19 @@
+-2.4,-0.016516378
+-2.1333,-0.0147084
+-1.8667,-0.012888188
+-1.6,-0.011055744
+-1.3333,-0.009203181
+-1.0667,-0.007349891
+-0.8,-0.005495871
+-0.53333,-0.003637018
+-0.26667,-0.001805061
+0.0,0.0
+0.26667,0.001805061
+0.53333,0.003637018
+0.8,0.005495871
+1.0667,0.007349891
+1.3333,0.009203181
+1.6,0.011055744
+1.8667,0.012888188
+2.1333,0.0147084
+2.4,0.016516378
diff --git a/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv
new file mode 100644
index 000000000..0372cffb1
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH1_SH3_sq_strength.csv
@@ -0,0 +1,17 @@
+-4.2667,-0.53024685
+-3.7333,-0.49480939
+-3.2,-0.45147696
+-2.6667,-0.39314961
+-2.1333,-0.31870389
+-1.6,-0.24073587
+-1.0667,-0.16134213
+-0.53333,-0.081016541
+0.0,0.0
+0.53333,0.081016541
+1.0667,0.16134213
+1.6,0.24073587
+2.1333,0.31870389
+2.6667,0.39314961
+3.2,0.45147696
+3.7333,0.49480939
+4.2667,0.53024685
diff --git a/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv b/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv
new file mode 100644
index 000000000..c29ae483d
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH1_SH3_v_strength.csv
@@ -0,0 +1,19 @@
+-4.8,-0.011256173
+-4.2667,-0.010400214
+-3.7333,-0.009291842
+-3.2,-0.008060268
+-2.6667,-0.006750694
+-2.1333,-0.005414052
+-1.6,-0.004067117
+-1.0667,-0.002715177
+-0.53333,-0.001360387
+0.0,0.0
+0.53333,0.001360387
+1.0667,0.002715177
+1.6,0.004067117
+2.1333,0.005414052
+2.6667,0.006750694
+3.2,0.008060268
+3.7333,0.009291842
+4.2667,0.010400214
+4.8,0.011256173
diff --git a/tests/config/sr/magnet_models/SH2_h_strength.csv b/tests/config/sr/magnet_models/SH2_h_strength.csv
new file mode 100644
index 000000000..71dfe85a0
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH2_h_strength.csv
@@ -0,0 +1,19 @@
+-2.4,-0.016516378
+-2.1333,-0.0147084
+-1.8667,-0.012888188
+-1.6,-0.011055744
+-1.3333,-0.009203181
+-1.0667,-0.007349891
+-0.8,-0.005495871
+-0.53333,-0.003637018
+-0.26667,-0.001805061
+0.0,0.0
+0.26667,0.001805061
+0.53333,0.003637018
+0.8,0.005495871
+1.0667,0.007349891
+1.3333,0.009203181
+1.6,0.011055744
+1.8667,0.012888188
+2.1333,0.0147084
+2.4,0.016516378
diff --git a/tests/config/sr/magnet_models/SH2_sq_strength.csv b/tests/config/sr/magnet_models/SH2_sq_strength.csv
new file mode 100644
index 000000000..5a162df13
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH2_sq_strength.csv
@@ -0,0 +1,17 @@
+-4.2667,-0.523618764
+-3.7333,-0.488624273
+-3.2,-0.445833498
+-2.6667,-0.38823524
+-2.1333,-0.314720091
+-1.6,-0.237726672
+-1.0667,-0.159325353
+-0.53333,-0.080003834
+0.0,0.0
+0.53333,0.080003834
+1.0667,0.159325353
+1.6,0.237726672
+2.1333,0.314720091
+2.6667,0.38823524
+3.2,0.445833498
+3.7333,0.488624273
+4.2667,0.523618764
diff --git a/tests/config/sr/magnet_models/SH2_v_strength.csv b/tests/config/sr/magnet_models/SH2_v_strength.csv
new file mode 100644
index 000000000..ee54f295b
--- /dev/null
+++ b/tests/config/sr/magnet_models/SH2_v_strength.csv
@@ -0,0 +1,19 @@
+-4.8,-0.011115471
+-4.2667,-0.010270211
+-3.7333,-0.009175693
+-3.2,-0.007959515
+-2.6667,-0.00666631
+-2.1333,-0.005346376
+-1.6,-0.004016278
+-1.0667,-0.002681237
+-0.53333,-0.001343383
+0.0,0.0
+0.53333,0.001343383
+1.0667,0.002681237
+1.6,0.004016278
+2.1333,0.005346376
+2.6667,0.00666631
+3.2,0.007959515
+3.7333,0.009175693
+4.2667,0.010270211
+4.8,0.011115471
diff --git a/tests/config/sr/magnet_models/SHI_h_strength.csv b/tests/config/sr/magnet_models/SHI_h_strength.csv
new file mode 100644
index 000000000..85f634b1f
--- /dev/null
+++ b/tests/config/sr/magnet_models/SHI_h_strength.csv
@@ -0,0 +1,17 @@
+-2.4,-0.0161824
+-2.1,-0.0141826
+-1.8,-0.0121738
+-1.5,-0.01014483
+-1.2,-0.00811586
+-0.9,-0.0060869
+-0.6,-0.004057933333
+-0.3,-0.002028966667
+0.0,0.0
+0.3,0.002028966667
+0.6,0.004057933333
+0.9,0.0060869
+1.2,0.00811586
+1.5,0.01014483
+1.8,0.0121738
+2.1,0.0141826
+2.4,0.0161824
diff --git a/tests/config/sr/magnet_models/SHI_matrix.csv b/tests/config/sr/magnet_models/SHI_matrix.csv
new file mode 100644
index 000000000..ca893a254
--- /dev/null
+++ b/tests/config/sr/magnet_models/SHI_matrix.csv
@@ -0,0 +1,4 @@
+1,-0.0886,0.0493,0.0886,-0.0493
+0,1,-1,1,-1
+0,1,1,1,1
+-0.35,-1.31,1,1.31,-1
diff --git a/tests/config/sr/magnet_models/SHI_sext_strength.csv b/tests/config/sr/magnet_models/SHI_sext_strength.csv
new file mode 100644
index 000000000..8bce6bc23
--- /dev/null
+++ b/tests/config/sr/magnet_models/SHI_sext_strength.csv
@@ -0,0 +1,21 @@
+-10.0,-27.5725
+-9.0,-25.8065
+-8.0,-23.6602
+-7.0,-20.97822704
+-6.0,-17.98133746
+-5.0,-14.98444789
+-4.0,-11.987558
+-3.0,-8.990668
+-2.0,-5.993779154
+-1.0,-2.996889577
+0.0,0.0
+1.0,2.996889577
+2.0,5.993779154
+3.0,8.990668
+4.0,11.987558
+5.0,14.98444789
+6.0,17.98133746
+7.0,20.97822704
+8.0,23.6602
+9.0,25.8065
+10.0,27.5725
diff --git a/tests/config/sr/magnet_models/SHI_sq_strength.csv b/tests/config/sr/magnet_models/SHI_sq_strength.csv
new file mode 100644
index 000000000..7370225b3
--- /dev/null
+++ b/tests/config/sr/magnet_models/SHI_sq_strength.csv
@@ -0,0 +1,19 @@
+-9.59999,-0.53335905
+-8.53333,-0.5026322
+-7.46666,-0.4659577
+-6.39999,-0.41839668
+-5.33333,-0.35644257
+-4.26666,-0.28783524
+-3.19999,-0.21716061
+-2.13333,-0.14531671
+-1.06666,-0.072921909
+0.0,0.0
+1.06666,0.072921909
+2.13333,0.14531671
+3.19999,0.21716061
+4.26666,0.28783524
+5.33333,0.35644257
+6.39999,0.41839668
+7.46666,0.4659577
+8.53333,0.5026322
+9.59999,0.53335905
diff --git a/tests/config/sr/magnet_models/SHI_v_strength.csv b/tests/config/sr/magnet_models/SHI_v_strength.csv
new file mode 100644
index 000000000..8d5d2eadf
--- /dev/null
+++ b/tests/config/sr/magnet_models/SHI_v_strength.csv
@@ -0,0 +1,19 @@
+-9.59999,-0.010499059
+-8.53333,-0.0095203075
+-7.46666,-0.0084496508
+-6.39999,-0.0072807183
+-5.33333,-0.0060823154
+-4.26666,-0.0048763485
+-3.19999,-0.0036616087
+-2.13333,-0.0024446759
+-1.06666,-0.0012244331
+0.0,0.0
+1.06666,0.0012244331
+2.13333,0.0024446759
+3.19999,0.0036616087
+4.26666,0.0048763485
+5.33333,0.0060823154
+6.39999,0.0072807183
+7.46666,0.0084496508
+8.53333,0.0095203075
+9.59999,0.010499059
diff --git a/tests/config/sr/magnet_models/SH_h_strength.csv b/tests/config/sr/magnet_models/SH_h_strength.csv
deleted file mode 100644
index 3209fc17d..000000000
--- a/tests/config/sr/magnet_models/SH_h_strength.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-    -2.4,   -0.016516378
- -2.1333,   -0.0147084
- -1.8667,   -0.012888188
-    -1.6,   -0.011055744
- -1.3333,   -0.009203181
- -1.0667,   -0.007349891
-    -0.8,   -0.005495871
--0.53333,   -0.003637018
--0.26667,   -0.001805061
-       0,    0
- 0.26667,    0.001805061
- 0.53333,    0.003637018
-     0.8,    0.005495871
-  1.0667,    0.007349891
-  1.3333,    0.009203181
-     1.6,    0.011055744
-  1.8667,    0.012888188
-  2.1333,    0.0147084
-     2.4,    0.016516378
diff --git a/tests/config/sr/magnet_models/SH_sq_strength.csv b/tests/config/sr/magnet_models/SH_sq_strength.csv
deleted file mode 100644
index 7a2acf483..000000000
--- a/tests/config/sr/magnet_models/SH_sq_strength.csv
+++ /dev/null
@@ -1,17 +0,0 @@
-  -4.2667,  -0.53024685
-  -3.7333,  -0.49480939
-     -3.2,  -0.45147696
-  -2.6667,  -0.39314961
-  -2.1333,  -0.31870389
-     -1.6,  -0.24073587
-  -1.0667,  -0.16134213
- -0.53333,  -0.081016541
-       0,   0
- 0.53333,   0.081016541
-  1.0667,   0.16134213
-     1.6,   0.24073587
-  2.1333,   0.31870389
-  2.6667,   0.39314961
-     3.2,   0.45147696
-  3.7333,   0.49480939
-  4.2667,   0.53024685
diff --git a/tests/config/sr/magnet_models/SH_v_strength.csv b/tests/config/sr/magnet_models/SH_v_strength.csv
deleted file mode 100644
index c053c49a7..000000000
--- a/tests/config/sr/magnet_models/SH_v_strength.csv
+++ /dev/null
@@ -1,19 +0,0 @@
-    -4.8, -0.011256173
- -4.2667, -0.010400214
- -3.7333, -0.009291842
-    -3.2, -0.008060268
- -2.6667, -0.006750694
- -2.1333, -0.005414052
-    -1.6, -0.004067117
- -1.0667, -0.002715177
--0.53333, -0.001360387
-       0,           0
- 0.53333, 0.001360387
-  1.0667, 0.002715177
-     1.6, 0.004067117
-  2.1333, 0.005414052
-  2.6667, 0.006750694
-     3.2, 0.008060268
-  3.7333, 0.009291842
-  4.2667, 0.010400214
-     4.8, 0.011256173
diff --git a/tests/conftest.py b/tests/conftest.py
index be3675ebe..d1d378ed3 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -62,11 +62,7 @@ def test_x(install_test_package):
     # Remove from sys.modules to avoid caching issues
     sys.modules.pop(package_name, None)
 
-    # Import the module freshly
-    module = importlib.import_module(package_name)
-
-    yield module
-
+    yield None
 
     # Uninstall package
     subprocess.call([
diff --git a/tests/dummy_cs/tango/pyproject.toml b/tests/dummy_cs/tango-pyaml/pyproject.toml
similarity index 85%
rename from tests/dummy_cs/tango/pyproject.toml
rename to tests/dummy_cs/tango-pyaml/pyproject.toml
index 53258ebcc..31ae252e4 100644
--- a/tests/dummy_cs/tango/pyproject.toml
+++ b/tests/dummy_cs/tango-pyaml/pyproject.toml
@@ -6,10 +6,10 @@ build-backend = "hatchling.build"
 path = "tango/__init__.py"
 
 [tool.hatch.build.targets.wheel]
-packages = ["tango"]
+packages = ["tango-pyaml"]
 
 [project]
-name = "tango"
+name = "tango-pyaml"
 description = "PyAML Tango CS mocking"
 requires-python = ">=3.8"
 dynamic = ["version"]
diff --git a/tests/dummy_cs/tango/tango/__init__.py b/tests/dummy_cs/tango-pyaml/tango/__init__.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/__init__.py
rename to tests/dummy_cs/tango-pyaml/tango/__init__.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/__init__.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/__init__.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/__init__.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/__init__.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/attribute.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute_read_only.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/attribute_read_only.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_with_tango_powersupply_mocking_behaviour.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/controlsystem.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/controlsystem.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/controlsystem.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/controlsystem.py
diff --git a/tests/dummy_cs/tango/tango/pyaml/multi_attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py
similarity index 100%
rename from tests/dummy_cs/tango/tango/pyaml/multi_attribute.py
rename to tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py
diff --git a/tests/lattice_info.py b/tests/lattice_info.py
index 89f6e3db4..52f8f3f8c 100644
--- a/tests/lattice_info.py
+++ b/tests/lattice_info.py
@@ -25,7 +25,7 @@ def prepare_and_save():
 def dump():
     # Dump lattice 
     for e in ring:
-        if e.FamName.startswith("QD"):
+        if e.FamName.startswith("SI"):
             print(e)
 
 dump()
\ No newline at end of file
diff --git a/tests/test_aggregator.py b/tests/test_aggregator.py
index f363cdcc8..c961aadfd 100644
--- a/tests/test_aggregator.py
+++ b/tests/test_aggregator.py
@@ -5,8 +5,8 @@
 import pytest
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_tune(install_test_package,capfd):
 
diff --git a/tests/test_bpm.py b/tests/test_bpm.py
index 4a2411caf..294e43845 100644
--- a/tests/test_bpm.py
+++ b/tests/test_bpm.py
@@ -6,8 +6,8 @@
 import pytest
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_simulator_bpm_tilt(install_test_package):
 
@@ -22,8 +22,8 @@ def test_simulator_bpm_tilt(install_test_package):
     Factory.clear()
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_simulator_bpm_offset(install_test_package):
 
@@ -42,8 +42,8 @@ def test_simulator_bpm_offset(install_test_package):
     Factory.clear()
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_simulator_bpm_position(install_test_package):
 
@@ -59,8 +59,8 @@ def test_simulator_bpm_position(install_test_package):
     Factory.clear()
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_simulator_bpm_position_with_bad_corrector_strength(install_test_package):
 
diff --git a/tests/test_bpm_controlsystem.py b/tests/test_bpm_controlsystem.py
index d1d2518f9..aaef2485c 100644
--- a/tests/test_bpm_controlsystem.py
+++ b/tests/test_bpm_controlsystem.py
@@ -7,8 +7,8 @@
 import pytest
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "pyaml-tango",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_controlsystem_bpm_tilt(install_test_package):
 
@@ -24,8 +24,8 @@ def test_controlsystem_bpm_tilt(install_test_package):
     Factory.clear()
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_controlsystem_bpm_offset(install_test_package):
 
@@ -43,8 +43,8 @@ def test_controlsystem_bpm_offset(install_test_package):
     Factory.clear()
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_controlsystem_bpm_position(install_test_package):
 
diff --git a/tests/test_ident_models.py b/tests/test_ident_models.py
index 272ca2f0f..9e68f27fc 100644
--- a/tests/test_ident_models.py
+++ b/tests/test_ident_models.py
@@ -12,7 +12,7 @@
 @pytest.mark.parametrize(
     ("magnet_file", "install_test_package"),
     [
-        ("tests/config/sr-ident-cfm.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}),
+        ("tests/config/sr-ident-cfm.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}),
     ],
     indirect=["install_test_package"],
 )
diff --git a/tests/test_load_quad.py b/tests/test_load_quad.py
index 70330827b..129358dd4 100644
--- a/tests/test_load_quad.py
+++ b/tests/test_load_quad.py
@@ -38,8 +38,8 @@ def test_quad_external_model(install_test_package, config_root_dir):
     ("magnet_file", "install_test_package"),
     [
         ("sr/quadrupoles/QF1AC01.yaml", None),
-        ("sr/quadrupoles/QF1AC01-IDENT-STRGTH.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}),
-        ("sr/quadrupoles/QF1AC01-IDENT-HW.yaml", {"name": "tango", "path": "tests/dummy_cs/tango"}),
+        ("sr/quadrupoles/QF1AC01-IDENT-STRGTH.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}),
+        ("sr/quadrupoles/QF1AC01-IDENT-HW.yaml", {"name": "tango-pyaml", "path": "tests/dummy_cs/tango-pyaml"}),
         ("sr/quadrupoles/QF1AC01.json", None),
     ],
     indirect=["install_test_package"],
diff --git a/tests/test_tune.py b/tests/test_tune.py
index d3df17bf5..57bb7bf5b 100644
--- a/tests/test_tune.py
+++ b/tests/test_tune.py
@@ -6,8 +6,8 @@
 import pytest
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_tune(install_test_package):
 
diff --git a/tests/test_tune_hardware.py b/tests/test_tune_hardware.py
index e5c21a039..9296b9dbc 100644
--- a/tests/test_tune_hardware.py
+++ b/tests/test_tune_hardware.py
@@ -6,8 +6,8 @@
 import pytest
 
 @pytest.mark.parametrize("install_test_package", [{
-    "name": "tango",
-    "path": "tests/dummy_cs/tango"
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
 }], indirect=True)
 def test_tune(install_test_package):
 

From b29c3aa1c86311f14aca58d3a45716697aa48ec9 Mon Sep 17 00:00:00 2001
From: PONS <pons@esrf.fr>
Date: Thu, 30 Oct 2025 15:54:14 +0100
Subject: [PATCH 3/5] Restructuring for arrays and aggregator

---
 pyaml/arrays/array.py                       |  3 +-
 pyaml/arrays/bpm.py                         |  2 +-
 pyaml/arrays/bpm_array.py                   | 26 +++-----
 pyaml/arrays/magnet.py                      |  3 +-
 pyaml/arrays/magnet_array.py                | 30 ++++-----
 pyaml/bpm/bpm.py                            |  2 +-
 pyaml/common/__init__.py                    |  4 ++
 pyaml/{control => common}/abstract.py       |  0
 pyaml/common/abstract_aggregator.py         | 34 ++++++++++
 pyaml/{lattice => common}/element_holder.py | 70 +++++++++++----------
 pyaml/control/abstract_impl.py              | 41 ++++++++++--
 pyaml/control/controlsystem.py              | 32 ++++++++--
 pyaml/lattice/abstract_impl.py              | 70 +++++++++++++++++++--
 pyaml/lattice/simulator.py                  | 20 +++++-
 pyaml/magnet/cfm_magnet.py                  |  4 +-
 pyaml/magnet/magnet.py                      |  2 +-
 pyaml/rf/rf_plant.py                        |  2 +-
 pyaml/rf/rf_transmitter.py                  |  2 +-
 18 files changed, 253 insertions(+), 94 deletions(-)
 create mode 100644 pyaml/common/__init__.py
 rename pyaml/{control => common}/abstract.py (100%)
 create mode 100644 pyaml/common/abstract_aggregator.py
 rename pyaml/{lattice => common}/element_holder.py (86%)

diff --git a/pyaml/arrays/array.py b/pyaml/arrays/array.py
index 742f1f706..711ca9708 100644
--- a/pyaml/arrays/array.py
+++ b/pyaml/arrays/array.py
@@ -1,10 +1,9 @@
 """
 Magnet array configuration
 """
+from ..common.element_holder import ElementHolder
 
-import numpy as np
 from pydantic import BaseModel,ConfigDict
-from ..lattice.element_holder import ElementHolder
 
 class ArrayConfigModel(BaseModel):
 
diff --git a/pyaml/arrays/bpm.py b/pyaml/arrays/bpm.py
index c0d02c8d5..2355cd7fe 100644
--- a/pyaml/arrays/bpm.py
+++ b/pyaml/arrays/bpm.py
@@ -1,5 +1,5 @@
 from .array import ArrayConfigModel,ArrayConfig
-from ..lattice.element_holder import ElementHolder
+from ..common.element_holder import ElementHolder
 
 # Define the main class name for this module
 PYAMLCLASS = "BPM"
diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py
index 724a261a5..32ddccaac 100644
--- a/pyaml/arrays/bpm_array.py
+++ b/pyaml/arrays/bpm_array.py
@@ -1,8 +1,9 @@
-from ..control.abstract import ReadFloatArray
+from ..common.abstract import ReadFloatArray
 from ..bpm.bpm import BPM
-import numpy as np
 from ..control.deviceaccesslist import DeviceAccessList
 
+import numpy as np
+
 class RWBPMPosition(ReadFloatArray):
 
     def __init__(self, name:str, bpms:list[BPM]):
@@ -56,7 +57,7 @@ class BPMArray(list[BPM]):
     Class that implements access to a BPM array
     """
 
-    def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,aggh:DeviceAccessList|None=None,aggv:DeviceAccessList|None=None):
+    def __init__(self,arrayName:str,bpms:list[BPM],holder):
         """
         Construct a BPM array
 
@@ -66,8 +67,8 @@ def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,ag
             Array name
         bpms: list[BPM]
             BPM iterator
-        agg : DeviceAccessList
-            Control system aggregator (Parralel access to list of device)
+        holder : Element holder
+            Holder that contains element of this array (Simulator or Control System)
         """
         super().__init__(i for i in bpms)
         self.__name = arrayName
@@ -75,17 +76,10 @@ def __init__(self,arrayName:str,bpms:list[BPM],agg:DeviceAccessList|None=None,ag
         self.__hpos = RWBPMSinglePosition(arrayName,bpms,0)
         self.__vpos = RWBPMSinglePosition(arrayName,bpms,1)
 
-        if agg is not None:
-            # Fill magnet aggregator
-            for b in bpms:
-                devs = b.model.get_pos_devices()
-                agg.add_devices(devs)
-                aggh.add_devices(devs[0])
-                aggv.add_devices(devs[1])
-            
-        self.__hvpos.set_aggregator(agg)
-        self.__hpos.set_aggregator(aggh)
-        self.__vpos.set_aggregator(aggv)
+        aggs = holder.create_bpm_aggregators(bpms)
+        self.__hvpos.set_aggregator(aggs[0])
+        self.__hpos.set_aggregator(aggs[1])
+        self.__vpos.set_aggregator(aggs[2])
 
     @property   
     def positions(self) -> RWBPMPosition:
diff --git a/pyaml/arrays/magnet.py b/pyaml/arrays/magnet.py
index fe84017bc..0e7c26ecc 100644
--- a/pyaml/arrays/magnet.py
+++ b/pyaml/arrays/magnet.py
@@ -1,6 +1,5 @@
 from .array import ArrayConfigModel,ArrayConfig
-from ..control.controlsystem import ControlSystem
-from ..lattice.element_holder import ElementHolder
+from ..common.element_holder import ElementHolder
 
 # Define the main class name for this module
 PYAMLCLASS = "Magnet"
diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py
index bbb756842..09d0ccf75 100644
--- a/pyaml/arrays/magnet_array.py
+++ b/pyaml/arrays/magnet_array.py
@@ -1,14 +1,15 @@
-from ..control.abstract import ReadWriteFloatArray
+from ..common.abstract import ReadWriteFloatArray
 from ..magnet.magnet import Magnet
+from ..common.abstract_aggregator import ScalarAggregator
+
 import numpy as np
-from ..control.deviceaccesslist import DeviceAccessList
 
 class RWMagnetStrength(ReadWriteFloatArray):
 
     def __init__(self, name:str, magnets:list[Magnet]):
         self.__magnets = magnets
         self.__name = name
-        self.aggregator:DeviceAccessList = None
+        self.aggregator:ScalarAggregator = None
 
     # Gets the values
     def get(self) -> np.array:
@@ -21,7 +22,7 @@ def get(self) -> np.array:
             idx = 0
             for m in self.__magnets:
                 nbDev = len(m.model.get_devices())
-                allStrength[idx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()]
+                allStrength[mIdx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()]
                 mIdx += 1
                 idx += nbDev
             return allStrength
@@ -58,7 +59,7 @@ def unit(self) -> list[str]:
         return [m.strength.unit() for m in self.__magnets]
 
     # Set the aggregator (Control system only)
-    def set_aggregator(self,agg:DeviceAccessList):
+    def set_aggregator(self,agg:ScalarAggregator):
         self.aggregator = agg
 
 class RWMagnetHardware(ReadWriteFloatArray):
@@ -66,7 +67,7 @@ class RWMagnetHardware(ReadWriteFloatArray):
     def __init__(self, name:str, magnets:list[Magnet]):
         self.__name = name
         self.__magnets = magnets
-        self.aggregator:DeviceAccessList = None
+        self.aggregator:ScalarAggregator = None
         self.hasHardwareMapping = True
 
     # Gets the values
@@ -98,8 +99,8 @@ def set_and_wait(self, value:np.array):
     def unit(self) -> list[str]:
         return [m.hardware.unit() for m in self.__magnets]
 
-    # Set the aggregator (Control system only)
-    def set_aggregator(self,agg:DeviceAccessList):
+    # Set the aggregator
+    def set_aggregator(self,agg:ScalarAggregator):
         self.aggregator = agg
         for m in self.__magnets:
             self.hasHardwareMapping |= m.model.has_hardware()
@@ -109,7 +110,7 @@ class MagnetArray(list[Magnet]):
     Class that implements access to a magnet array
     """
 
-    def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=None):
+    def __init__(self,arrayName:str,magnets:list[Magnet],holder):
         """
         Construct a magnet array
 
@@ -119,20 +120,15 @@ def __init__(self,arrayName:str,magnets:list[Magnet],agg:DeviceAccessList|None=N
             Array name
         magnets: list[Magnet]
             Magnet iterator
-        agg : DeviceAccessList
-            Control system aggregator (Parralel access to list of device)
+        holder : Element holder
+            Holder that contains element of this array (Simulator or Control System)
         """
         super().__init__(i for i in magnets)
         self.__name = arrayName
         self.__rwstrengths = RWMagnetStrength(arrayName,magnets)
         self.__rwhardwares = RWMagnetHardware(arrayName,magnets)
 
-        if agg is not None:
-            # Fill magnet aggregator
-            for m in magnets:
-                devs = m.model.get_devices()
-                agg.add_devices(devs)
-            
+        agg = holder.create_magnet_aggregator(magnets)
         self.__rwstrengths.set_aggregator(agg)
         self.__rwhardwares.set_aggregator(agg)
 
diff --git a/pyaml/bpm/bpm.py b/pyaml/bpm/bpm.py
index 2841fd24f..7374534ff 100644
--- a/pyaml/bpm/bpm.py
+++ b/pyaml/bpm/bpm.py
@@ -1,7 +1,7 @@
 from pyaml.lattice.element import Element, ElementConfigModel
 from pyaml.lattice.abstract_impl import RBpmArray, RWBpmOffsetArray, RWBpmTiltScalar
 from ..control.deviceaccess import DeviceAccess
-from ..control import abstract
+from ..common import abstract
 from typing import Self
 from pyaml.bpm.bpm_model import BPMModel
 
diff --git a/pyaml/common/__init__.py b/pyaml/common/__init__.py
new file mode 100644
index 000000000..b8cd9de37
--- /dev/null
+++ b/pyaml/common/__init__.py
@@ -0,0 +1,4 @@
+"""
+PyAML common module
+Contains code common to both simulator and control system
+"""
diff --git a/pyaml/control/abstract.py b/pyaml/common/abstract.py
similarity index 100%
rename from pyaml/control/abstract.py
rename to pyaml/common/abstract.py
diff --git a/pyaml/common/abstract_aggregator.py b/pyaml/common/abstract_aggregator.py
new file mode 100644
index 000000000..18b62a664
--- /dev/null
+++ b/pyaml/common/abstract_aggregator.py
@@ -0,0 +1,34 @@
+from abc import ABCMeta, abstractmethod
+
+import numpy.typing as npt
+import numpy as np
+
+class ScalarAggregator(metaclass=ABCMeta):
+    """
+    Abstract class providing access to a list of scalar variables
+    """
+
+    @abstractmethod
+    def set(self, value: npt.NDArray[np.float64]):
+        """Write a list of variable"""
+        pass
+
+    @abstractmethod
+    def set_and_wait(self, value: npt.NDArray[np.float64]):
+        """Write a list of variable and wait that setpoint are reached"""
+        pass
+
+    @abstractmethod
+    def get(self) -> npt.NDArray[np.float64]:
+        """Return a list variables"""
+        pass
+
+    @abstractmethod
+    def readback(self) -> np.array:
+        """Return  a list variables (measurements)"""
+        pass
+
+    @abstractmethod
+    def unit(self) -> str:
+        """Return the variables unit"""
+        pass
diff --git a/pyaml/lattice/element_holder.py b/pyaml/common/element_holder.py
similarity index 86%
rename from pyaml/lattice/element_holder.py
rename to pyaml/common/element_holder.py
index ea82c1e5b..aa6afca52 100644
--- a/pyaml/lattice/element_holder.py
+++ b/pyaml/common/element_holder.py
@@ -1,13 +1,12 @@
 """
 Module handling element references for simulators and control system
 """
-from .element import Element
+from ..lattice.element import Element
 from ..magnet.magnet import Magnet
 from ..rf.rf_plant import RFPlant
 from ..rf.rf_transmitter import RFTransmitter
 from ..arrays.magnet_array import MagnetArray
 from ..arrays.bpm_array import BPMArray
-from ..control.deviceaccesslist import DeviceAccessList
 
 class ElementHolder(object):
     """
@@ -26,15 +25,11 @@ def __init__(self):
         self.__MAGNET_ARRAYS: dict = {}
         self.__BPM_ARRAYS: dict = {}
 
-    def create_scalar_aggregator(self) -> DeviceAccessList:
-       """
-       Returns a control system scalar aggretor
-       """
-       return None
-
     def fill_device(self,elements:list[Element]):
        raise "ElementHolder.fill_device() is not subclassed"
     
+    # Magnets
+    
     def fill_magnet_array(self,arrayName:str,elementNames:list[str]):
        a = []
        for name in elementNames:
@@ -42,7 +37,25 @@ def fill_magnet_array(self,arrayName:str,elementNames:list[str]):
             a.append(self.get_magnet(name))
           except Exception as err:
             raise Exception(f"MagnetArray {arrayName} : {err}")
-       self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self.create_scalar_aggregator())
+       self.__MAGNET_ARRAYS[arrayName] = MagnetArray(arrayName,a,self)
+
+    def get_magnet(self,name:str) -> Magnet:
+      if name not in self.__MAGNETS:
+        raise Exception(f"Magnet {name} not defined")
+      return self.__MAGNETS[name]
+    
+    def add_magnet(self,name:str,m:Magnet):
+       self.__MAGNETS[name] = m
+
+    def get_magnets(self,name:str) -> MagnetArray:
+       if name not in self.__MAGNET_ARRAYS:
+         raise Exception(f"Magnet array {name} not defined")
+       return self.__MAGNET_ARRAYS[name]
+    
+    def get_all_magnets(self) -> dict:
+       return self.__MAGNETS
+
+    # BPMs
 
     def fill_bpm_array(self,arrayName:str,elementNames:list[str]):
        a = []
@@ -51,18 +64,22 @@ def fill_bpm_array(self,arrayName:str,elementNames:list[str]):
             a.append(self.get_bpm(name))
           except Exception as err:
             raise Exception(f"BpmArray {arrayName} : {err}")
-       hv = self.create_scalar_aggregator()
-       h = self.create_scalar_aggregator()
-       v = self.create_scalar_aggregator()
-       self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,hv,h,v)
+       self.__BPM_ARRAYS[arrayName] = BPMArray(arrayName,a,self)
 
-    def get_magnet(self,name:str) -> Magnet:
-      if name not in self.__MAGNETS:
-        raise Exception(f"Magnet {name} not defined")
-      return self.__MAGNETS[name]
-    
-    def add_magnet(self,name:str,m:Magnet):
-       self.__MAGNETS[name] = m
+    def get_bpm(self,name:str) -> Element:
+      if name not in self.__BPMS:
+         raise Exception(f"BPM {name} not defined")
+      return self.__BPMS[name]
+
+    def add_bpm(self,name:str,bpm:Element):
+        self.__BPMS[name] = bpm
+
+    def get_bpms(self,name:str) -> BPMArray:
+       if name not in self.__BPM_ARRAYS:
+         raise Exception(f"BPM array {name} not defined")
+       return self.__BPM_ARRAYS[name]
+
+    # RF
 
     def get_rf_plant(self,name:str) -> RFPlant:
       if name not in self.__RFPLANT:
@@ -85,19 +102,6 @@ def get_rf_trasnmitter(self,name:str) -> RFTransmitter:
         raise Exception(f"RFTransmitter {name} not defined")
       return self.__RFTRANSMITTER[name]       
 
-    def get_all_magnets(self) -> dict:
-       return self.__MAGNETS
     
-    def get_magnets(self,name:str) -> MagnetArray:
-       if name not in self.__MAGNET_ARRAYS:
-         raise Exception(f"Magnet array {name} not defined")
-       return self.__MAGNET_ARRAYS[name]
   
-    def get_bpm(self,name:str) -> Element:
-      if name not in self.__BPMS:
-         raise Exception(f"BPM {name} not defined")
-      return self.__BPMS[name]
-
-    def add_bpm(self,name:str,bpm:Element):
-        self.__BPMS[name] = bpm
           
diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py
index d42841bc1..ee6f4b776 100644
--- a/pyaml/control/abstract_impl.py
+++ b/pyaml/control/abstract_impl.py
@@ -1,11 +1,44 @@
-from numpy import double
-from pyaml.control import abstract
-from pyaml.magnet.model import MagnetModel
-from pyaml.bpm.bpm_model import BPMModel
+from ..common import abstract
+from ..control.deviceaccesslist import DeviceAccessList
+from ..control.deviceaccess import DeviceAccess
+from ..magnet.model import MagnetModel
+from ..bpm.bpm_model import BPMModel
 from ..rf.rf_plant import RFPlant
 from ..rf.rf_transmitter import RFTransmitter
+from ..common.abstract_aggregator import ScalarAggregator
+
+from numpy import double
 import numpy as np
 from numpy.typing import NDArray
+
+#------------------------------------------------------------------------------
+
+class CSScalarAggregator(ScalarAggregator):
+    """
+    Control system aggregator for a scalar value
+    """
+
+    def __init__(self, devs:DeviceAccessList):
+        self.__devs = devs
+
+    def add_devices(self, devices:DeviceAccess | list[DeviceAccess] ):
+        self.__devs.add_devices(devices)
+
+    def set(self, value: NDArray[np.float64]):
+        self.__devs.set(value)
+
+    def set_and_wait(self, value: NDArray[np.float64]):
+        self.__devs.set_and_wait(value)
+
+    def get(self) -> NDArray[np.float64]:
+        return self.__devs.get()
+
+    def readback(self) -> np.array:
+        return self.__devs.readback()
+
+    def unit(self) -> str:
+        return self.__devs.unit()
+
 #------------------------------------------------------------------------------
 
 class RWHardwareScalar(abstract.ReadWriteFloatScalar):
diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py
index adac5c6c8..995120292 100644
--- a/pyaml/control/controlsystem.py
+++ b/pyaml/control/controlsystem.py
@@ -1,15 +1,16 @@
 from abc import ABCMeta, abstractmethod
-from ..lattice.element_holder import ElementHolder
+from ..common.element_holder import ElementHolder
 from ..lattice.element import Element
 from ..control.abstract_impl import RWHardwareScalar,RWHardwareArray,RWStrengthScalar,RWStrengthArray
 from ..bpm.bpm import BPM
 from ..control.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray
 from ..control.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar
+from ..control.abstract_impl import CSScalarAggregator
+from ..common.abstract_aggregator import ScalarAggregator
 from ..magnet.magnet import Magnet
 from ..magnet.cfm_magnet import CombinedFunctionMagnet
 from ..rf.rf_plant import RFPlant,RWTotalVoltage
 from ..rf.rf_transmitter import RFTransmitter
-from ..control.deviceaccesslist import DeviceAccessList
 from ..configuration.factory import Factory
 
 class ControlSystem(ElementHolder,metaclass=ABCMeta):
@@ -25,10 +26,6 @@ def init_cs(self):
         """Initialize control system"""
         pass
 
-    def create_scalar_aggregator(self) -> DeviceAccessList:
-        mod = self.scalar_aggregator()
-        return Factory.build_object({"type":mod}) if mod is not None else None
-
     @abstractmethod
     def name(self) -> str:
         """Return control system name (i.e. live)"""
@@ -43,7 +40,30 @@ def scalar_aggregator(self) -> str | None:
     def vector_aggregator(self) -> str | None:
         """Returns the module name used for handling aggregator of DeviceVectorAccess"""
         return None
+
+    def create_scalar_aggregator(self) -> ScalarAggregator:
+        mod = self.scalar_aggregator()
+        agg = Factory.build_object({"type":mod}) if mod is not None else None
+        return CSScalarAggregator(agg)
     
+    def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+        agg = self.create_scalar_aggregator()
+        for m in magnets:
+            agg.add_devices(m.model.get_devices())
+        return agg
+    
+    def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]:
+        agg = self.create_scalar_aggregator()
+        aggh = self.create_scalar_aggregator()
+        aggv = self.create_scalar_aggregator()
+        for b in bpms:
+            devs = b.model.get_pos_devices()
+            agg.add_devices(devs)
+            aggh.add_devices(devs[0])
+            aggv.add_devices(devs[1])
+        return [agg,aggh,aggv]
+
+
     def set_energy(self,E:float):
         """
         Sets the energy on magnets belonging to this control system
diff --git a/pyaml/lattice/abstract_impl.py b/pyaml/lattice/abstract_impl.py
index a78f80b4e..862ba0c01 100644
--- a/pyaml/lattice/abstract_impl.py
+++ b/pyaml/lattice/abstract_impl.py
@@ -1,12 +1,14 @@
-import numpy as np
-import at
-from scipy.constants import speed_of_light
-
-from ..control import abstract
+from ..common import abstract
 from ..magnet.model import MagnetModel
 from .polynom_info import PolynomInfo
 from ..rf.rf_plant import RFPlant
 from ..rf.rf_transmitter import RFTransmitter
+from ..common.abstract_aggregator import ScalarAggregator
+
+import numpy as np
+import at
+from scipy.constants import speed_of_light
+from numpy.typing import NDArray
 
 # TODO handle serialized magnets
 
@@ -148,6 +150,60 @@ def unit(self) -> list[str]:
 
 #------------------------------------------------------------------------------
 
+class BPMScalarAggregator(ScalarAggregator):
+    """
+    BPM simulator aggregator
+    """
+
+    def __init__(self, ring:at.Lattice):
+        self.__ring = ring
+        self.__elts = []
+        self.__refpts =[]
+
+    def add_elem(self,elem:at.Element):
+        self.__elts.append(elem)
+        self.__refpts.append(self.__ring.index(elem))
+
+    def set(self, value: NDArray[np.float64]):
+        pass
+
+    def set_and_wait(self, value: NDArray[np.float64]):
+        pass
+
+    def get(self) -> np.array:
+        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
+        return orbit[:, [0, 2]]
+
+    def readback(self) -> np.array:
+        return self.get()
+
+    def unit(self) -> str:
+        return 'm'
+    
+#------------------------------------------------------------------------------
+
+class BPMVScalarAggregator(BPMScalarAggregator):
+    """
+    Vertical BPM simulator aggregator
+    """
+
+    def get(self) -> np.array:
+        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
+        return orbit[:, 0]
+
+#------------------------------------------------------------------------------
+
+class BPMHScalarAggregator(BPMScalarAggregator):
+    """
+    Horizontal BPM simulator aggregator
+    """
+
+    def get(self) -> np.array:
+        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
+        return orbit[:, 2]
+
+#------------------------------------------------------------------------------
+
 class RBpmArray(abstract.ReadFloatArray):
     """
     Class providing read access to a BPM position (array) of a simulator.
@@ -169,7 +225,7 @@ def get(self) -> np.array:
 
     # Gets the unit of the value
     def unit(self) -> str:
-        return 'mm'
+        return 'm'
 
 #------------------------------------------------------------------------------
 
@@ -242,6 +298,8 @@ def set_and_wait(self, value:float):
     def unit(self) -> str:
         return 'rad'  # Assuming BPM tilts are in rad
 
+#------------------------------------------------------------------------------
+
 class RWRFVoltageScalar(abstract.ReadWriteFloatScalar):
     """
     Class providing read write access to a cavity voltage of a simulator for a given RF trasnmitter.
diff --git a/pyaml/lattice/simulator.py b/pyaml/lattice/simulator.py
index 8fa858c95..ddbdc66b2 100644
--- a/pyaml/lattice/simulator.py
+++ b/pyaml/lattice/simulator.py
@@ -14,8 +14,11 @@
 from ..lattice.abstract_impl import RWHardwareScalar,RWHardwareArray
 from ..lattice.abstract_impl import RWStrengthScalar,RWStrengthArray
 from ..lattice.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar
-from .element_holder import ElementHolder
+from ..common.element_holder import ElementHolder
+from ..common.abstract_aggregator import ScalarAggregator
 from ..lattice.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray
+from ..lattice.abstract_impl import BPMHScalarAggregator,BPMScalarAggregator,BPMVScalarAggregator
+
 # Define the main class name for this module
 PYAMLCLASS = "Simulator"
 
@@ -61,6 +64,21 @@ def set_energy(self,E:float):
       # For current calculation
       for m in self.get_all_magnets().items():
         m[1].set_energy(E)
+
+    def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+        # No magnet aggregator for simulator
+        return None
+
+    def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]:
+        agg = BPMScalarAggregator(self.get_lattice())
+        aggh = BPMHScalarAggregator(self.get_lattice())
+        aggv = BPMVScalarAggregator(self.get_lattice())
+        for b in bpms:
+          e = self.get_at_elems(b)[0]
+          agg.add_elem(e)
+          aggh.add_elem(e)
+          aggv.add_elem(e)
+        return [agg,aggh,aggv]
     
     def fill_device(self,elements:list[Element]):
        for e in elements:
diff --git a/pyaml/magnet/cfm_magnet.py b/pyaml/magnet/cfm_magnet.py
index 39befa506..4195e067c 100644
--- a/pyaml/magnet/cfm_magnet.py
+++ b/pyaml/magnet/cfm_magnet.py
@@ -3,8 +3,8 @@
 
 from .model import MagnetModel
 from ..lattice.element import Element,ElementConfigModel
-from ..control import abstract
-from ..control.abstract import RWMapper
+from ..common import abstract
+from ..common.abstract import RWMapper
 
 from .hcorrector import HCorrector
 from .vcorrector import VCorrector
diff --git a/pyaml/magnet/magnet.py b/pyaml/magnet/magnet.py
index 362c03ac5..22021b718 100644
--- a/pyaml/magnet/magnet.py
+++ b/pyaml/magnet/magnet.py
@@ -1,7 +1,7 @@
 from pyaml.lattice.element import Element,ElementConfigModel
 from .. import PyAMLException
 from ..control.deviceaccess import DeviceAccess
-from ..control import abstract
+from ..common import abstract
 from .model import MagnetModel
 from scipy.constants import speed_of_light
 try:
diff --git a/pyaml/rf/rf_plant.py b/pyaml/rf/rf_plant.py
index 62f6536ee..e39f4ee06 100644
--- a/pyaml/rf/rf_plant.py
+++ b/pyaml/rf/rf_plant.py
@@ -9,7 +9,7 @@
 from .. import PyAMLException
 from ..control.deviceaccess import DeviceAccess
 from ..lattice.element import Element,ElementConfigModel
-from ..control import abstract
+from ..common import abstract
 
 # Define the main class name for this module
 PYAMLCLASS = "RFPlant"
diff --git a/pyaml/rf/rf_transmitter.py b/pyaml/rf/rf_transmitter.py
index a41d87d48..db8ceb5ef 100644
--- a/pyaml/rf/rf_transmitter.py
+++ b/pyaml/rf/rf_transmitter.py
@@ -8,7 +8,7 @@
 from .. import PyAMLException
 from ..control.deviceaccess import DeviceAccess
 from ..lattice.element import Element,ElementConfigModel
-from ..control import abstract
+from ..common import abstract
 
 # Define the main class name for this module
 PYAMLCLASS = "RFTransmitter"

From f314a541c1ff4388c9fdeebe6e92347ca6da66fb Mon Sep 17 00:00:00 2001
From: PONS <pons@esrf.fr>
Date: Fri, 31 Oct 2025 14:26:50 +0100
Subject: [PATCH 4/5] Fix for live, unit

---
 pyaml/arrays/bpm_array.py      |    8 +-
 pyaml/control/abstract_impl.py |   10 +-
 pyaml/lattice/abstract_impl.py |   18 +-
 tests/config/EBSOrbit.yaml     | 1280 ++++++++++++++++----------------
 4 files changed, 657 insertions(+), 659 deletions(-)

diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py
index 32ddccaac..54cac1dd6 100644
--- a/pyaml/arrays/bpm_array.py
+++ b/pyaml/arrays/bpm_array.py
@@ -15,8 +15,8 @@ def __init__(self, name:str, bpms:list[BPM]):
     def get(self) -> np.array:
         if not self.aggregator:
             return np.array([b.positions.get() for b in self.__bpms])
-        else:
-            return self.aggregator.get()
+        else:  
+            return self.aggregator.get().reshape(len(self.__bpms),2)
 
     # Gets the unit of the values
     def unit(self) -> list[str]:
@@ -44,7 +44,7 @@ def get(self) -> np.array:
 
     # Gets the unit of the values
     def unit(self) -> list[str]:
-        return [b.positions.unit()[self.__idx] for b in self.__bpms]
+        return [b.positions.unit() for b in self.__bpms]
 
     # Set the aggregator (Control system only)
     def set_aggregator(self,agg:DeviceAccessList):
@@ -98,7 +98,7 @@ def h(self) -> RWBPMSinglePosition:
     @property   
     def v(self) -> RWBPMSinglePosition:
         """
-        Give access to bpm H posttions of each bpm of this array
+        Give access to bpm V posttions of each bpm of this array
         """
         return self.__vpos
 
diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py
index ee6f4b776..8e55cc77f 100644
--- a/pyaml/control/abstract_impl.py
+++ b/pyaml/control/abstract_impl.py
@@ -162,9 +162,9 @@ def __init__(self, model:BPMModel):
     def get(self) -> np.array:
         return self.__model.read_position()
 
-    # Gets the unit of the value
-    def unit(self) -> list[str]:
-        return [self.__model.__x_pos.unit(), self.__model.__y_pos.unit()]
+    # Gets the unit of the value Assume that x and y has the same unit
+    def unit(self) -> str:
+        return self.__model.get_pos_devices()[0].unit()
 
 #------------------------------------------------------------------------------
 
@@ -186,7 +186,7 @@ def set_and_wait(self, value: NDArray[np.float64]):
         raise NotImplementedError("Not implemented yet.")
     # Gets the unit of the value
     def unit(self) -> str:
-        return self.__model.__tilt.unit()
+        return self.__model.get_tilt_device().unit()
 
 #------------------------------------------------------------------------------
 
@@ -208,7 +208,7 @@ def set_and_wait(self, value: NDArray[np.float64]):
         raise NotImplementedError("Not implemented yet.")
     # Gets the unit of the value
     def unit(self) -> str:
-        return self.__model.__x_offset.unit()
+        return self.__model.get_offset_devices()[0].unit()
 
 #------------------------------------------------------------------------------
 
diff --git a/pyaml/lattice/abstract_impl.py b/pyaml/lattice/abstract_impl.py
index 862ba0c01..3580e7cee 100644
--- a/pyaml/lattice/abstract_impl.py
+++ b/pyaml/lattice/abstract_impl.py
@@ -156,13 +156,11 @@ class BPMScalarAggregator(ScalarAggregator):
     """
 
     def __init__(self, ring:at.Lattice):
-        self.__ring = ring
-        self.__elts = []
-        self.__refpts =[]
+        self.lattice = ring
+        self.refpts = []
 
     def add_elem(self,elem:at.Element):
-        self.__elts.append(elem)
-        self.__refpts.append(self.__ring.index(elem))
+        self.refpts.append(self.lattice.index(elem))
 
     def set(self, value: NDArray[np.float64]):
         pass
@@ -171,8 +169,8 @@ def set_and_wait(self, value: NDArray[np.float64]):
         pass
 
     def get(self) -> np.array:
-        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
-        return orbit[:, [0, 2]]
+        _, orbit = at.find_orbit(self.lattice, refpts=self.refpts)
+        return orbit[:, [0, 2]].flatten()
 
     def readback(self) -> np.array:
         return self.get()
@@ -188,7 +186,7 @@ class BPMVScalarAggregator(BPMScalarAggregator):
     """
 
     def get(self) -> np.array:
-        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
+        _, orbit = at.find_orbit(self.lattice, refpts=self.refpts)
         return orbit[:, 0]
 
 #------------------------------------------------------------------------------
@@ -199,7 +197,7 @@ class BPMHScalarAggregator(BPMScalarAggregator):
     """
 
     def get(self) -> np.array:
-        _, orbit = at.find_orbit(self.__ring, refpts=self.__refpts)
+        _, orbit = at.find_orbit(self.lattice, refpts=self.refpts)
         return orbit[:, 2]
 
 #------------------------------------------------------------------------------
@@ -262,7 +260,7 @@ def set_and_wait(self, value:np.array):
 
     # Gets the unit of the value
     def unit(self) -> str:
-        return 'mm'  # Assuming all offsets are in mm
+        return 'm'  # Assuming all offsets are in m
 
 #------------------------------------------------------------------------------
 
diff --git a/tests/config/EBSOrbit.yaml b/tests/config/EBSOrbit.yaml
index b22c81107..04bdf4e1a 100644
--- a/tests/config/EBSOrbit.yaml
+++ b/tests/config/EBSOrbit.yaml
@@ -8543,11 +8543,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-01/SA_HPosition
+          attribute: srdiag/bpm/c04-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-01/SA_VPosition
+          attribute: srdiag/bpm/c04-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-02
@@ -8555,11 +8555,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-02/SA_HPosition
+          attribute: srdiag/bpm/c04-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-02/SA_VPosition
+          attribute: srdiag/bpm/c04-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-03
@@ -8567,11 +8567,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-03/SA_HPosition
+          attribute: srdiag/bpm/c04-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-03/SA_VPosition
+          attribute: srdiag/bpm/c04-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-04
@@ -8579,11 +8579,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-04/SA_HPosition
+          attribute: srdiag/bpm/c04-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-04/SA_VPosition
+          attribute: srdiag/bpm/c04-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-05
@@ -8591,11 +8591,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-05/SA_HPosition
+          attribute: srdiag/bpm/c04-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-05/SA_VPosition
+          attribute: srdiag/bpm/c04-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-06
@@ -8603,11 +8603,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-06/SA_HPosition
+          attribute: srdiag/bpm/c04-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-06/SA_VPosition
+          attribute: srdiag/bpm/c04-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-07
@@ -8615,11 +8615,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-07/SA_HPosition
+          attribute: srdiag/bpm/c04-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-07/SA_VPosition
+          attribute: srdiag/bpm/c04-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-08
@@ -8627,11 +8627,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-08/SA_HPosition
+          attribute: srdiag/bpm/c04-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-08/SA_VPosition
+          attribute: srdiag/bpm/c04-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-09
@@ -8639,11 +8639,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-09/SA_HPosition
+          attribute: srdiag/bpm/c04-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-09/SA_VPosition
+          attribute: srdiag/bpm/c04-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C04-10
@@ -8651,11 +8651,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-10/SA_HPosition
+          attribute: srdiag/bpm/c04-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/04-10/SA_VPosition
+          attribute: srdiag/bpm/c04-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-01
@@ -8663,11 +8663,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-01/SA_HPosition
+          attribute: srdiag/bpm/c05-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-01/SA_VPosition
+          attribute: srdiag/bpm/c05-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-02
@@ -8675,11 +8675,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-02/SA_HPosition
+          attribute: srdiag/bpm/c05-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-02/SA_VPosition
+          attribute: srdiag/bpm/c05-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-03
@@ -8687,11 +8687,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-03/SA_HPosition
+          attribute: srdiag/bpm/c05-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-03/SA_VPosition
+          attribute: srdiag/bpm/c05-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-04
@@ -8699,11 +8699,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-04/SA_HPosition
+          attribute: srdiag/bpm/c05-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-04/SA_VPosition
+          attribute: srdiag/bpm/c05-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-05
@@ -8711,11 +8711,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-05/SA_HPosition
+          attribute: srdiag/bpm/c05-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-05/SA_VPosition
+          attribute: srdiag/bpm/c05-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-06
@@ -8723,11 +8723,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-06/SA_HPosition
+          attribute: srdiag/bpm/c05-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-06/SA_VPosition
+          attribute: srdiag/bpm/c05-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-07
@@ -8735,11 +8735,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-07/SA_HPosition
+          attribute: srdiag/bpm/c05-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-07/SA_VPosition
+          attribute: srdiag/bpm/c05-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-08
@@ -8747,11 +8747,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-08/SA_HPosition
+          attribute: srdiag/bpm/c05-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-08/SA_VPosition
+          attribute: srdiag/bpm/c05-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-09
@@ -8759,11 +8759,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-09/SA_HPosition
+          attribute: srdiag/bpm/c05-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-09/SA_VPosition
+          attribute: srdiag/bpm/c05-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C05-10
@@ -8771,11 +8771,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-10/SA_HPosition
+          attribute: srdiag/bpm/c05-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/05-10/SA_VPosition
+          attribute: srdiag/bpm/c05-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-01
@@ -8783,11 +8783,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-01/SA_HPosition
+          attribute: srdiag/bpm/c06-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-01/SA_VPosition
+          attribute: srdiag/bpm/c06-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-02
@@ -8795,11 +8795,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-02/SA_HPosition
+          attribute: srdiag/bpm/c06-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-02/SA_VPosition
+          attribute: srdiag/bpm/c06-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-03
@@ -8807,11 +8807,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-03/SA_HPosition
+          attribute: srdiag/bpm/c06-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-03/SA_VPosition
+          attribute: srdiag/bpm/c06-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-04
@@ -8819,11 +8819,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-04/SA_HPosition
+          attribute: srdiag/bpm/c06-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-04/SA_VPosition
+          attribute: srdiag/bpm/c06-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-05
@@ -8831,11 +8831,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-05/SA_HPosition
+          attribute: srdiag/bpm/c06-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-05/SA_VPosition
+          attribute: srdiag/bpm/c06-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-06
@@ -8843,11 +8843,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-06/SA_HPosition
+          attribute: srdiag/bpm/c06-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-06/SA_VPosition
+          attribute: srdiag/bpm/c06-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-07
@@ -8855,11 +8855,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-07/SA_HPosition
+          attribute: srdiag/bpm/c06-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-07/SA_VPosition
+          attribute: srdiag/bpm/c06-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-08
@@ -8867,11 +8867,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-08/SA_HPosition
+          attribute: srdiag/bpm/c06-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-08/SA_VPosition
+          attribute: srdiag/bpm/c06-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-09
@@ -8879,11 +8879,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-09/SA_HPosition
+          attribute: srdiag/bpm/c06-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-09/SA_VPosition
+          attribute: srdiag/bpm/c06-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C06-10
@@ -8891,11 +8891,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-10/SA_HPosition
+          attribute: srdiag/bpm/c06-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/06-10/SA_VPosition
+          attribute: srdiag/bpm/c06-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-01
@@ -8903,11 +8903,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-01/SA_HPosition
+          attribute: srdiag/bpm/c07-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-01/SA_VPosition
+          attribute: srdiag/bpm/c07-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-02
@@ -8915,11 +8915,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-02/SA_HPosition
+          attribute: srdiag/bpm/c07-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-02/SA_VPosition
+          attribute: srdiag/bpm/c07-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-03
@@ -8927,11 +8927,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-03/SA_HPosition
+          attribute: srdiag/bpm/c07-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-03/SA_VPosition
+          attribute: srdiag/bpm/c07-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-04
@@ -8939,11 +8939,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-04/SA_HPosition
+          attribute: srdiag/bpm/c07-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-04/SA_VPosition
+          attribute: srdiag/bpm/c07-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-05
@@ -8951,11 +8951,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-05/SA_HPosition
+          attribute: srdiag/bpm/c07-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-05/SA_VPosition
+          attribute: srdiag/bpm/c07-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-06
@@ -8963,11 +8963,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-06/SA_HPosition
+          attribute: srdiag/bpm/c07-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-06/SA_VPosition
+          attribute: srdiag/bpm/c07-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-07
@@ -8975,11 +8975,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-07/SA_HPosition
+          attribute: srdiag/bpm/c07-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-07/SA_VPosition
+          attribute: srdiag/bpm/c07-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-08
@@ -8987,11 +8987,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-08/SA_HPosition
+          attribute: srdiag/bpm/c07-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-08/SA_VPosition
+          attribute: srdiag/bpm/c07-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-09
@@ -8999,11 +8999,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-09/SA_HPosition
+          attribute: srdiag/bpm/c07-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-09/SA_VPosition
+          attribute: srdiag/bpm/c07-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C07-10
@@ -9011,11 +9011,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-10/SA_HPosition
+          attribute: srdiag/bpm/c07-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/07-10/SA_VPosition
+          attribute: srdiag/bpm/c07-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-01
@@ -9023,11 +9023,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-01/SA_HPosition
+          attribute: srdiag/bpm/c08-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-01/SA_VPosition
+          attribute: srdiag/bpm/c08-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-02
@@ -9035,11 +9035,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-02/SA_HPosition
+          attribute: srdiag/bpm/c08-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-02/SA_VPosition
+          attribute: srdiag/bpm/c08-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-03
@@ -9047,11 +9047,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-03/SA_HPosition
+          attribute: srdiag/bpm/c08-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-03/SA_VPosition
+          attribute: srdiag/bpm/c08-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-04
@@ -9059,11 +9059,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-04/SA_HPosition
+          attribute: srdiag/bpm/c08-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-04/SA_VPosition
+          attribute: srdiag/bpm/c08-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-05
@@ -9071,11 +9071,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-05/SA_HPosition
+          attribute: srdiag/bpm/c08-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-05/SA_VPosition
+          attribute: srdiag/bpm/c08-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-06
@@ -9083,11 +9083,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-06/SA_HPosition
+          attribute: srdiag/bpm/c08-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-06/SA_VPosition
+          attribute: srdiag/bpm/c08-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-07
@@ -9095,11 +9095,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-07/SA_HPosition
+          attribute: srdiag/bpm/c08-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-07/SA_VPosition
+          attribute: srdiag/bpm/c08-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-08
@@ -9107,11 +9107,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-08/SA_HPosition
+          attribute: srdiag/bpm/c08-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-08/SA_VPosition
+          attribute: srdiag/bpm/c08-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-09
@@ -9119,11 +9119,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-09/SA_HPosition
+          attribute: srdiag/bpm/c08-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-09/SA_VPosition
+          attribute: srdiag/bpm/c08-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C08-10
@@ -9131,11 +9131,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-10/SA_HPosition
+          attribute: srdiag/bpm/c08-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/08-10/SA_VPosition
+          attribute: srdiag/bpm/c08-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-01
@@ -9143,11 +9143,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-01/SA_HPosition
+          attribute: srdiag/bpm/c09-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-01/SA_VPosition
+          attribute: srdiag/bpm/c09-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-02
@@ -9155,11 +9155,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-02/SA_HPosition
+          attribute: srdiag/bpm/c09-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-02/SA_VPosition
+          attribute: srdiag/bpm/c09-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-03
@@ -9167,11 +9167,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-03/SA_HPosition
+          attribute: srdiag/bpm/c09-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-03/SA_VPosition
+          attribute: srdiag/bpm/c09-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-04
@@ -9179,11 +9179,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-04/SA_HPosition
+          attribute: srdiag/bpm/c09-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-04/SA_VPosition
+          attribute: srdiag/bpm/c09-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-05
@@ -9191,11 +9191,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-05/SA_HPosition
+          attribute: srdiag/bpm/c09-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-05/SA_VPosition
+          attribute: srdiag/bpm/c09-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-06
@@ -9203,11 +9203,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-06/SA_HPosition
+          attribute: srdiag/bpm/c09-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-06/SA_VPosition
+          attribute: srdiag/bpm/c09-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-07
@@ -9215,11 +9215,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-07/SA_HPosition
+          attribute: srdiag/bpm/c09-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-07/SA_VPosition
+          attribute: srdiag/bpm/c09-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-08
@@ -9227,11 +9227,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-08/SA_HPosition
+          attribute: srdiag/bpm/c09-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-08/SA_VPosition
+          attribute: srdiag/bpm/c09-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-09
@@ -9239,11 +9239,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-09/SA_HPosition
+          attribute: srdiag/bpm/c09-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-09/SA_VPosition
+          attribute: srdiag/bpm/c09-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C09-10
@@ -9251,11 +9251,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-10/SA_HPosition
+          attribute: srdiag/bpm/c09-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/09-10/SA_VPosition
+          attribute: srdiag/bpm/c09-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-01
@@ -9263,11 +9263,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-01/SA_HPosition
+          attribute: srdiag/bpm/c10-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-01/SA_VPosition
+          attribute: srdiag/bpm/c10-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-02
@@ -9275,11 +9275,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-02/SA_HPosition
+          attribute: srdiag/bpm/c10-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-02/SA_VPosition
+          attribute: srdiag/bpm/c10-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-03
@@ -9287,11 +9287,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-03/SA_HPosition
+          attribute: srdiag/bpm/c10-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-03/SA_VPosition
+          attribute: srdiag/bpm/c10-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-04
@@ -9299,11 +9299,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-04/SA_HPosition
+          attribute: srdiag/bpm/c10-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-04/SA_VPosition
+          attribute: srdiag/bpm/c10-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-05
@@ -9311,11 +9311,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-05/SA_HPosition
+          attribute: srdiag/bpm/c10-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-05/SA_VPosition
+          attribute: srdiag/bpm/c10-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-06
@@ -9323,11 +9323,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-06/SA_HPosition
+          attribute: srdiag/bpm/c10-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-06/SA_VPosition
+          attribute: srdiag/bpm/c10-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-07
@@ -9335,11 +9335,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-07/SA_HPosition
+          attribute: srdiag/bpm/c10-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-07/SA_VPosition
+          attribute: srdiag/bpm/c10-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-08
@@ -9347,11 +9347,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-08/SA_HPosition
+          attribute: srdiag/bpm/c10-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-08/SA_VPosition
+          attribute: srdiag/bpm/c10-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-09
@@ -9359,11 +9359,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-09/SA_HPosition
+          attribute: srdiag/bpm/c10-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-09/SA_VPosition
+          attribute: srdiag/bpm/c10-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C10-10
@@ -9371,11 +9371,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-10/SA_HPosition
+          attribute: srdiag/bpm/c10-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/10-10/SA_VPosition
+          attribute: srdiag/bpm/c10-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-01
@@ -9383,11 +9383,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-01/SA_HPosition
+          attribute: srdiag/bpm/c11-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-01/SA_VPosition
+          attribute: srdiag/bpm/c11-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-02
@@ -9395,11 +9395,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-02/SA_HPosition
+          attribute: srdiag/bpm/c11-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-02/SA_VPosition
+          attribute: srdiag/bpm/c11-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-03
@@ -9407,11 +9407,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-03/SA_HPosition
+          attribute: srdiag/bpm/c11-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-03/SA_VPosition
+          attribute: srdiag/bpm/c11-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-04
@@ -9419,11 +9419,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-04/SA_HPosition
+          attribute: srdiag/bpm/c11-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-04/SA_VPosition
+          attribute: srdiag/bpm/c11-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-05
@@ -9431,11 +9431,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-05/SA_HPosition
+          attribute: srdiag/bpm/c11-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-05/SA_VPosition
+          attribute: srdiag/bpm/c11-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-06
@@ -9443,11 +9443,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-06/SA_HPosition
+          attribute: srdiag/bpm/c11-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-06/SA_VPosition
+          attribute: srdiag/bpm/c11-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-07
@@ -9455,11 +9455,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-07/SA_HPosition
+          attribute: srdiag/bpm/c11-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-07/SA_VPosition
+          attribute: srdiag/bpm/c11-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-08
@@ -9467,11 +9467,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-08/SA_HPosition
+          attribute: srdiag/bpm/c11-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-08/SA_VPosition
+          attribute: srdiag/bpm/c11-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-09
@@ -9479,11 +9479,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-09/SA_HPosition
+          attribute: srdiag/bpm/c11-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-09/SA_VPosition
+          attribute: srdiag/bpm/c11-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C11-10
@@ -9491,11 +9491,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-10/SA_HPosition
+          attribute: srdiag/bpm/c11-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/11-10/SA_VPosition
+          attribute: srdiag/bpm/c11-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-01
@@ -9503,11 +9503,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-01/SA_HPosition
+          attribute: srdiag/bpm/c12-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-01/SA_VPosition
+          attribute: srdiag/bpm/c12-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-02
@@ -9515,11 +9515,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-02/SA_HPosition
+          attribute: srdiag/bpm/c12-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-02/SA_VPosition
+          attribute: srdiag/bpm/c12-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-03
@@ -9527,11 +9527,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-03/SA_HPosition
+          attribute: srdiag/bpm/c12-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-03/SA_VPosition
+          attribute: srdiag/bpm/c12-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-04
@@ -9539,11 +9539,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-04/SA_HPosition
+          attribute: srdiag/bpm/c12-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-04/SA_VPosition
+          attribute: srdiag/bpm/c12-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-05
@@ -9551,11 +9551,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-05/SA_HPosition
+          attribute: srdiag/bpm/c12-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-05/SA_VPosition
+          attribute: srdiag/bpm/c12-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-06
@@ -9563,11 +9563,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-06/SA_HPosition
+          attribute: srdiag/bpm/c12-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-06/SA_VPosition
+          attribute: srdiag/bpm/c12-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-07
@@ -9575,11 +9575,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-07/SA_HPosition
+          attribute: srdiag/bpm/c12-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-07/SA_VPosition
+          attribute: srdiag/bpm/c12-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-08
@@ -9587,11 +9587,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-08/SA_HPosition
+          attribute: srdiag/bpm/c12-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-08/SA_VPosition
+          attribute: srdiag/bpm/c12-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-09
@@ -9599,11 +9599,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-09/SA_HPosition
+          attribute: srdiag/bpm/c12-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-09/SA_VPosition
+          attribute: srdiag/bpm/c12-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C12-10
@@ -9611,11 +9611,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-10/SA_HPosition
+          attribute: srdiag/bpm/c12-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/12-10/SA_VPosition
+          attribute: srdiag/bpm/c12-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-01
@@ -9623,11 +9623,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-01/SA_HPosition
+          attribute: srdiag/bpm/c13-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-01/SA_VPosition
+          attribute: srdiag/bpm/c13-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-02
@@ -9635,11 +9635,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-02/SA_HPosition
+          attribute: srdiag/bpm/c13-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-02/SA_VPosition
+          attribute: srdiag/bpm/c13-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-03
@@ -9647,11 +9647,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-03/SA_HPosition
+          attribute: srdiag/bpm/c13-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-03/SA_VPosition
+          attribute: srdiag/bpm/c13-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-04
@@ -9659,11 +9659,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-04/SA_HPosition
+          attribute: srdiag/bpm/c13-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-04/SA_VPosition
+          attribute: srdiag/bpm/c13-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-05
@@ -9671,11 +9671,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-05/SA_HPosition
+          attribute: srdiag/bpm/c13-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-05/SA_VPosition
+          attribute: srdiag/bpm/c13-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-06
@@ -9683,11 +9683,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-06/SA_HPosition
+          attribute: srdiag/bpm/c13-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-06/SA_VPosition
+          attribute: srdiag/bpm/c13-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-07
@@ -9695,11 +9695,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-07/SA_HPosition
+          attribute: srdiag/bpm/c13-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-07/SA_VPosition
+          attribute: srdiag/bpm/c13-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-08
@@ -9707,11 +9707,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-08/SA_HPosition
+          attribute: srdiag/bpm/c13-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-08/SA_VPosition
+          attribute: srdiag/bpm/c13-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-09
@@ -9719,11 +9719,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-09/SA_HPosition
+          attribute: srdiag/bpm/c13-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-09/SA_VPosition
+          attribute: srdiag/bpm/c13-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C13-10
@@ -9731,11 +9731,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-10/SA_HPosition
+          attribute: srdiag/bpm/c13-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/13-10/SA_VPosition
+          attribute: srdiag/bpm/c13-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-01
@@ -9743,11 +9743,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-01/SA_HPosition
+          attribute: srdiag/bpm/c14-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-01/SA_VPosition
+          attribute: srdiag/bpm/c14-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-02
@@ -9755,11 +9755,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-02/SA_HPosition
+          attribute: srdiag/bpm/c14-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-02/SA_VPosition
+          attribute: srdiag/bpm/c14-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-03
@@ -9767,11 +9767,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-03/SA_HPosition
+          attribute: srdiag/bpm/c14-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-03/SA_VPosition
+          attribute: srdiag/bpm/c14-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-04
@@ -9779,11 +9779,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-04/SA_HPosition
+          attribute: srdiag/bpm/c14-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-04/SA_VPosition
+          attribute: srdiag/bpm/c14-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-05
@@ -9791,11 +9791,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-05/SA_HPosition
+          attribute: srdiag/bpm/c14-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-05/SA_VPosition
+          attribute: srdiag/bpm/c14-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-06
@@ -9803,11 +9803,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-06/SA_HPosition
+          attribute: srdiag/bpm/c14-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-06/SA_VPosition
+          attribute: srdiag/bpm/c14-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-07
@@ -9815,11 +9815,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-07/SA_HPosition
+          attribute: srdiag/bpm/c14-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-07/SA_VPosition
+          attribute: srdiag/bpm/c14-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-08
@@ -9827,11 +9827,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-08/SA_HPosition
+          attribute: srdiag/bpm/c14-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-08/SA_VPosition
+          attribute: srdiag/bpm/c14-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-09
@@ -9839,11 +9839,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-09/SA_HPosition
+          attribute: srdiag/bpm/c14-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-09/SA_VPosition
+          attribute: srdiag/bpm/c14-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C14-10
@@ -9851,11 +9851,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-10/SA_HPosition
+          attribute: srdiag/bpm/c14-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/14-10/SA_VPosition
+          attribute: srdiag/bpm/c14-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-01
@@ -9863,11 +9863,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-01/SA_HPosition
+          attribute: srdiag/bpm/c15-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-01/SA_VPosition
+          attribute: srdiag/bpm/c15-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-02
@@ -9875,11 +9875,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-02/SA_HPosition
+          attribute: srdiag/bpm/c15-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-02/SA_VPosition
+          attribute: srdiag/bpm/c15-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-03
@@ -9887,11 +9887,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-03/SA_HPosition
+          attribute: srdiag/bpm/c15-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-03/SA_VPosition
+          attribute: srdiag/bpm/c15-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-04
@@ -9899,11 +9899,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-04/SA_HPosition
+          attribute: srdiag/bpm/c15-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-04/SA_VPosition
+          attribute: srdiag/bpm/c15-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-05
@@ -9911,11 +9911,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-05/SA_HPosition
+          attribute: srdiag/bpm/c15-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-05/SA_VPosition
+          attribute: srdiag/bpm/c15-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-06
@@ -9923,11 +9923,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-06/SA_HPosition
+          attribute: srdiag/bpm/c15-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-06/SA_VPosition
+          attribute: srdiag/bpm/c15-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-07
@@ -9935,11 +9935,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-07/SA_HPosition
+          attribute: srdiag/bpm/c15-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-07/SA_VPosition
+          attribute: srdiag/bpm/c15-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-08
@@ -9947,11 +9947,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-08/SA_HPosition
+          attribute: srdiag/bpm/c15-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-08/SA_VPosition
+          attribute: srdiag/bpm/c15-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-09
@@ -9959,11 +9959,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-09/SA_HPosition
+          attribute: srdiag/bpm/c15-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-09/SA_VPosition
+          attribute: srdiag/bpm/c15-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C15-10
@@ -9971,11 +9971,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-10/SA_HPosition
+          attribute: srdiag/bpm/c15-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/15-10/SA_VPosition
+          attribute: srdiag/bpm/c15-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-01
@@ -9983,11 +9983,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-01/SA_HPosition
+          attribute: srdiag/bpm/c16-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-01/SA_VPosition
+          attribute: srdiag/bpm/c16-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-02
@@ -9995,11 +9995,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-02/SA_HPosition
+          attribute: srdiag/bpm/c16-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-02/SA_VPosition
+          attribute: srdiag/bpm/c16-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-03
@@ -10007,11 +10007,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-03/SA_HPosition
+          attribute: srdiag/bpm/c16-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-03/SA_VPosition
+          attribute: srdiag/bpm/c16-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-04
@@ -10019,11 +10019,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-04/SA_HPosition
+          attribute: srdiag/bpm/c16-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-04/SA_VPosition
+          attribute: srdiag/bpm/c16-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-05
@@ -10031,11 +10031,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-05/SA_HPosition
+          attribute: srdiag/bpm/c16-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-05/SA_VPosition
+          attribute: srdiag/bpm/c16-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-06
@@ -10043,11 +10043,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-06/SA_HPosition
+          attribute: srdiag/bpm/c16-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-06/SA_VPosition
+          attribute: srdiag/bpm/c16-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-07
@@ -10055,11 +10055,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-07/SA_HPosition
+          attribute: srdiag/bpm/c16-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-07/SA_VPosition
+          attribute: srdiag/bpm/c16-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-08
@@ -10067,11 +10067,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-08/SA_HPosition
+          attribute: srdiag/bpm/c16-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-08/SA_VPosition
+          attribute: srdiag/bpm/c16-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-09
@@ -10079,11 +10079,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-09/SA_HPosition
+          attribute: srdiag/bpm/c16-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-09/SA_VPosition
+          attribute: srdiag/bpm/c16-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C16-10
@@ -10091,11 +10091,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-10/SA_HPosition
+          attribute: srdiag/bpm/c16-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/16-10/SA_VPosition
+          attribute: srdiag/bpm/c16-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-01
@@ -10103,11 +10103,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-01/SA_HPosition
+          attribute: srdiag/bpm/c17-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-01/SA_VPosition
+          attribute: srdiag/bpm/c17-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-02
@@ -10115,11 +10115,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-02/SA_HPosition
+          attribute: srdiag/bpm/c17-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-02/SA_VPosition
+          attribute: srdiag/bpm/c17-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-03
@@ -10127,11 +10127,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-03/SA_HPosition
+          attribute: srdiag/bpm/c17-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-03/SA_VPosition
+          attribute: srdiag/bpm/c17-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-04
@@ -10139,11 +10139,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-04/SA_HPosition
+          attribute: srdiag/bpm/c17-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-04/SA_VPosition
+          attribute: srdiag/bpm/c17-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-05
@@ -10151,11 +10151,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-05/SA_HPosition
+          attribute: srdiag/bpm/c17-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-05/SA_VPosition
+          attribute: srdiag/bpm/c17-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-06
@@ -10163,11 +10163,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-06/SA_HPosition
+          attribute: srdiag/bpm/c17-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-06/SA_VPosition
+          attribute: srdiag/bpm/c17-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-07
@@ -10175,11 +10175,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-07/SA_HPosition
+          attribute: srdiag/bpm/c17-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-07/SA_VPosition
+          attribute: srdiag/bpm/c17-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-08
@@ -10187,11 +10187,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-08/SA_HPosition
+          attribute: srdiag/bpm/c17-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-08/SA_VPosition
+          attribute: srdiag/bpm/c17-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-09
@@ -10199,11 +10199,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-09/SA_HPosition
+          attribute: srdiag/bpm/c17-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-09/SA_VPosition
+          attribute: srdiag/bpm/c17-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C17-10
@@ -10211,11 +10211,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-10/SA_HPosition
+          attribute: srdiag/bpm/c17-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/17-10/SA_VPosition
+          attribute: srdiag/bpm/c17-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-01
@@ -10223,11 +10223,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-01/SA_HPosition
+          attribute: srdiag/bpm/c18-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-01/SA_VPosition
+          attribute: srdiag/bpm/c18-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-02
@@ -10235,11 +10235,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-02/SA_HPosition
+          attribute: srdiag/bpm/c18-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-02/SA_VPosition
+          attribute: srdiag/bpm/c18-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-03
@@ -10247,11 +10247,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-03/SA_HPosition
+          attribute: srdiag/bpm/c18-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-03/SA_VPosition
+          attribute: srdiag/bpm/c18-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-04
@@ -10259,11 +10259,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-04/SA_HPosition
+          attribute: srdiag/bpm/c18-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-04/SA_VPosition
+          attribute: srdiag/bpm/c18-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-05
@@ -10271,11 +10271,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-05/SA_HPosition
+          attribute: srdiag/bpm/c18-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-05/SA_VPosition
+          attribute: srdiag/bpm/c18-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-06
@@ -10283,11 +10283,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-06/SA_HPosition
+          attribute: srdiag/bpm/c18-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-06/SA_VPosition
+          attribute: srdiag/bpm/c18-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-07
@@ -10295,11 +10295,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-07/SA_HPosition
+          attribute: srdiag/bpm/c18-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-07/SA_VPosition
+          attribute: srdiag/bpm/c18-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-08
@@ -10307,11 +10307,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-08/SA_HPosition
+          attribute: srdiag/bpm/c18-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-08/SA_VPosition
+          attribute: srdiag/bpm/c18-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-09
@@ -10319,11 +10319,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-09/SA_HPosition
+          attribute: srdiag/bpm/c18-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-09/SA_VPosition
+          attribute: srdiag/bpm/c18-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C18-10
@@ -10331,11 +10331,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-10/SA_HPosition
+          attribute: srdiag/bpm/c18-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/18-10/SA_VPosition
+          attribute: srdiag/bpm/c18-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-01
@@ -10343,11 +10343,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-01/SA_HPosition
+          attribute: srdiag/bpm/c19-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-01/SA_VPosition
+          attribute: srdiag/bpm/c19-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-02
@@ -10355,11 +10355,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-02/SA_HPosition
+          attribute: srdiag/bpm/c19-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-02/SA_VPosition
+          attribute: srdiag/bpm/c19-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-03
@@ -10367,11 +10367,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-03/SA_HPosition
+          attribute: srdiag/bpm/c19-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-03/SA_VPosition
+          attribute: srdiag/bpm/c19-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-04
@@ -10379,11 +10379,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-04/SA_HPosition
+          attribute: srdiag/bpm/c19-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-04/SA_VPosition
+          attribute: srdiag/bpm/c19-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-05
@@ -10391,11 +10391,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-05/SA_HPosition
+          attribute: srdiag/bpm/c19-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-05/SA_VPosition
+          attribute: srdiag/bpm/c19-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-06
@@ -10403,11 +10403,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-06/SA_HPosition
+          attribute: srdiag/bpm/c19-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-06/SA_VPosition
+          attribute: srdiag/bpm/c19-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-07
@@ -10415,11 +10415,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-07/SA_HPosition
+          attribute: srdiag/bpm/c19-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-07/SA_VPosition
+          attribute: srdiag/bpm/c19-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-08
@@ -10427,11 +10427,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-08/SA_HPosition
+          attribute: srdiag/bpm/c19-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-08/SA_VPosition
+          attribute: srdiag/bpm/c19-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-09
@@ -10439,11 +10439,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-09/SA_HPosition
+          attribute: srdiag/bpm/c19-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-09/SA_VPosition
+          attribute: srdiag/bpm/c19-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C19-10
@@ -10451,11 +10451,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-10/SA_HPosition
+          attribute: srdiag/bpm/c19-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/19-10/SA_VPosition
+          attribute: srdiag/bpm/c19-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-01
@@ -10463,11 +10463,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-01/SA_HPosition
+          attribute: srdiag/bpm/c20-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-01/SA_VPosition
+          attribute: srdiag/bpm/c20-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-02
@@ -10475,11 +10475,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-02/SA_HPosition
+          attribute: srdiag/bpm/c20-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-02/SA_VPosition
+          attribute: srdiag/bpm/c20-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-03
@@ -10487,11 +10487,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-03/SA_HPosition
+          attribute: srdiag/bpm/c20-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-03/SA_VPosition
+          attribute: srdiag/bpm/c20-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-04
@@ -10499,11 +10499,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-04/SA_HPosition
+          attribute: srdiag/bpm/c20-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-04/SA_VPosition
+          attribute: srdiag/bpm/c20-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-05
@@ -10511,11 +10511,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-05/SA_HPosition
+          attribute: srdiag/bpm/c20-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-05/SA_VPosition
+          attribute: srdiag/bpm/c20-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-06
@@ -10523,11 +10523,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-06/SA_HPosition
+          attribute: srdiag/bpm/c20-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-06/SA_VPosition
+          attribute: srdiag/bpm/c20-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-07
@@ -10535,11 +10535,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-07/SA_HPosition
+          attribute: srdiag/bpm/c20-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-07/SA_VPosition
+          attribute: srdiag/bpm/c20-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-08
@@ -10547,11 +10547,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-08/SA_HPosition
+          attribute: srdiag/bpm/c20-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-08/SA_VPosition
+          attribute: srdiag/bpm/c20-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-09
@@ -10559,11 +10559,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-09/SA_HPosition
+          attribute: srdiag/bpm/c20-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-09/SA_VPosition
+          attribute: srdiag/bpm/c20-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C20-10
@@ -10571,11 +10571,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-10/SA_HPosition
+          attribute: srdiag/bpm/c20-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/20-10/SA_VPosition
+          attribute: srdiag/bpm/c20-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-01
@@ -10583,11 +10583,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-01/SA_HPosition
+          attribute: srdiag/bpm/c21-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-01/SA_VPosition
+          attribute: srdiag/bpm/c21-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-02
@@ -10595,11 +10595,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-02/SA_HPosition
+          attribute: srdiag/bpm/c21-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-02/SA_VPosition
+          attribute: srdiag/bpm/c21-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-03
@@ -10607,11 +10607,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-03/SA_HPosition
+          attribute: srdiag/bpm/c21-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-03/SA_VPosition
+          attribute: srdiag/bpm/c21-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-04
@@ -10619,11 +10619,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-04/SA_HPosition
+          attribute: srdiag/bpm/c21-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-04/SA_VPosition
+          attribute: srdiag/bpm/c21-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-05
@@ -10631,11 +10631,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-05/SA_HPosition
+          attribute: srdiag/bpm/c21-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-05/SA_VPosition
+          attribute: srdiag/bpm/c21-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-06
@@ -10643,11 +10643,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-06/SA_HPosition
+          attribute: srdiag/bpm/c21-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-06/SA_VPosition
+          attribute: srdiag/bpm/c21-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-07
@@ -10655,11 +10655,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-07/SA_HPosition
+          attribute: srdiag/bpm/c21-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-07/SA_VPosition
+          attribute: srdiag/bpm/c21-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-08
@@ -10667,11 +10667,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-08/SA_HPosition
+          attribute: srdiag/bpm/c21-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-08/SA_VPosition
+          attribute: srdiag/bpm/c21-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-09
@@ -10679,11 +10679,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-09/SA_HPosition
+          attribute: srdiag/bpm/c21-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-09/SA_VPosition
+          attribute: srdiag/bpm/c21-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C21-10
@@ -10691,11 +10691,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-10/SA_HPosition
+          attribute: srdiag/bpm/c21-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/21-10/SA_VPosition
+          attribute: srdiag/bpm/c21-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-01
@@ -10703,11 +10703,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-01/SA_HPosition
+          attribute: srdiag/bpm/c22-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-01/SA_VPosition
+          attribute: srdiag/bpm/c22-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-02
@@ -10715,11 +10715,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-02/SA_HPosition
+          attribute: srdiag/bpm/c22-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-02/SA_VPosition
+          attribute: srdiag/bpm/c22-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-03
@@ -10727,11 +10727,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-03/SA_HPosition
+          attribute: srdiag/bpm/c22-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-03/SA_VPosition
+          attribute: srdiag/bpm/c22-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-04
@@ -10739,11 +10739,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-04/SA_HPosition
+          attribute: srdiag/bpm/c22-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-04/SA_VPosition
+          attribute: srdiag/bpm/c22-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-05
@@ -10751,11 +10751,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-05/SA_HPosition
+          attribute: srdiag/bpm/c22-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-05/SA_VPosition
+          attribute: srdiag/bpm/c22-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-06
@@ -10763,11 +10763,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-06/SA_HPosition
+          attribute: srdiag/bpm/c22-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-06/SA_VPosition
+          attribute: srdiag/bpm/c22-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-07
@@ -10775,11 +10775,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-07/SA_HPosition
+          attribute: srdiag/bpm/c22-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-07/SA_VPosition
+          attribute: srdiag/bpm/c22-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-08
@@ -10787,11 +10787,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-08/SA_HPosition
+          attribute: srdiag/bpm/c22-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-08/SA_VPosition
+          attribute: srdiag/bpm/c22-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-09
@@ -10799,11 +10799,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-09/SA_HPosition
+          attribute: srdiag/bpm/c22-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-09/SA_VPosition
+          attribute: srdiag/bpm/c22-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C22-10
@@ -10811,11 +10811,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-10/SA_HPosition
+          attribute: srdiag/bpm/c22-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/22-10/SA_VPosition
+          attribute: srdiag/bpm/c22-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-01
@@ -10823,11 +10823,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-01/SA_HPosition
+          attribute: srdiag/bpm/c23-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-01/SA_VPosition
+          attribute: srdiag/bpm/c23-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-02
@@ -10835,11 +10835,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-02/SA_HPosition
+          attribute: srdiag/bpm/c23-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-02/SA_VPosition
+          attribute: srdiag/bpm/c23-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-03
@@ -10847,11 +10847,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-03/SA_HPosition
+          attribute: srdiag/bpm/c23-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-03/SA_VPosition
+          attribute: srdiag/bpm/c23-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-04
@@ -10859,11 +10859,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-04/SA_HPosition
+          attribute: srdiag/bpm/c23-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-04/SA_VPosition
+          attribute: srdiag/bpm/c23-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-05
@@ -10871,11 +10871,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-05/SA_HPosition
+          attribute: srdiag/bpm/c23-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-05/SA_VPosition
+          attribute: srdiag/bpm/c23-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-06
@@ -10883,11 +10883,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-06/SA_HPosition
+          attribute: srdiag/bpm/c23-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-06/SA_VPosition
+          attribute: srdiag/bpm/c23-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-07
@@ -10895,11 +10895,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-07/SA_HPosition
+          attribute: srdiag/bpm/c23-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-07/SA_VPosition
+          attribute: srdiag/bpm/c23-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-08
@@ -10907,11 +10907,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-08/SA_HPosition
+          attribute: srdiag/bpm/c23-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-08/SA_VPosition
+          attribute: srdiag/bpm/c23-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-09
@@ -10919,11 +10919,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-09/SA_HPosition
+          attribute: srdiag/bpm/c23-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-09/SA_VPosition
+          attribute: srdiag/bpm/c23-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C23-10
@@ -10931,11 +10931,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-10/SA_HPosition
+          attribute: srdiag/bpm/c23-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/23-10/SA_VPosition
+          attribute: srdiag/bpm/c23-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-01
@@ -10943,11 +10943,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-01/SA_HPosition
+          attribute: srdiag/bpm/c24-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-01/SA_VPosition
+          attribute: srdiag/bpm/c24-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-02
@@ -10955,11 +10955,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-02/SA_HPosition
+          attribute: srdiag/bpm/c24-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-02/SA_VPosition
+          attribute: srdiag/bpm/c24-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-03
@@ -10967,11 +10967,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-03/SA_HPosition
+          attribute: srdiag/bpm/c24-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-03/SA_VPosition
+          attribute: srdiag/bpm/c24-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-04
@@ -10979,11 +10979,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-04/SA_HPosition
+          attribute: srdiag/bpm/c24-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-04/SA_VPosition
+          attribute: srdiag/bpm/c24-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-05
@@ -10991,11 +10991,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-05/SA_HPosition
+          attribute: srdiag/bpm/c24-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-05/SA_VPosition
+          attribute: srdiag/bpm/c24-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-06
@@ -11003,11 +11003,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-06/SA_HPosition
+          attribute: srdiag/bpm/c24-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-06/SA_VPosition
+          attribute: srdiag/bpm/c24-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-07
@@ -11015,11 +11015,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-07/SA_HPosition
+          attribute: srdiag/bpm/c24-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-07/SA_VPosition
+          attribute: srdiag/bpm/c24-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-08
@@ -11027,11 +11027,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-08/SA_HPosition
+          attribute: srdiag/bpm/c24-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-08/SA_VPosition
+          attribute: srdiag/bpm/c24-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-09
@@ -11039,11 +11039,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-09/SA_HPosition
+          attribute: srdiag/bpm/c24-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-09/SA_VPosition
+          attribute: srdiag/bpm/c24-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C24-10
@@ -11051,11 +11051,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-10/SA_HPosition
+          attribute: srdiag/bpm/c24-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/24-10/SA_VPosition
+          attribute: srdiag/bpm/c24-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-01
@@ -11063,11 +11063,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-01/SA_HPosition
+          attribute: srdiag/bpm/c25-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-01/SA_VPosition
+          attribute: srdiag/bpm/c25-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-02
@@ -11075,11 +11075,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-02/SA_HPosition
+          attribute: srdiag/bpm/c25-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-02/SA_VPosition
+          attribute: srdiag/bpm/c25-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-03
@@ -11087,11 +11087,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-03/SA_HPosition
+          attribute: srdiag/bpm/c25-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-03/SA_VPosition
+          attribute: srdiag/bpm/c25-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-04
@@ -11099,11 +11099,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-04/SA_HPosition
+          attribute: srdiag/bpm/c25-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-04/SA_VPosition
+          attribute: srdiag/bpm/c25-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-05
@@ -11111,11 +11111,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-05/SA_HPosition
+          attribute: srdiag/bpm/c25-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-05/SA_VPosition
+          attribute: srdiag/bpm/c25-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-06
@@ -11123,11 +11123,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-06/SA_HPosition
+          attribute: srdiag/bpm/c25-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-06/SA_VPosition
+          attribute: srdiag/bpm/c25-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-07
@@ -11135,11 +11135,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-07/SA_HPosition
+          attribute: srdiag/bpm/c25-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-07/SA_VPosition
+          attribute: srdiag/bpm/c25-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-08
@@ -11147,11 +11147,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-08/SA_HPosition
+          attribute: srdiag/bpm/c25-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-08/SA_VPosition
+          attribute: srdiag/bpm/c25-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-09
@@ -11159,11 +11159,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-09/SA_HPosition
+          attribute: srdiag/bpm/c25-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-09/SA_VPosition
+          attribute: srdiag/bpm/c25-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C25-10
@@ -11171,11 +11171,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-10/SA_HPosition
+          attribute: srdiag/bpm/c25-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/25-10/SA_VPosition
+          attribute: srdiag/bpm/c25-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-01
@@ -11183,11 +11183,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-01/SA_HPosition
+          attribute: srdiag/bpm/c26-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-01/SA_VPosition
+          attribute: srdiag/bpm/c26-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-02
@@ -11195,11 +11195,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-02/SA_HPosition
+          attribute: srdiag/bpm/c26-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-02/SA_VPosition
+          attribute: srdiag/bpm/c26-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-03
@@ -11207,11 +11207,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-03/SA_HPosition
+          attribute: srdiag/bpm/c26-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-03/SA_VPosition
+          attribute: srdiag/bpm/c26-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-04
@@ -11219,11 +11219,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-04/SA_HPosition
+          attribute: srdiag/bpm/c26-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-04/SA_VPosition
+          attribute: srdiag/bpm/c26-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-05
@@ -11231,11 +11231,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-05/SA_HPosition
+          attribute: srdiag/bpm/c26-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-05/SA_VPosition
+          attribute: srdiag/bpm/c26-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-06
@@ -11243,11 +11243,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-06/SA_HPosition
+          attribute: srdiag/bpm/c26-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-06/SA_VPosition
+          attribute: srdiag/bpm/c26-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-07
@@ -11255,11 +11255,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-07/SA_HPosition
+          attribute: srdiag/bpm/c26-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-07/SA_VPosition
+          attribute: srdiag/bpm/c26-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-08
@@ -11267,11 +11267,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-08/SA_HPosition
+          attribute: srdiag/bpm/c26-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-08/SA_VPosition
+          attribute: srdiag/bpm/c26-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-09
@@ -11279,11 +11279,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-09/SA_HPosition
+          attribute: srdiag/bpm/c26-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-09/SA_VPosition
+          attribute: srdiag/bpm/c26-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C26-10
@@ -11291,11 +11291,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-10/SA_HPosition
+          attribute: srdiag/bpm/c26-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/26-10/SA_VPosition
+          attribute: srdiag/bpm/c26-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-01
@@ -11303,11 +11303,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-01/SA_HPosition
+          attribute: srdiag/bpm/c27-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-01/SA_VPosition
+          attribute: srdiag/bpm/c27-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-02
@@ -11315,11 +11315,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-02/SA_HPosition
+          attribute: srdiag/bpm/c27-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-02/SA_VPosition
+          attribute: srdiag/bpm/c27-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-03
@@ -11327,11 +11327,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-03/SA_HPosition
+          attribute: srdiag/bpm/c27-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-03/SA_VPosition
+          attribute: srdiag/bpm/c27-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-04
@@ -11339,11 +11339,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-04/SA_HPosition
+          attribute: srdiag/bpm/c27-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-04/SA_VPosition
+          attribute: srdiag/bpm/c27-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-05
@@ -11351,11 +11351,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-05/SA_HPosition
+          attribute: srdiag/bpm/c27-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-05/SA_VPosition
+          attribute: srdiag/bpm/c27-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-06
@@ -11363,11 +11363,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-06/SA_HPosition
+          attribute: srdiag/bpm/c27-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-06/SA_VPosition
+          attribute: srdiag/bpm/c27-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-07
@@ -11375,11 +11375,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-07/SA_HPosition
+          attribute: srdiag/bpm/c27-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-07/SA_VPosition
+          attribute: srdiag/bpm/c27-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-08
@@ -11387,11 +11387,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-08/SA_HPosition
+          attribute: srdiag/bpm/c27-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-08/SA_VPosition
+          attribute: srdiag/bpm/c27-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-09
@@ -11399,11 +11399,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-09/SA_HPosition
+          attribute: srdiag/bpm/c27-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-09/SA_VPosition
+          attribute: srdiag/bpm/c27-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C27-10
@@ -11411,11 +11411,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-10/SA_HPosition
+          attribute: srdiag/bpm/c27-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/27-10/SA_VPosition
+          attribute: srdiag/bpm/c27-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-01
@@ -11423,11 +11423,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-01/SA_HPosition
+          attribute: srdiag/bpm/c28-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-01/SA_VPosition
+          attribute: srdiag/bpm/c28-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-02
@@ -11435,11 +11435,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-02/SA_HPosition
+          attribute: srdiag/bpm/c28-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-02/SA_VPosition
+          attribute: srdiag/bpm/c28-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-03
@@ -11447,11 +11447,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-03/SA_HPosition
+          attribute: srdiag/bpm/c28-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-03/SA_VPosition
+          attribute: srdiag/bpm/c28-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-04
@@ -11459,11 +11459,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-04/SA_HPosition
+          attribute: srdiag/bpm/c28-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-04/SA_VPosition
+          attribute: srdiag/bpm/c28-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-05
@@ -11471,11 +11471,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-05/SA_HPosition
+          attribute: srdiag/bpm/c28-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-05/SA_VPosition
+          attribute: srdiag/bpm/c28-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-06
@@ -11483,11 +11483,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-06/SA_HPosition
+          attribute: srdiag/bpm/c28-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-06/SA_VPosition
+          attribute: srdiag/bpm/c28-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-07
@@ -11495,11 +11495,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-07/SA_HPosition
+          attribute: srdiag/bpm/c28-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-07/SA_VPosition
+          attribute: srdiag/bpm/c28-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-08
@@ -11507,11 +11507,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-08/SA_HPosition
+          attribute: srdiag/bpm/c28-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-08/SA_VPosition
+          attribute: srdiag/bpm/c28-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-09
@@ -11519,11 +11519,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-09/SA_HPosition
+          attribute: srdiag/bpm/c28-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-09/SA_VPosition
+          attribute: srdiag/bpm/c28-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C28-10
@@ -11531,11 +11531,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-10/SA_HPosition
+          attribute: srdiag/bpm/c28-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/28-10/SA_VPosition
+          attribute: srdiag/bpm/c28-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-01
@@ -11543,11 +11543,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-01/SA_HPosition
+          attribute: srdiag/bpm/c29-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-01/SA_VPosition
+          attribute: srdiag/bpm/c29-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-02
@@ -11555,11 +11555,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-02/SA_HPosition
+          attribute: srdiag/bpm/c29-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-02/SA_VPosition
+          attribute: srdiag/bpm/c29-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-03
@@ -11567,11 +11567,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-03/SA_HPosition
+          attribute: srdiag/bpm/c29-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-03/SA_VPosition
+          attribute: srdiag/bpm/c29-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-04
@@ -11579,11 +11579,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-04/SA_HPosition
+          attribute: srdiag/bpm/c29-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-04/SA_VPosition
+          attribute: srdiag/bpm/c29-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-05
@@ -11591,11 +11591,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-05/SA_HPosition
+          attribute: srdiag/bpm/c29-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-05/SA_VPosition
+          attribute: srdiag/bpm/c29-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-06
@@ -11603,11 +11603,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-06/SA_HPosition
+          attribute: srdiag/bpm/c29-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-06/SA_VPosition
+          attribute: srdiag/bpm/c29-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-07
@@ -11615,11 +11615,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-07/SA_HPosition
+          attribute: srdiag/bpm/c29-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-07/SA_VPosition
+          attribute: srdiag/bpm/c29-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-08
@@ -11627,11 +11627,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-08/SA_HPosition
+          attribute: srdiag/bpm/c29-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-08/SA_VPosition
+          attribute: srdiag/bpm/c29-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-09
@@ -11639,11 +11639,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-09/SA_HPosition
+          attribute: srdiag/bpm/c29-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-09/SA_VPosition
+          attribute: srdiag/bpm/c29-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C29-10
@@ -11651,11 +11651,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-10/SA_HPosition
+          attribute: srdiag/bpm/c29-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/29-10/SA_VPosition
+          attribute: srdiag/bpm/c29-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-01
@@ -11663,11 +11663,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-01/SA_HPosition
+          attribute: srdiag/bpm/c30-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-01/SA_VPosition
+          attribute: srdiag/bpm/c30-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-02
@@ -11675,11 +11675,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-02/SA_HPosition
+          attribute: srdiag/bpm/c30-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-02/SA_VPosition
+          attribute: srdiag/bpm/c30-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-03
@@ -11687,11 +11687,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-03/SA_HPosition
+          attribute: srdiag/bpm/c30-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-03/SA_VPosition
+          attribute: srdiag/bpm/c30-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-04
@@ -11699,11 +11699,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-04/SA_HPosition
+          attribute: srdiag/bpm/c30-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-04/SA_VPosition
+          attribute: srdiag/bpm/c30-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-05
@@ -11711,11 +11711,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-05/SA_HPosition
+          attribute: srdiag/bpm/c30-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-05/SA_VPosition
+          attribute: srdiag/bpm/c30-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-06
@@ -11723,11 +11723,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-06/SA_HPosition
+          attribute: srdiag/bpm/c30-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-06/SA_VPosition
+          attribute: srdiag/bpm/c30-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-07
@@ -11735,11 +11735,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-07/SA_HPosition
+          attribute: srdiag/bpm/c30-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-07/SA_VPosition
+          attribute: srdiag/bpm/c30-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-08
@@ -11747,11 +11747,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-08/SA_HPosition
+          attribute: srdiag/bpm/c30-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-08/SA_VPosition
+          attribute: srdiag/bpm/c30-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-09
@@ -11759,11 +11759,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-09/SA_HPosition
+          attribute: srdiag/bpm/c30-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-09/SA_VPosition
+          attribute: srdiag/bpm/c30-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C30-10
@@ -11771,11 +11771,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-10/SA_HPosition
+          attribute: srdiag/bpm/c30-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/30-10/SA_VPosition
+          attribute: srdiag/bpm/c30-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-01
@@ -11783,11 +11783,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-01/SA_HPosition
+          attribute: srdiag/bpm/c31-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-01/SA_VPosition
+          attribute: srdiag/bpm/c31-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-02
@@ -11795,11 +11795,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-02/SA_HPosition
+          attribute: srdiag/bpm/c31-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-02/SA_VPosition
+          attribute: srdiag/bpm/c31-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-03
@@ -11807,11 +11807,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-03/SA_HPosition
+          attribute: srdiag/bpm/c31-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-03/SA_VPosition
+          attribute: srdiag/bpm/c31-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-04
@@ -11819,11 +11819,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-04/SA_HPosition
+          attribute: srdiag/bpm/c31-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-04/SA_VPosition
+          attribute: srdiag/bpm/c31-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-05
@@ -11831,11 +11831,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-05/SA_HPosition
+          attribute: srdiag/bpm/c31-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-05/SA_VPosition
+          attribute: srdiag/bpm/c31-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-06
@@ -11843,11 +11843,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-06/SA_HPosition
+          attribute: srdiag/bpm/c31-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-06/SA_VPosition
+          attribute: srdiag/bpm/c31-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-07
@@ -11855,11 +11855,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-07/SA_HPosition
+          attribute: srdiag/bpm/c31-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-07/SA_VPosition
+          attribute: srdiag/bpm/c31-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-08
@@ -11867,11 +11867,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-08/SA_HPosition
+          attribute: srdiag/bpm/c31-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-08/SA_VPosition
+          attribute: srdiag/bpm/c31-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-09
@@ -11879,11 +11879,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-09/SA_HPosition
+          attribute: srdiag/bpm/c31-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-09/SA_VPosition
+          attribute: srdiag/bpm/c31-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C31-10
@@ -11891,11 +11891,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-10/SA_HPosition
+          attribute: srdiag/bpm/c31-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/31-10/SA_VPosition
+          attribute: srdiag/bpm/c31-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-01
@@ -11903,11 +11903,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-01/SA_HPosition
+          attribute: srdiag/bpm/c32-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-01/SA_VPosition
+          attribute: srdiag/bpm/c32-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-02
@@ -11915,11 +11915,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-02/SA_HPosition
+          attribute: srdiag/bpm/c32-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-02/SA_VPosition
+          attribute: srdiag/bpm/c32-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-03
@@ -11927,11 +11927,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-03/SA_HPosition
+          attribute: srdiag/bpm/c32-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-03/SA_VPosition
+          attribute: srdiag/bpm/c32-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-04
@@ -11939,11 +11939,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-04/SA_HPosition
+          attribute: srdiag/bpm/c32-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-04/SA_VPosition
+          attribute: srdiag/bpm/c32-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-05
@@ -11951,11 +11951,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-05/SA_HPosition
+          attribute: srdiag/bpm/c32-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-05/SA_VPosition
+          attribute: srdiag/bpm/c32-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-06
@@ -11963,11 +11963,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-06/SA_HPosition
+          attribute: srdiag/bpm/c32-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-06/SA_VPosition
+          attribute: srdiag/bpm/c32-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-07
@@ -11975,11 +11975,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-07/SA_HPosition
+          attribute: srdiag/bpm/c32-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-07/SA_VPosition
+          attribute: srdiag/bpm/c32-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-08
@@ -11987,11 +11987,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-08/SA_HPosition
+          attribute: srdiag/bpm/c32-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-08/SA_VPosition
+          attribute: srdiag/bpm/c32-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-09
@@ -11999,11 +11999,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-09/SA_HPosition
+          attribute: srdiag/bpm/c32-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-09/SA_VPosition
+          attribute: srdiag/bpm/c32-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C32-10
@@ -12011,11 +12011,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-10/SA_HPosition
+          attribute: srdiag/bpm/c32-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/32-10/SA_VPosition
+          attribute: srdiag/bpm/c32-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-01
@@ -12023,11 +12023,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-01/SA_HPosition
+          attribute: srdiag/bpm/c01-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-01/SA_VPosition
+          attribute: srdiag/bpm/c01-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-02
@@ -12035,11 +12035,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-02/SA_HPosition
+          attribute: srdiag/bpm/c01-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-02/SA_VPosition
+          attribute: srdiag/bpm/c01-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-03
@@ -12047,11 +12047,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-03/SA_HPosition
+          attribute: srdiag/bpm/c01-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-03/SA_VPosition
+          attribute: srdiag/bpm/c01-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-04
@@ -12059,11 +12059,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-04/SA_HPosition
+          attribute: srdiag/bpm/c01-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-04/SA_VPosition
+          attribute: srdiag/bpm/c01-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-05
@@ -12071,11 +12071,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-05/SA_HPosition
+          attribute: srdiag/bpm/c01-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-05/SA_VPosition
+          attribute: srdiag/bpm/c01-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-06
@@ -12083,11 +12083,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-06/SA_HPosition
+          attribute: srdiag/bpm/c01-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-06/SA_VPosition
+          attribute: srdiag/bpm/c01-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-07
@@ -12095,11 +12095,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-07/SA_HPosition
+          attribute: srdiag/bpm/c01-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-07/SA_VPosition
+          attribute: srdiag/bpm/c01-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-08
@@ -12107,11 +12107,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-08/SA_HPosition
+          attribute: srdiag/bpm/c01-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-08/SA_VPosition
+          attribute: srdiag/bpm/c01-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-09
@@ -12119,11 +12119,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-09/SA_HPosition
+          attribute: srdiag/bpm/c01-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-09/SA_VPosition
+          attribute: srdiag/bpm/c01-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C01-10
@@ -12131,11 +12131,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-10/SA_HPosition
+          attribute: srdiag/bpm/c01-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/01-10/SA_VPosition
+          attribute: srdiag/bpm/c01-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-01
@@ -12143,11 +12143,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-01/SA_HPosition
+          attribute: srdiag/bpm/c02-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-01/SA_VPosition
+          attribute: srdiag/bpm/c02-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-02
@@ -12155,11 +12155,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-02/SA_HPosition
+          attribute: srdiag/bpm/c02-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-02/SA_VPosition
+          attribute: srdiag/bpm/c02-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-03
@@ -12167,11 +12167,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-03/SA_HPosition
+          attribute: srdiag/bpm/c02-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-03/SA_VPosition
+          attribute: srdiag/bpm/c02-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-04
@@ -12179,11 +12179,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-04/SA_HPosition
+          attribute: srdiag/bpm/c02-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-04/SA_VPosition
+          attribute: srdiag/bpm/c02-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-05
@@ -12191,11 +12191,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-05/SA_HPosition
+          attribute: srdiag/bpm/c02-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-05/SA_VPosition
+          attribute: srdiag/bpm/c02-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-06
@@ -12203,11 +12203,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-06/SA_HPosition
+          attribute: srdiag/bpm/c02-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-06/SA_VPosition
+          attribute: srdiag/bpm/c02-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-07
@@ -12215,11 +12215,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-07/SA_HPosition
+          attribute: srdiag/bpm/c02-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-07/SA_VPosition
+          attribute: srdiag/bpm/c02-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-08
@@ -12227,11 +12227,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-08/SA_HPosition
+          attribute: srdiag/bpm/c02-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-08/SA_VPosition
+          attribute: srdiag/bpm/c02-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-09
@@ -12239,11 +12239,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-09/SA_HPosition
+          attribute: srdiag/bpm/c02-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-09/SA_VPosition
+          attribute: srdiag/bpm/c02-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C02-10
@@ -12251,11 +12251,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-10/SA_HPosition
+          attribute: srdiag/bpm/c02-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/02-10/SA_VPosition
+          attribute: srdiag/bpm/c02-10/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-01
@@ -12263,11 +12263,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-01/SA_HPosition
+          attribute: srdiag/bpm/c03-01/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-01/SA_VPosition
+          attribute: srdiag/bpm/c03-01/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-02
@@ -12275,11 +12275,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-02/SA_HPosition
+          attribute: srdiag/bpm/c03-02/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-02/SA_VPosition
+          attribute: srdiag/bpm/c03-02/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-03
@@ -12287,11 +12287,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-03/SA_HPosition
+          attribute: srdiag/bpm/c03-03/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-03/SA_VPosition
+          attribute: srdiag/bpm/c03-03/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-04
@@ -12299,11 +12299,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-04/SA_HPosition
+          attribute: srdiag/bpm/c03-04/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-04/SA_VPosition
+          attribute: srdiag/bpm/c03-04/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-05
@@ -12311,11 +12311,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-05/SA_HPosition
+          attribute: srdiag/bpm/c03-05/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-05/SA_VPosition
+          attribute: srdiag/bpm/c03-05/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-06
@@ -12323,11 +12323,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-06/SA_HPosition
+          attribute: srdiag/bpm/c03-06/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-06/SA_VPosition
+          attribute: srdiag/bpm/c03-06/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-07
@@ -12335,11 +12335,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-07/SA_HPosition
+          attribute: srdiag/bpm/c03-07/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-07/SA_VPosition
+          attribute: srdiag/bpm/c03-07/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-08
@@ -12347,11 +12347,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-08/SA_HPosition
+          attribute: srdiag/bpm/c03-08/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-08/SA_VPosition
+          attribute: srdiag/bpm/c03-08/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-09
@@ -12359,11 +12359,11 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-09/SA_HPosition
+          attribute: srdiag/bpm/c03-09/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-09/SA_VPosition
+          attribute: srdiag/bpm/c03-09/SA_VPosition
           unit: m
     - type: pyaml.bpm.bpm
       name: BPM_C03-10
@@ -12371,9 +12371,9 @@ instruments:
         type: pyaml.bpm.bpm_simple_model
         x_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-10/SA_HPosition
+          attribute: srdiag/bpm/c03-10/SA_HPosition
           unit: m
         y_pos:
           type: tango.pyaml.attribute_read_only
-          attribute: srdiag/bpm/03-10/SA_VPosition
+          attribute: srdiag/bpm/c03-10/SA_VPosition
           unit: m

From ce64d90c32a1c23e605e32422eae5d460f19dcb4 Mon Sep 17 00:00:00 2001
From: PONS <pons@esrf.fr>
Date: Mon, 3 Nov 2025 14:39:34 +0100
Subject: [PATCH 5/5] Added tests

---
 pyaml/arrays/bpm_array.py                     |  35 +++---
 pyaml/arrays/magnet_array.py                  |  77 +++++--------
 pyaml/control/abstract_impl.py                | 101 ++++++++++++++---
 pyaml/control/controlsystem.py                |  17 ++-
 pyaml/lattice/simulator.py                    |   8 +-
 tests/config/sr.yaml                          |  42 +++++++-
 tests/config/sr/magnet_models/SH1AC01.yaml    |  21 ++--
 tests/conftest.py                             |   2 +-
 .../tango/pyaml/attribute_read_only.py        |   6 +-
 .../tango/pyaml/multi_attribute.py            |  13 ++-
 tests/test_aggregator.py                      |  23 ----
 tests/test_arrays.py                          | 102 +++++++++++++++++-
 12 files changed, 310 insertions(+), 137 deletions(-)
 delete mode 100644 tests/test_aggregator.py

diff --git a/pyaml/arrays/bpm_array.py b/pyaml/arrays/bpm_array.py
index 54cac1dd6..6abb15528 100644
--- a/pyaml/arrays/bpm_array.py
+++ b/pyaml/arrays/bpm_array.py
@@ -9,14 +9,14 @@ class RWBPMPosition(ReadFloatArray):
     def __init__(self, name:str, bpms:list[BPM]):
         self.__bpms = bpms
         self.__name = name
-        self.aggregator:DeviceAccessList = None
+        self.__aggregator:DeviceAccessList = None
 
     # Gets the values
     def get(self) -> np.array:
-        if not self.aggregator:
+        if not self.__aggregator:
             return np.array([b.positions.get() for b in self.__bpms])
         else:  
-            return self.aggregator.get().reshape(len(self.__bpms),2)
+            return self.__aggregator.get().reshape(len(self.__bpms),2)
 
     # Gets the unit of the values
     def unit(self) -> list[str]:
@@ -24,7 +24,7 @@ def unit(self) -> list[str]:
 
     # Set the aggregator (Control system only)
     def set_aggregator(self,agg:DeviceAccessList):
-        self.aggregator = agg
+        self.__aggregator = agg
 
 
 class RWBPMSinglePosition(ReadFloatArray):
@@ -33,14 +33,14 @@ def __init__(self, name:str, bpms:list[BPM],idx: int):
         self.__bpms = bpms
         self.__name = name
         self.__idx = idx
-        self.aggregator:DeviceAccessList = None
+        self.__aggregator:DeviceAccessList = None
 
     # Gets the values
     def get(self) -> np.array:
-        if not self.aggregator:
+        if not self.__aggregator:
             return np.array([b.positions.get()[self.__idx] for b in self.__bpms])
         else:
-            return self.aggregator.get()
+            return self.__aggregator.get()
 
     # Gets the unit of the values
     def unit(self) -> list[str]:
@@ -48,7 +48,7 @@ def unit(self) -> list[str]:
 
     # Set the aggregator (Control system only)
     def set_aggregator(self,agg:DeviceAccessList):
-        self.aggregator = agg
+        self.__aggregator = agg
 
 
 
@@ -57,7 +57,7 @@ class BPMArray(list[BPM]):
     Class that implements access to a BPM array
     """
 
-    def __init__(self,arrayName:str,bpms:list[BPM],holder):
+    def __init__(self,arrayName:str,bpms:list[BPM],holder = None):
         """
         Construct a BPM array
 
@@ -68,7 +68,7 @@ def __init__(self,arrayName:str,bpms:list[BPM],holder):
         bpms: list[BPM]
             BPM iterator
         holder : Element holder
-            Holder that contains element of this array (Simulator or Control System)
+            Holder (Simulator or Control System) that contains element of this array used for aggregator
         """
         super().__init__(i for i in bpms)
         self.__name = arrayName
@@ -76,26 +76,27 @@ def __init__(self,arrayName:str,bpms:list[BPM],holder):
         self.__hpos = RWBPMSinglePosition(arrayName,bpms,0)
         self.__vpos = RWBPMSinglePosition(arrayName,bpms,1)
 
-        aggs = holder.create_bpm_aggregators(bpms)
-        self.__hvpos.set_aggregator(aggs[0])
-        self.__hpos.set_aggregator(aggs[1])
-        self.__vpos.set_aggregator(aggs[2])
+        if holder is not None:    
+            aggs = holder.create_bpm_aggregators(bpms)
+            self.__hvpos.set_aggregator(aggs[0])
+            self.__hpos.set_aggregator(aggs[1])
+            self.__vpos.set_aggregator(aggs[2])
 
-    @property   
+    @property
     def positions(self) -> RWBPMPosition:
         """
         Give access to bpm posttions of each bpm of this array
         """
         return self.__hvpos
 
-    @property   
+    @property
     def h(self) -> RWBPMSinglePosition:
         """
         Give access to bpm H posttions of each bpm of this array
         """
         return self.__hpos
 
-    @property   
+    @property
     def v(self) -> RWBPMSinglePosition:
         """
         Give access to bpm V posttions of each bpm of this array
diff --git a/pyaml/arrays/magnet_array.py b/pyaml/arrays/magnet_array.py
index 09d0ccf75..e70a93cd6 100644
--- a/pyaml/arrays/magnet_array.py
+++ b/pyaml/arrays/magnet_array.py
@@ -7,48 +7,26 @@
 class RWMagnetStrength(ReadWriteFloatArray):
 
     def __init__(self, name:str, magnets:list[Magnet]):
-        self.__magnets = magnets
         self.__name = name
-        self.aggregator:ScalarAggregator = None
+        self.__magnets = magnets
+        self.__nb = len(self.__magnets)
+        self.__aggregator:ScalarAggregator = None
 
     # Gets the values
     def get(self) -> np.array:
-        if not self.aggregator:
+        if not self.__aggregator:
             return np.array([m.strength.get() for m in self.__magnets])
         else:
-            allHardwareValues = self.aggregator.get() # Read all hardware setpoints
-            allStrength = np.zeros(len(self.__magnets))
-            mIdx = 0
-            idx = 0
-            for m in self.__magnets:
-                nbDev = len(m.model.get_devices())
-                allStrength[mIdx] = m.model.compute_strengths(allHardwareValues[idx:idx+nbDev])[m.strength.index()]
-                mIdx += 1
-                idx += nbDev
-            return allStrength
+            return self.__aggregator.get()
 
     # Sets the values
     def set(self, value:np.array):
-        if not self.aggregator:
+        nvalue = np.ones(self.__nb) * value if isinstance(value,float) else value        
+        if not self.__aggregator:
             for idx,m in enumerate(self.__magnets):
-                m.strength.set(value[idx])
+                m.strength.set(nvalue[idx])
         else:
-            # TODO: if the array does not contains mappings to combined function 
-            # magnets, the algorithm below can be optimized
-            allHardwareValues = self.aggregator.get() # Read all hardware setpoints
-            newHardwareValues = np.zeros(len(self.aggregator))
-            mIdx = 0
-            idx = 0
-            for m in self.__magnets:
-                # m is a single function magnet or a mapping to a 
-                # combined function magnet (RWMapper)
-                nbDev = len(m.model.get_devices())
-                mStrengths = m.model.compute_strengths( allHardwareValues[idx:idx+nbDev] )
-                mStrengths[m.strength.index()] = value[mIdx]
-                newHardwareValues[idx:idx+nbDev] = m.model.compute_hardware_values(mStrengths)
-                mIdx += 1
-                idx += nbDev
-            self.aggregator.set(newHardwareValues)
+            self.__aggregator.set(nvalue)
         
     # Sets the values and waits that the read values reach their setpoint
     def set_and_wait(self, value:np.array):
@@ -60,36 +38,31 @@ def unit(self) -> list[str]:
 
     # Set the aggregator (Control system only)
     def set_aggregator(self,agg:ScalarAggregator):
-        self.aggregator = agg
+        self.__aggregator = agg
 
 class RWMagnetHardware(ReadWriteFloatArray):
 
     def __init__(self, name:str, magnets:list[Magnet]):
         self.__name = name
         self.__magnets = magnets
-        self.aggregator:ScalarAggregator = None
-        self.hasHardwareMapping = True
+        self.__nb = len(self.__magnets)
+        self.__aggregator:ScalarAggregator = None
 
     # Gets the values
     def get(self) -> np.array:
-        if not self.aggregator:
+        if not self.__aggregator:
             return np.array([m.hardware.get() for m in self.__magnets])
         else:
-            if not self.hasHardwareMapping:
-                raise Exception(f"Array {self.__name} contains elements that that do not support hardware units")
-            else:
-                return self.aggregator.get()
+            return self.__aggregator.get()
 
     # Sets the values
     def set(self, value:np.array):
-        if not self.aggregator:
+        nvalue = np.ones(self.__nb) * value if isinstance(value,float) else value        
+        if not self.__aggregator:
             for idx,m in enumerate(self.__magnets):
                 m.hardware.set(value[idx])
         else:
-            if not self.hasHardwareMapping:
-                raise Exception(f"Array {self.__name} contains elements that that do not support hardware units")
-            else:
-                self.aggregator.set(value)
+            self.__aggregator.set(value)
         
     # Sets the values and waits that the read values reach their setpoint
     def set_and_wait(self, value:np.array):
@@ -101,16 +74,14 @@ def unit(self) -> list[str]:
 
     # Set the aggregator
     def set_aggregator(self,agg:ScalarAggregator):
-        self.aggregator = agg
-        for m in self.__magnets:
-            self.hasHardwareMapping |= m.model.has_hardware()
+        self.__aggregator = agg
 
 class MagnetArray(list[Magnet]):
     """
     Class that implements access to a magnet array
     """
 
-    def __init__(self,arrayName:str,magnets:list[Magnet],holder):
+    def __init__(self,arrayName:str,magnets:list[Magnet],holder = None):
         """
         Construct a magnet array
 
@@ -121,16 +92,18 @@ def __init__(self,arrayName:str,magnets:list[Magnet],holder):
         magnets: list[Magnet]
             Magnet iterator
         holder : Element holder
-            Holder that contains element of this array (Simulator or Control System)
+            Holder (Simulator or Control System) that contains element of this array used for aggregator
         """
         super().__init__(i for i in magnets)
         self.__name = arrayName
         self.__rwstrengths = RWMagnetStrength(arrayName,magnets)
         self.__rwhardwares = RWMagnetHardware(arrayName,magnets)
 
-        agg = holder.create_magnet_aggregator(magnets)
-        self.__rwstrengths.set_aggregator(agg)
-        self.__rwhardwares.set_aggregator(agg)
+        if holder is not None:
+            aggs = holder.create_magnet_strength_aggregator(magnets)
+            aggh = holder.create_magnet_harddware_aggregator(magnets)
+            self.__rwstrengths.set_aggregator(aggs)
+            self.__rwhardwares.set_aggregator(aggh)
 
     @property        
     def strengths(self) -> RWMagnetStrength:
diff --git a/pyaml/control/abstract_impl.py b/pyaml/control/abstract_impl.py
index 8e55cc77f..05e9de892 100644
--- a/pyaml/control/abstract_impl.py
+++ b/pyaml/control/abstract_impl.py
@@ -2,6 +2,7 @@
 from ..control.deviceaccesslist import DeviceAccessList
 from ..control.deviceaccess import DeviceAccess
 from ..magnet.model import MagnetModel
+from ..magnet.magnet import Magnet
 from ..bpm.bpm_model import BPMModel
 from ..rf.rf_plant import RFPlant
 from ..rf.rf_transmitter import RFTransmitter
@@ -15,29 +16,107 @@
 
 class CSScalarAggregator(ScalarAggregator):
     """
-    Control system aggregator for a scalar value
+    Basic control system aggregator for a list of scalar values
     """
 
     def __init__(self, devs:DeviceAccessList):
-        self.__devs = devs
+        self._devs = devs
 
     def add_devices(self, devices:DeviceAccess | list[DeviceAccess] ):
-        self.__devs.add_devices(devices)
+        self._devs.add_devices(devices)
 
     def set(self, value: NDArray[np.float64]):
-        self.__devs.set(value)
+        self._devs.set(value)
 
     def set_and_wait(self, value: NDArray[np.float64]):
-        self.__devs.set_and_wait(value)
+        self._devs.set_and_wait(value)
 
     def get(self) -> NDArray[np.float64]:
-        return self.__devs.get()
+        return self._devs.get()
 
     def readback(self) -> np.array:
-        return self.__devs.readback()
+        return self._devs.readback()
 
     def unit(self) -> str:
-        return self.__devs.unit()
+        return self._devs.unit()
+    
+    def nb_device(self) -> int:
+        return self._devs.__len__()
+
+#------------------------------------------------------------------------------
+
+class CSStrengthScalarAggregator(CSScalarAggregator):
+    """
+    Control system aggregator for a list of magnet strengths.
+    This aggregator is in charge of computing hardware setpoints and applying them without overlap.
+    When virtual magnets exported from combined function mangets are present (RWMapper), 
+    the aggregator prevents to apply several times the same power supply setpoint.
+    """
+
+    def __init__(self, peer:CSScalarAggregator):
+        CSScalarAggregator.__init__(self,peer._devs)
+        self.__models: list[MagnetModel] = []                   # List of magnet model
+        self.__modelToMagnet: list[list[tuple[int,int]]] = []   # strengths indexing
+        self.__nbMagnet = 0                                     # Number of magnet strengths
+
+    def add_magnet(self, magnet:Magnet):
+        # Incoming magnet can be a magnet exported from a CombinedFunctionMagnet or simple magnet.
+        # All magnets exported from a same CombinedFunctionMagnet share the same model
+        # TODO: check that strength is supported (m.strength may be None)
+        strengthIndex = magnet.strength.index() if isinstance(magnet.strength,abstract.RWMapper) else 0
+        if magnet.model not in self.__models:
+            index = len(self.__models)
+            self.__models.append(magnet.model)
+            self.__modelToMagnet.append([(self.__nbMagnet,strengthIndex)])
+            self._devs.add_devices(magnet.model.get_devices())
+        else:
+            index = self.__models.index(magnet.model)
+            self.__modelToMagnet[index].append((self.__nbMagnet,strengthIndex))
+        self.__nbMagnet += 1
+
+    def set(self, value: NDArray[np.float64]):
+        allHardwareValues = self._devs.get() # Read all hardware setpoints
+        newHardwareValues = np.zeros(self.nb_device())
+        hardwareIndex = 0
+        for modelIndex,model in enumerate(self.__models):
+            nbDev = len(model.get_devices())
+            mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] )
+            for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]:
+                mStrengths[strengthIdx] = value[valueIdx]
+            newHardwareValues[hardwareIndex:hardwareIndex+nbDev] = model.compute_hardware_values(mStrengths)
+            hardwareIndex += nbDev
+        self._devs.set(newHardwareValues)
+
+    def set_and_wait(self, value: NDArray[np.float64]):
+        raise NotImplementedError("Not implemented yet.")
+
+    def get(self) -> NDArray[np.float64]:
+        allHardwareValues = self._devs.get() # Read all hardware setpoints
+        allStrength = np.zeros(self.__nbMagnet)
+        hardwareIndex = 0
+        for modelIndex,model in enumerate(self.__models):
+            nbDev = len(model.get_devices())
+            mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] )
+            for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]:
+                allStrength[valueIdx] = mStrengths[strengthIdx]
+            hardwareIndex += nbDev
+        return allStrength
+
+    def readback(self) -> np.array:
+        allHardwareValues = self._devs.readback() # Read all hardware readback
+        allStrength = np.zeros(self.__nbMagnet)
+        hardwareIndex = 0
+        for modelIndex,model in enumerate(self.__models):
+            nbDev = len(model.get_devices())
+            mStrengths = model.compute_strengths( allHardwareValues[hardwareIndex:hardwareIndex+nbDev] )
+            for (valueIdx,strengthIdx) in self.__modelToMagnet[modelIndex]:
+                allStrength[valueIdx] = mStrengths[strengthIdx]
+            hardwareIndex += nbDev
+        return allStrength
+
+    def unit(self) -> str:
+        return self._devs.unit()
+
 
 #------------------------------------------------------------------------------
 
@@ -61,9 +140,6 @@ def set_and_wait(self, value: double):
     def unit(self) -> str:
         return self.__model.get_hardware_units()[0]
 
-    def index(self) -> int:
-        return 0
-
 #------------------------------------------------------------------------------
 
 class RWStrengthScalar(abstract.ReadWriteFloatScalar):
@@ -92,9 +168,6 @@ def set_and_wait(self, value:float):
     def unit(self) -> str:
         return self.__model.get_strength_units()[0]
 
-    def index(self) -> int:
-        return 0
-
 #------------------------------------------------------------------------------
 
 class RWHardwareArray(abstract.ReadWriteFloatArray):
diff --git a/pyaml/control/controlsystem.py b/pyaml/control/controlsystem.py
index 995120292..7d02fce27 100644
--- a/pyaml/control/controlsystem.py
+++ b/pyaml/control/controlsystem.py
@@ -1,11 +1,12 @@
 from abc import ABCMeta, abstractmethod
 from ..common.element_holder import ElementHolder
+from ..common.abstract import RWMapper
 from ..lattice.element import Element
 from ..control.abstract_impl import RWHardwareScalar,RWHardwareArray,RWStrengthScalar,RWStrengthArray
 from ..bpm.bpm import BPM
 from ..control.abstract_impl import RWBpmTiltScalar,RWBpmOffsetArray, RBpmArray
 from ..control.abstract_impl import RWRFFrequencyScalar,RWRFVoltageScalar,RWRFPhaseScalar
-from ..control.abstract_impl import CSScalarAggregator
+from ..control.abstract_impl import CSScalarAggregator,CSStrengthScalarAggregator
 from ..common.abstract_aggregator import ScalarAggregator
 from ..magnet.magnet import Magnet
 from ..magnet.cfm_magnet import CombinedFunctionMagnet
@@ -46,10 +47,20 @@ def create_scalar_aggregator(self) -> ScalarAggregator:
         agg = Factory.build_object({"type":mod}) if mod is not None else None
         return CSScalarAggregator(agg)
     
-    def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+    def create_magnet_strength_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+        agg = CSStrengthScalarAggregator(self.create_scalar_aggregator())
+        for m in magnets:
+            agg.add_magnet(m)
+        return agg
+
+    def create_magnet_harddware_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+        # When working in hardware space, 1 single power supply device per multipolar strength is required
         agg = self.create_scalar_aggregator()
         for m in magnets:
-            agg.add_devices(m.model.get_devices())
+            if not m.model.has_hardware():
+               return None
+            psIndex = m.hardware.index() if isinstance(m.hardware,RWMapper) else 0
+            agg.add_devices(m.model.get_devices()[psIndex])
         return agg
     
     def create_bpm_aggregators(self,bpms:list[BPM]) -> list[ScalarAggregator]:
diff --git a/pyaml/lattice/simulator.py b/pyaml/lattice/simulator.py
index ddbdc66b2..998d0612b 100644
--- a/pyaml/lattice/simulator.py
+++ b/pyaml/lattice/simulator.py
@@ -64,8 +64,12 @@ def set_energy(self,E:float):
       # For current calculation
       for m in self.get_all_magnets().items():
         m[1].set_energy(E)
-
-    def create_magnet_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+ 
+    def create_magnet_strength_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
+        # No magnet aggregator for simulator
+        return None
+ 
+    def create_magnet_harddware_aggregator(self,magnets:list[Magnet]) -> ScalarAggregator:
         # No magnet aggregator for simulator
         return None
 
diff --git a/tests/config/sr.yaml b/tests/config/sr.yaml
index 001c87c23..8267dc37e 100644
--- a/tests/config/sr.yaml
+++ b/tests/config/sr.yaml
@@ -7,6 +7,10 @@ instruments:
       - type: pyaml.lattice.simulator
         lattice: sr/lattices/ebs.mat
         name: design
+    controls:
+      - type: tango.pyaml.controlsystem
+        tango_host: ebs-simu-3:10000
+        name: live
     data_folder: /data/store
     arrays:
       - type: pyaml.arrays.magnet
@@ -19,7 +23,43 @@ instruments:
         elements:
           - SH1A-C01-V
           - SH1A-C02-V
+      - type: pyaml.arrays.magnet
+        name: HVCORR
+        elements:
+          - SH1A-C01-H
+          - SH1A-C02-H
+          - SH1A-C01-V
+          - SH1A-C02-V
+      - type: pyaml.arrays.bpm
+        name: BPMS
+        elements:
+          - BPM_C04-01
+          - BPM_C04-02
     devices:
       - sr/quadrupoles/QF1AC01.yaml
       - sr/correctors/SH1AC01.yaml
-      - sr/correctors/SH1AC02.yaml
\ No newline at end of file
+      - sr/correctors/SH1AC02.yaml
+      - type: pyaml.bpm.bpm
+        name: BPM_C04-01
+        model:
+          type: pyaml.bpm.bpm_simple_model
+          x_pos:
+            type: tango.pyaml.attribute_read_only
+            attribute: srdiag/bpm/c04-01/SA_HPosition
+            unit: m
+          y_pos:
+            type: tango.pyaml.attribute_read_only
+            attribute: srdiag/bpm/c04-01/SA_VPosition
+            unit: m
+      - type: pyaml.bpm.bpm
+        name: BPM_C04-02
+        model:
+          type: pyaml.bpm.bpm_simple_model
+          x_pos:
+            type: tango.pyaml.attribute_read_only
+            attribute: srdiag/bpm/c04-02/SA_HPosition
+            unit: m
+          y_pos:
+            type: tango.pyaml.attribute_read_only
+            attribute: srdiag/bpm/c04-02/SA_VPosition
+            unit: m
diff --git a/tests/config/sr/magnet_models/SH1AC01.yaml b/tests/config/sr/magnet_models/SH1AC01.yaml
index c4b7af92b..51094ab8f 100644
--- a/tests/config/sr/magnet_models/SH1AC01.yaml
+++ b/tests/config/sr/magnet_models/SH1AC01.yaml
@@ -13,21 +13,12 @@
     type: pyaml.configuration.csvmatrix
     file: sr/magnet_models/SH_matrix.csv
   powerconverters:
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c01-a-ch1/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c01-a-ch1/current
-      readback: srmag/ps-corr-sh1/c01-a-ch1/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c01-a-ch1/current
       unit: A
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c01-a-ch2/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c01-a-ch2/current
-      readback: srmag/ps-corr-sh1/c01-a-ch2/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c01-a-ch2/current
       unit: A
-#    - type: tango.pyaml.attribute
-#     attribute:  srmag/ps-corr-sh1/c01-a-ch3/current
-    - type: pyaml.control.device
-      setpoint: srmag/ps-corr-sh1/c01-a-ch3/current
-      readback: srmag/ps-corr-sh1/c01-a-ch3/current
+    - type: tango.pyaml.attribute
+      attribute:  srmag/ps-corr-sh1/c01-a-ch3/current
       unit: A
\ No newline at end of file
diff --git a/tests/conftest.py b/tests/conftest.py
index d1d378ed3..1b88bff72 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -62,7 +62,7 @@ def test_x(install_test_package):
     # Remove from sys.modules to avoid caching issues
     sys.modules.pop(package_name, None)
 
-    yield None
+    yield package_name
 
     # Uninstall package
     subprocess.call([
diff --git a/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py
index cce5bcff1..fcf3253f8 100644
--- a/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py
+++ b/tests/dummy_cs/tango-pyaml/tango/pyaml/attribute_read_only.py
@@ -1,5 +1,5 @@
 from pydantic import BaseModel,ConfigDict
-from pyaml.control.deviceaccess import DeviceAccess
+from .attribute import Attribute
 from pyaml.control.readback_value import Value
 
 PYAMLCLASS : str = "AttributeReadOnly"
@@ -11,13 +11,13 @@ class ConfigModel(BaseModel):
     attribute: str
     unit: str = ""
 
-class AttributeReadOnly(DeviceAccess):
+class AttributeReadOnly(Attribute):
     """
     Class that implements a default device class that just prints out 
     values (Debugging purpose)
     """
     def __init__(self, cfg: ConfigModel):
-        super().__init__()
+        super().__init__(cfg)
         self._cfg = cfg
         self._setpoint = cfg.attribute
         self._readback = cfg.attribute
diff --git a/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py
index d2e1310b5..263c1d3dc 100644
--- a/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py
+++ b/tests/dummy_cs/tango-pyaml/tango/pyaml/multi_attribute.py
@@ -10,6 +10,7 @@
 
 PYAMLCLASS : str = "MultiAttribute"
 
+LAST_NB_WRITTEN = 0
 
 class ConfigModel(BaseModel):
     """
@@ -38,12 +39,13 @@ def __init__(self, cfg:ConfigModel=None):
 
     def add_devices(self, devices: DeviceAccess | list[DeviceAccess]):
         if isinstance(devices, list):
-            if any([not isinstance(device, Attribute) for device in devices]):
-                raise pyaml.PyAMLException("All devices must be instances of Attribute (tango.pyaml.attribute).")
+            for device in devices:
+                if not isinstance(device, Attribute):
+                    raise pyaml.PyAMLException(f"All devices must be instances of Attribute (tango.pyaml.attribute) but got ({device.__class__.__name__})")
             super().extend(devices)
         else:
             if not isinstance(devices, Attribute):
-                raise pyaml.PyAMLException("Device must be an instance of Attribute (tango.pyaml.attribute).")
+                raise pyaml.PyAMLException(f"Device must be an instance of Attribute (tango.pyaml.attribute) but got ({devices.__class__.__name__})")
             super().append(devices)
 
     def get_devices(self) -> DeviceAccess | list[DeviceAccess]:
@@ -54,6 +56,8 @@ def get_devices(self) -> DeviceAccess | list[DeviceAccess]:
 
     def set(self, value: npt.NDArray[np.float64]):
         print(f"MultiAttribute.set({len(value)} values)")
+        global LAST_NB_WRITTEN
+        LAST_NB_WRITTEN += len(value)
         for idx,a in enumerate(self):
             a.set(value[idx])
 
@@ -69,3 +73,6 @@ def readback(self) -> np.array:
 
     def unit(self) -> list[str]:
         return [a.unit() for a in self]
+    
+    def get_last_nb_written(self) -> int:
+        return self.__last_nb_written
diff --git a/tests/test_aggregator.py b/tests/test_aggregator.py
deleted file mode 100644
index c961aadfd..000000000
--- a/tests/test_aggregator.py
+++ /dev/null
@@ -1,23 +0,0 @@
-from pyaml.pyaml import pyaml,PyAML
-from pyaml.instrument import Instrument
-from pyaml.configuration.factory import Factory
-import numpy as np
-import pytest
-
-@pytest.mark.parametrize("install_test_package", [{
-    "name": "tango-pyaml",
-    "path": "tests/dummy_cs/tango-pyaml"
-}], indirect=True)
-def test_tune(install_test_package,capfd):
-
-    ml:PyAML = pyaml("tests/config/EBSTune.yaml")
-    sr:Instrument = ml.get('sr')
-
-    quadForTuneLive = sr.live.get_magnets("QForTune")
-    quadForTuneLive.strengths.set(np.zeros(len(quadForTuneLive)))
-    strs = quadForTuneLive.strengths.get()
-    out, err = capfd.readouterr()
-    assert( "MultiAttribute.set(124 values)" in out )
-    assert( "MultiAttribute.get(124 values)" in out )
-
-    Factory.clear()
diff --git a/tests/test_arrays.py b/tests/test_arrays.py
index 7253a20b9..a79f539c9 100644
--- a/tests/test_arrays.py
+++ b/tests/test_arrays.py
@@ -1,14 +1,25 @@
 from pyaml.pyaml import pyaml,PyAML
 from pyaml.configuration.factory import Factory
 from pyaml.instrument import Instrument
-from pyaml.magnet.model import MagnetModel
+from pyaml.arrays.magnet_array import MagnetArray
+from pyaml.arrays.bpm_array import BPMArray
+import importlib
+
 import numpy as np
+import pytest
 
-def test_arrays():
+@pytest.mark.parametrize("install_test_package", [{
+    "name": "tango-pyaml",
+    "path": "tests/dummy_cs/tango-pyaml"
+}], indirect=True)
+def test_arrays(install_test_package):
 
     ml:PyAML = pyaml("tests/config/sr.yaml")
     sr:Instrument = ml.get('sr')
     sr.design.get_lattice().disable_6d()
+
+    # Test on model
+
     sr.design.get_magnet("SH1A-C01-H").strength.set(0.000010)
     sr.design.get_magnet("SH1A-C01-V").strength.set(0.000015)
 
@@ -36,4 +47,89 @@ def test_arrays():
     assert(np.abs(o[2] - 3.62843295e-05)<1e-10)
     assert(np.abs(o[3] + 6.06571010e-06)<1e-10)
 
-    Factory.clear()
\ No newline at end of file
+    # Test on control system
+
+    # Assert that the virtual magnet share the same model
+    assert( sr.live.get_magnet("SH1A-C01-H").model == sr.live.get_magnet("SH1A-C01-V").model )
+    assert( sr.live.get_magnet("SH1A-C02-H").model == sr.live.get_magnet("SH1A-C02-V").model )
+
+    # Using aggregators
+    sr.live.get_magnets("HCORR").strengths.set([0.000010,-0.000008])    
+    ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values()
+    ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values()
+    assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10)
+    assert(np.abs(ps1[1] - 0)<1e-10)
+    assert(np.abs(ps1[2] - 0)<1e-10)
+    assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10)
+    assert(np.abs(ps2[1] - 0)<1e-10)
+    assert(np.abs(ps2[2] - 0)<1e-10)
+    sr.live.get_magnets("VCORR").strengths.set([0.000015,-0.000017])
+    ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values()
+    ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values()
+    assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10)
+    assert(np.abs(ps1[1] + 0.058240333933172066)<1e-10)
+    assert(np.abs(ps1[2] - 0.05601656539392866)<1e-10)
+    assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10)
+    assert(np.abs(ps2[1] - 0.06600571179092833)<1e-10)
+    assert(np.abs(ps2[2] + 0.0634854407797858)<1e-10)
+
+    strHV = sr.live.get_magnets("HVCORR").strengths.get()
+    assert(np.abs(strHV[0] - 0.000010)<1e-10)
+    assert(np.abs(strHV[1] + 0.000008)<1e-10)
+    assert(np.abs(strHV[2] - 0.000015)<1e-10)
+    assert(np.abs(strHV[3] + 0.000017)<1e-10)
+
+    # Reset to 0
+    ma = importlib.import_module("tango.pyaml.multi_attribute")
+    ma.LAST_NB_WRITTEN = 0 # Total number of setpoints done by multi_attribute
+    sr.live.get_magnets("HVCORR").strengths.set(0.)
+    assert(ma.LAST_NB_WRITTEN == 6) # 6 power supply setpoints are needed
+    ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values()
+    ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values()
+    assert(np.abs(ps1[0])<1e-10)
+    assert(np.abs(ps1[1])<1e-10)
+    assert(np.abs(ps1[2])<1e-10)
+    assert(np.abs(ps2[0])<1e-10)
+    assert(np.abs(ps2[1])<1e-10)
+    assert(np.abs(ps2[2])<1e-10)
+
+    # Check that the behavior is the same without aggregator
+    mags = []
+    for m in  sr.live.get_magnets("HVCORR"):
+        mags.append(m)
+    array = MagnetArray("HVCOOR_noagg",mags) # holder = None, no aggregator
+    array.strengths.set([0.000010,-0.000008,0.000015,-0.000017])
+    ps1 = sr.live.get_magnet("SH1A-C01-H").model.read_hardware_values()
+    ps2 = sr.live.get_magnet("SH1A-C02-H").model.read_hardware_values()
+    assert(np.abs(ps1[0] - 0.02956737880874648)<1e-10)
+    assert(np.abs(ps1[1] + 0.058240333933172066)<1e-10)
+    assert(np.abs(ps1[2] - 0.05601656539392866)<1e-10)
+    assert(np.abs(ps2[0] + 0.02365390304699716)<1e-10)
+    assert(np.abs(ps2[1] - 0.06600571179092833)<1e-10)
+    assert(np.abs(ps2[2] + 0.0634854407797858)<1e-10)
+
+
+    # Test BPMs array
+
+    # Using aggragtor
+    pos = sr.design.get_bpms("BPMS").positions.get()
+    assert(np.abs(pos[0][0] + 7.21154171490481e-05)<1e-10)
+    assert(np.abs(pos[0][1] - 3.3988843436571406e-05)<1e-10)
+    assert(np.abs(pos[1][0] - 1.1681211772781844e-04)<1e-10)
+    assert(np.abs(pos[1][1] - 7.072972488250373e-06)<1e-10)
+
+    # No aggregator
+    bpms = []
+    for b in sr.design.get_bpms("BPMS"):
+        bpms.append(b)
+
+    bpms = BPMArray("BPM_noagg",bpms) # holder = None, no aggregator
+    pos = bpms.positions.get()
+    assert(np.abs(pos[0][0] + 7.21154171490481e-05)<1e-10)
+    assert(np.abs(pos[0][1] - 3.3988843436571406e-05)<1e-10)
+    assert(np.abs(pos[1][0] - 1.1681211772781844e-04)<1e-10)
+    assert(np.abs(pos[1][1] - 7.072972488250373e-06)<1e-10)
+
+    Factory.clear()
+
+
