Commit Graph

81 Commits

Author SHA1 Message Date
Jan Kundrát
5af195bd2b Remove unused imports
Change-Id: I66174048a9eaab0f79ba4c3b1d31ef4dc9c2009b
2020-04-30 17:30:55 +02:00
Jonas Mårtensson
db26ce07db Enable import from .xlsx files
Fixes issue #336
2020-03-20 18:17:02 +01:00
AndreaDAmico
80eced85ec Refactoring with some incompatible changes
Please be advised that there were incompatible changes in the Raman
options, including a `s/phase_shift_tollerance/phase_shift_tolerance/`.

Signed-off-by: AndreaDAmico <andrea.damico@polito.it>
Co-authored-by: EstherLerouzic <esther.lerouzic@orange.com>
Co-authored-by: Jan Kundrát <jan.kundrat@telecominfraproject.com>
2019-12-17 11:51:09 +01:00
AndreaDAmico
2960d307fa Unrelated changes
linter changes

Signed-off-by: AndreaDAmico <andrea.damico@polito.it>
Co-authored-by: EstherLerouzic <esther.lerouzic@orange.com>
2019-12-17 11:13:00 +01:00
Jan Kundrát
0f4d8573cf Move Raman parameter propagation to gnpy.core.network
Conceptually, this is just about propagating the input parameters (which
drive the simulation) into all RamanFiber instances. The network module
already contains similar functions, let's move it there.
2019-08-08 11:19:25 +02:00
Esther Le Rouzic
d94dc51d88 Restrictions on auto-adding amplifiers into ROADMs
This feature is intended to support designs such as OpenROADM where the
line degree integrates a specific preamp/booster pair. In that case, it
does not make sense for our autodesign to "pick an amplifier". The
restrictions can be activated by:

- Listing them in `eqpt_config.json`, so that they are effective for all
ROADM instances.
- On a per-ROADM basis within the Excel sheet or the JSON definitions.

Restrictions apply to an entire ROADM as a whole, not to the individual
degrees.

If a per-degree exception is needed, the amplifier of this degree can be
defined in the equipment sheet or in the network definition.

If no booster amplifier should be placed on a degree, use the `Fused`
node in place of an amplifier.

Signed-off-by: Esther Le Rouzic <esther.lerouzic@orange.com>
Co-authored-by: Jan Kundrát <jan.kundrat@telecominfraproject.com>
2019-06-06 11:58:45 +02:00
Jan Kundrát
2d66b6266b Add a missing FIXME for direct-printing of diagnostics 2019-05-30 12:39:42 +02:00
Jan Kundrát
b7afb5f9d2 Exceptions for errors in network topologies 2019-05-30 12:39:10 +02:00
Jean-Luc Auge
0fee63fa81 manage empty edfa requirement list in auto_design
code exit if no edfa are available and raman do not fill min gain
requirement

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
d5f0d80eed clean up auto_design code
replace lambdas, filter and map functions with comprehension list

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
b7d4d43f56 improve auto_design selection of raman
-separate edfa and raman_list of acceptable amplifiers to better
customize criteria between edfa and raman amplifiers
for example min gian requirement: no extended min gain range for raman
amplifiers because there is always an edfa solution, which is better for
small gains.

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
e5db8e42d1 Display warning when Raman is used above max fiber lineic loss
- in auto-design, Raman is already not used if lineic fiber loss >
eqpt_config.json [Span][max_fiber_lineic_loss_for_raman]
- this commit ensures that a warning is displayed even when auto-desing
is not used (when the network equipment configuration is imported from
json or xls topology)

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
27cf9806f0 bug fix in mixed auto/imported design with output voa
non zero voa values were transferd to the following node

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
5dbb5cd112 bug fix with FUSED spans and EOL
EOL span ageing was added for each connector "to be fused" span
=> now, EOL ageing is only added to the last span of the fused spans
section.

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
Jean-Luc Auge
af75569eb8 clarify code on connector and EOL default loss
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-18 12:02:57 +02:00
EstherLerouzic
1720ed23c9 Sort all simple paths using length instead of hop
when constraints such as include noe or disjuntion is applied
the candidates are sorted with shortest path in length first

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2019-04-18 11:16:07 +01:00
EstherLerouzic
137fab1d92 Adding weights on edges to have shortest path in length instead of hops
add weight = length of fiber nodes on connections wher from_node is a fiber
add weight = 0.01 km on other edges

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2019-04-18 11:16:07 +01:00
Jean-Luc Auge
2f39abfdb8 power reduction warning message in auto-design
warning message when extended gain range or power requirements cannot be met
and power is reduced

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:09:45 +02:00
Jean-Luc Auge
178813806f update eqpt_config and example files
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:09:45 +02:00
Jean-Luc Auge
a67a08a4d0 Power reference tracking to roadm target power
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
6d15f55304 bug fix : Roadms & Spans vs Roadm & Span
discrepancy between topology and eqpt_config json descriptions

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
0dbcd1f265 manage operational vs calculated values
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
a0f6380f90 improve power mode and gain mode
power mode no longer reads operational_gain:
	now reads operational.dp_db
	or calculate optimum dp_db from next span loss
