EstherLerouzic ac8fd770ab Only propagates carriers that belong to Amp bandwidth
The commit introduces mux/demux functions in amps and ensures that the
propagation is only done on carriers that are in the Amp bandwitdh, ie
with all their spectrum including slot width is in bandwidth.

For consistency, default amp f_min is changed:
Objective is to use amplifiers' band to bound the possible frequencies
to be propagated. Since the current default f_min of Amp in json_io.py is
higher than the SI one, this would result in a different nb of channels
than currently used in tests, and a change in all tests. In order to
avoid this, I preferred to change this value and have consistency
between SI f_min and Amp f_min.

The commits adds a set of functions to make amps band the useable
spectrum on each OMS. Thee OMS generation is changed to use the amp band.

The commit adds filtering functions (demux and mux) to filter out spectrum
which is not in the amplifier band.

Spectrum assignment is also corrected to correctly match the amp bandwidth
constraint with guardband: center frequency index must be within the
usable part of the amp band. This changes a bit the notion of freq_index
and guardband in the functions, but this is transparent to user:
f_min, f_max represent the amp band, while self.freq_index_min/max
represent the center frequency boundary for a reference 50GHz channel.

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
Change-Id: I225b2b2dc0e1f1992c0460f6e08fa9c9bc641edf
2024-10-16 17:16:21 +00:00
2018-06-22 18:55:26 -04:00
2020-04-23 18:38:36 +02:00
2019-12-17 11:13:00 +01:00
2020-06-18 20:30:34 +02:00
2021-12-07 16:47:30 +01:00
2024-03-29 19:23:08 +01:00
2023-01-18 21:35:08 +01:00
2021-06-02 23:22:32 +02:00
2018-03-12 14:43:58 -04:00
2019-05-24 01:38:12 +02:00
2024-04-12 08:41:27 +02:00
2020-03-25 19:34:42 +01:00

GNPy: Optical Route Planning and DWDM Network Optimization

Install via pip Python versions Documentation status GitHub Workflow Status Gerrit Contributors Code Coverage via codecov DOI Matrix chat

GNPy is an open-source, community-developed library for building route planning and optimization tools in real-world mesh optical networks. We are a consortium of operators, vendors, and academic researchers sponsored via the Telecom Infra Project's OOPT/PSE working group. Together, we are building this tool for rapid development of production-grade route planning tools which is easily extensible to include custom network elements and performant to the scale of real-world mesh optical networks.

GNPy with an OLS system

Quick Start

Install either via Docker, or as a Python package. Read our documentation, learn from the demos, and get in touch with us.

This example demonstrates how GNPy can be used to check the expected SNR at the end of the line by varying the channel input power:

Running a simple simulation example

GNPy can do much more, including acting as a Path Computation Engine, tracking bandwidth requests, or advising the SDN controller about a best possible path through a large DWDM network. Learn more about this in the documentation, or give it a try online at gnpy.app:

Path propagation at gnpy.app

Description
No description provided
Readme BSD-3-Clause 19 MiB
Latest
2025-09-26 10:01:21 +00:00
Languages
Python 100%