Telecominfraproject / oopt-gnpy

Optical Route Planning Library, Based on a Gaussian Noise Model
http://telecominfraproject.com
BSD 3-Clause "New" or "Revised" License
204 stars 88 forks source link

Newcomer feedback from lattelecom #73

Closed ggrammel closed 6 years ago

ggrammel commented 6 years ago

In TIP Workplace managed to find Polito model presentation and as I understood actual code is using these principles. This kind of info, at least for me, is helpful to understand the model.

As not professional coder and with no experience with open-source projects I don’t understand the principles how new functions are added (organizational task) – someone adds something and then hopes for pull approvement or there are some guidelines what functions project is missing at the moment and these are pursued with high priority (something besides Raman model).

On fresh Ubuntu 18.04 installation, as i remember, besides requirements.txt python3.6-tk installation was needed. Readme doesn’t mention that this library is using python 3.6, only the onboarding guide. In Ubuntu 16.04 with default python 3.5 additional repository is needed for ‘apt install python3.6’ to work.

Results output in console are understandable, as was mentioned in the call JSON result output would be good idea - simplify gnpy integration somewhere.

Already opened a few issues: · ROADM loss o After looking in Polito model presentation it is much clearer how ROADM model can look in the future o If for some purposes channel drop power calculation would be needed, then losses should be divided in three parts – add_loss, drop_loss, express_loss. Calculation of these for network.json can be made by front end o For low loss spans only preamplifier can be needed (no booster). At the moment all hops are automatically calculated with Preamp and Booster

· EDFA parameters and booster-less type o Introduction of Booster-less amplifiers o Mentioned Gain calculation from ‘Power/channel@output – Power/channel@input’ is just like our vendor equipment is configured and can be recalculated for Gain parameter by front end

In general, two modes of operation would be needed: · Automatic – auto calculation of better Amp and so on · Manual/Manual-Auto – calculation with manually entered parameters (Amp, fiber, span padding, …), that is helpful if performance calculation is made including already commisioned network equipment (old network + new network or ROADM direction), sometimes only particular card types are better choice (spare parts, end of sale)

dutc commented 6 years ago

@jeanluc-auge Can you comment?

jeanluc-auge commented 6 years ago
  1. About 2 modes of operation: manual vs automatic for now there is no toggle between the 2 modes, though they are supported:
    • if amplifiers are inserted after each fiber and ROADM elements, with non 0 gain parameter, the operation is manual
    • if amplifiers are inserted but some or all of them have 0 or no gain parameter, the tool will set the proper gain to compensate for previous element loss.
    • if some amplifiers are inserted but not all, the tool will complete automatically the missing amps

This way the tool autodiscovers what needs to be completed. However, as a result, the low span loss scenario that you describe where you skip the egress amp at a ROADM location is not supported. Because the tool would automatically add the missing amplifier. The only way to support it would add a toogle automatic / manual design. This can be discussed but I am personally not in favor:


  1. about automatic design Now that the power mode is implemented, I will be working on autodesign with different power settings in the spans. Said differently, the gain of the amplifier would not just compensate the previous span loss but could be lower or greater depending on the power difference between the 2 spans.
berahtlv commented 6 years ago
  1. Ok.
  2. I like it, interesting idea with SI.pref As I understood SI, Roadms and Spans in equipment.json are helpers. In my opinion equipment.json should contain only fixed equipment parameters for particular type and subtype and connector or roadm or some other that type losses or parameters are just for particular instance. "gain_mode_default_loss" (duplicates "loss") and "power_mode_pref" should be in element "params" and can be optional. "power_mode" is more useful as console parameter, then calculation method can be switched as required.
  3. Ok.