gain_mode:
	reads operational.gain_target
	or use gain_from_dp

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>

squash to dp

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
00ad542a11 auto-design: relax min_gain restriction
tolerate 3dB below min gain in amplifier selection
this is to allow selection of high power amps even if they are below min
gain

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
5c8dd911e3 reduce power when the extended_gain_range limit is reached
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
407fd62da5 improve auto_design algorithm for amplifier selection
remove gain_max limit and use gain+power limit selection instead

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
c92f7ca0d8 parametrization of amplifier extended_gain_range
used for amplifier selection in auto-design
but it is possible to manually use and set an amplifier beyond its
extended_gain_range

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
c099b53a03 parametrization of the max_fiber_lineic_loss_for_raman
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
fd065e4e7c raman tag in eqpt description
manage raman restrictions

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
fd97527561 raman restrictions
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:08:34 +02:00
Jean-Luc Auge
dbff610d77 Improve auto-design amplifier selection algorithm
support min gain for raman auto-design:
raman amplification is only considered for a span if its gain > specified
min gain of the raman hybrid in eqpt_config

auto-design was checked succesfully when enabling a mix of 6 possible different
amplifiers: low gain, medium gain, hybrid ramans, high power and high
gain amplifiers. They were picked as expected.

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:05:45 +02:00
Jean-Luc Auge
46aae9486e update raman model to work in auto-design
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:05:45 +02:00
Jean-Luc Auge
70066de390 remove namedtuple class structure for network elements
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:05:45 +02:00
Jean-Luc Auge
106af9d444 hybrid raman/edfa model
quick & dirty 1st implementation:
-fixed raman nf and gain,
-no tilt, no ripple,
-no nonlinear contribution,
-no pump power reduction from egress con loss

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-04-03 14:05:45 +02:00
James Powell
f4537a538b interpolate fiber positions 2019-03-05 01:07:05 -05:00
James Powell
5f8621c224 changes for OFC demo 2019-03-04 12:32:26 -05:00
Jean-Luc Auge
bc9eee326a parametrization of the name matching dictionary
-names argument

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-01-14 17:17:58 +01:00
Jean-Luc Auge
a08ce9ecb7 gain mode fix
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-01-14 12:16:16 +01:00
Jean-Luc Auge
c0cc5fa9fd Improve ROADM loss calculation in power mode
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2019-01-11 12:28:39 +01:00
EstherLerouzic
4c1c17eea6 adding some exception handling to help user debugging
exception handling add some info on which element (uid) is causing a problem
this can help the user to identify where he must correct the input files

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2019-01-11 10:41:16 +00:00
Jonas Mårtensson
f4f9868381 Change span numbering in split_fiber. 2018-11-05 17:43:14 +01:00
Jonas Mårtensson
f103bebe05 Some modifications in split_fiber function. 2018-11-05 17:13:03 +01:00
James Powell
2be616411f fix headers 2018-10-14 20:55:00 -04:00
James Powell
83444b329e strip whitespace 2018-10-14 20:54:22 -04:00
James
06d3927275 Merge branch 'develop' into develop 2018-09-24 12:49:45 -07:00
Jean-Luc Auge
df14b441a3 improve code clarity of auto_design power setting
>network>target_power

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-09-18 17:12:58 +02:00
Jean-Luc Auge
ab1391440f Fix bug in padding and EOL and Roadm power
take into account manual padding input, i.e. att_in defined in fiber params
add EOL even if con_out is not None
Force Roadm input power to 0 in power_mode even if the ingress amplifier
gain is not null

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-09-17 13:16:38 +02:00
EstherLerouzic
f8cd822c92 update of test files with respect to the use of string id instead of integer id
update Excel_userguide.rst for the services uid: now accepts strings

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-09-12 11:24:55 +01:00
EstherLerouzic
008a88192c small update of toy topology file + comment of a proont in network.py
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
2018-09-10 13:44:56 +01:00
Jean-Luc Auge
225fb1ec0c Save network to json after build (auto design)
-Promote incremental and iterative network design
-Automatic saving of a "network-name_auto_design.json" file
-Results of the autodesign (additional amplifiers, configuration) are
saved to this ..._auto_design.json file
-This file can then be used to run a new simulation just like a normal
json input file

Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
2018-09-04 09:34:57 +02:00