From 57a5e9732b249761cf006b7ed3ba7348eea43471 Mon Sep 17 00:00:00 2001 From: JennyLescop Date: Thu, 6 Feb 2025 15:57:20 +0100 Subject: [PATCH] fix integrate tilt data into conversion add some tests Signed-off-by: JennyLescop Change-Id: I4bb9a16b5db7890247568cce9d4b4f81ad2f7d34 --- gnpy/core/elements.py | 15 ++++- gnpy/tools/convert.py | 4 +- tests/data/testTopology.xls | Bin 17408 -> 30720 bytes .../testTopology_auto_design_expected.json | 56 +++++++++--------- tests/data/testTopology_expected.json | 2 +- 5 files changed, 44 insertions(+), 33 deletions(-) diff --git a/gnpy/core/elements.py b/gnpy/core/elements.py index 92191179..a890cb2e 100644 --- a/gnpy/core/elements.py +++ b/gnpy/core/elements.py @@ -950,6 +950,16 @@ class Edfa(_Node): @property def to_json(self): + """Converts the Edfa's state to a JSON-compatible dictionary. + Adapts the json export: scalar or vector. + + :return Dict[str, Any]: JSON representation of the Edfa. + """ + # keep None value for tilt_target and avoid exporting -0.0 values + tilt_target = None + if self.tilt_target is not None: + tilt_target = 0 if self.tilt_target == -0.0 else self.tilt_target + _to_json = { 'uid': self.uid, 'type': type(self).__name__, @@ -957,7 +967,7 @@ class Edfa(_Node): 'operational': { 'gain_target': round(self.effective_gain, 6) if self.effective_gain else None, 'delta_p': self.delta_p, - 'tilt_target': round(self.tilt_target, 5) if self.tilt_target is not None else None, + 'tilt_target': round(tilt_target, 5) if tilt_target is not None else None, # defined per lambda on the amp band 'out_voa': self.out_voa }, @@ -988,7 +998,8 @@ class Edfa(_Node): f' type_variety: {self.params.type_variety}', f' effective gain(dB): {self.effective_gain:.2f}', ' (before att_in and before output VOA)', - f' tilt-target(dB) {self.tilt_target if self.tilt_target else 0:.2f}', + # tilt_target is per lambda on the amp band + f' tilt-target(dB) {self.tilt_target if self.tilt_target not in [None, -0.0] else 0:.2f}', # avoids -0.00 value for tilt_target f' noise figure (dB): {nf:.2f}', f' (including att_in)', diff --git a/gnpy/tools/convert.py b/gnpy/tools/convert.py index 6b0e7070..ae171d89 100755 --- a/gnpy/tools/convert.py +++ b/gnpy/tools/convert.py @@ -667,14 +667,14 @@ def parse_excel(input_filename: Path) -> Tuple[List[Node], List[Link], List[Eqpt 'amp type': 'east_amp_type', 'amp gain': 'east_amp_gain', 'delta p': 'east_amp_dp', - 'tilt': 'east_tilt', + 'tilt': 'east_tilt_vs_wavelength', 'att_out': 'east_att_out' }, 'west': { 'amp type': 'west_amp_type', 'amp gain': 'west_amp_gain', 'delta p': 'west_amp_dp', - 'tilt': 'west_tilt', + 'tilt': 'west_tilt_vs_wavelength', 'att_out': 'west_att_out' } } diff --git a/tests/data/testTopology.xls b/tests/data/testTopology.xls index 05024d38e2d014d9bce4c7ce49e4bf2bce0ae083..8a30e33193409d2126857c56ee1f3834981e3f9f 100644 GIT binary patch literal 30720 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 diff --git a/tests/data/testTopology_auto_design_expected.json b/tests/data/testTopology_auto_design_expected.json index daca6b82..0689e3bf 100644 --- a/tests/data/testTopology_auto_design_expected.json +++ b/tests/data/testTopology_auto_design_expected.json @@ -1472,7 +1472,7 @@ "type": "Edfa", "type_variety": "std_low_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1493,7 +1493,7 @@ "operational": { "gain_target": 18.0, "delta_p": null, - "tilt_target": 0, + "tilt_target": -1.0, "out_voa": 0.5 }, "metadata": { @@ -1510,7 +1510,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1529,7 +1529,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1548,7 +1548,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1567,7 +1567,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1586,7 +1586,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1624,7 +1624,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1643,7 +1643,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1662,7 +1662,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1681,7 +1681,7 @@ "type": "Edfa", "type_variety": "std_low_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1738,7 +1738,7 @@ "type": "Edfa", "type_variety": "std_booster", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1757,7 +1757,7 @@ "type": "Edfa", "type_variety": "std_booster", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1776,7 +1776,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1795,7 +1795,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1814,7 +1814,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1848,7 +1848,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1867,7 +1867,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1886,7 +1886,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1905,7 +1905,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1924,7 +1924,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1943,7 +1943,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1962,7 +1962,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -1981,7 +1981,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -2000,7 +2000,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -2019,7 +2019,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -2038,7 +2038,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 @@ -2057,7 +2057,7 @@ "type": "Edfa", "type_variety": "test_fixed_gain", "operational": { - "gain_target": 20, + "gain_target": 20.0, "delta_p": null, "tilt_target": 0, "out_voa": 0 diff --git a/tests/data/testTopology_expected.json b/tests/data/testTopology_expected.json index 5a740c8f..727bf277 100644 --- a/tests/data/testTopology_expected.json +++ b/tests/data/testTopology_expected.json @@ -1209,7 +1209,7 @@ "operational": { "gain_target": 18.0, "delta_p": null, - "tilt_target": null, + "tilt_target": -1.0, "out_voa": 0.5 } },