Releases: Telecominfraproject/oopt-gnpy
v2.11
This release enables the definition of a multiband amplifier site composed of multiple amplifiers, each for a separated band (a typical application is C+L transmission).
The release also includes autodesign for links (Optical Multiplex Section, OMS) composed of multi_band amplifiers. Multi_band autodesign includes basic tilt and tilt_target calculation when the Raman flag is enabled with the --sim-params option.
The spectrum is demultiplexed before propagation in the amplifier and multiplexed at the amplifier output before the propagation in the output fiber.
A preturbative Raman solution and an approximated GGN model are introduced for a faster evaluation of the Raman and Kerr effects, respectively. These implementations are intended to reduce the computational effort required for multiband transmission simulations.
v2.10
This release introduces detailed impairments for ROADMs:
ROADM impairments can be defined per degree and roadm-path type (add, drop or express).
Minimum loss when crossing a ROADM is no more 0 dB. It can be set per ROADM degree with roadm-path-impairments.
The transceiver output power, which was previously set using the same parameter as the input span power (power_dbm),
can now be set using a different parameter.
GNPy v2.9
GNPy v2.9
This release introduces a major refactor that enables
a clear separation of design and propagation functions.
It also introduces some behaviour correction and bug fixes.
- fix frequency scaling for fibers
- fix documentation on readthedocs.io
- possible to freeze a design and propagate on it without automatic changes
- checking for power saturation during design for all cases
GNPy v2.8
This new release adds some improvements in existing features,
and some new features:
- Spectrum assignment now supports multiple slots assignments
in a single request. - Logs are now generalized in the library instead of bare
prints. Default verbose is "WARNING". - Chromatic dispersion, effective area, Raman Gain coefficient,
and nonlinear coefficient can now be defined with a scaling
along frequency. - Power equalization now enables defining a power offset
in transceiver library to represent the deviation from the
general equalisation strategy defined in ROADMs. - Propagation now includes a latency calculation
- The library now supports of python 3.12
GNPy 2.7 -- OFC 2023
Starting with this release, the users can define a mixed load of channels to be propagated in the input spectrum. To better support real-life workloads, ROADM equalization strategies are now configurable, and there is also the usual set of bugfixes and performance optimizations.
GNPy 2.6
GNPy 2.6 — ECOC 2022
Greetings from a sunny day in Basel, Switzerland. This is a general bugfix release with some preparations for the upcoming features (mixed-rate simulations and the YANG interface). Please stay tuned while we stabilize these, and try out our patches under review:
https://review.gerrithub.io/q/project:Telecominfraproject/oopt-gnpy
GNPy 2.5
Hello from OFC 2022. Release highlights:
- CD, PMD and PDL tracking
- Improvements for OpenROADM
- Extended vendor support
- Performance optimization
- Bugfixes
If you're interested in what's coming next, be sure to check the patches and changes that we are currently working on.
GNPy 2.4
Hailing from the sunny Bordeaux, France, where ECOC 2021 is taking place, here's a new version of GNPy, an optical route planning library.
Released just three months after the v2.3, we've improved support of OpenROADM networks, fixed bugs, and extended our test suite. As was
previously announced, this is also the first release to require a more recent Python, the 3.8.
If you're interested in what's coming next, be sure to check the patches and changes that we are currently working on.
GNPy 2.3
Hello from the virtual OFC'2021. A fresh release of GNPy, a transmission quality estimator for DWDM optical networks, is here.
In this release, we added support for modeling of OpenROADM networks. Example:
gnpy-transmission-example \
-e gnpy/example-data/eqpt_config_openroadm.json \
gnpy/example-data/Sweden_OpenROADM_example_network.json
We have improved our documentation, so that it is hopefully easier to navigate and covers more advanced topics. We've also extended the docs with information targeted at vendors (or others) who are willing to contribute equipment datasheets to GNPy.
ROADMs can now specify different target per-channel launch powers for different directions (degrees). We've also fixed various bugs; please refer to the git changelog for a detailed list.
Internally, we've extended the test coverage of our code base, improved the CI infrastructure, and addressed some technical debt. However, we've grown limited by supporting Python 3.6, so this is the last release which works with that version. The next release will require Python 3.8.
There's much more brewing in our development branches, so I'm already looking forward to the next release. Take a look behind the curtain:
https://review.gerrithub.io/q/project:Telecominfraproject/oopt-gnpy
Tagging the v2.2 release
There are many user-facing changes in this release. We've changed the way how examples and default data are shipped:
examples/transmission_main_example.py
is replaced bygnpy-transmission-example
examples/path_requests_run.py
is replaced bygnpy-path-request
- Default example data, such as the equipment library, the CORONET sample topology, etc, are now shipped as a part of the Python library. You can request their location by running
gnpy-example-data
. - There's a new tool for converting XLS data into JSON:
gnpy-convert-xls
.
The installation process got much easier, it should be enough to just run pip install gnpy
once you've installed your Python 3.6 (or newer).
For those who use GNPy as a Python library, there were many changes as we have moved different parts of code to better places. We no longer put everything into the gnpy.core.*
Python module hierarchy, now there is:
gnpy.core
which implements signal propagation,gnpy.topology
tracks requests for spectrum,gnpy.tools
provides miscellaneous tools for, e.g., dealing with JSON I/O, XLS parsing, as well as the example frontends.
GNPy now also tracks chromatic dispersion (CD) and polarization mode dispersion (PMD) of a signal as it propagates through fiber and all active nodes.
Under the hood, we've adjusted our development process a bit. We are using Gerrit (via GerritHub.io) for code review, and Zuul (via VexxHost) for Continuous Integration (CI).