mirror of
https://github.com/Telecominfraproject/oopt-gnpy.git
synced 2025-11-01 18:47:48 +00:00
improve power range handling
This commit is contained in:
@@ -18,7 +18,7 @@ from pathlib import Path
|
|||||||
from json import loads
|
from json import loads
|
||||||
from collections import Counter
|
from collections import Counter
|
||||||
from logging import getLogger, basicConfig, INFO, ERROR, DEBUG
|
from logging import getLogger, basicConfig, INFO, ERROR, DEBUG
|
||||||
from numpy import arange, mean
|
from numpy import linspace, mean
|
||||||
from matplotlib.pyplot import show, axis, figure, title
|
from matplotlib.pyplot import show, axis, figure, title
|
||||||
from networkx import (draw_networkx_nodes, draw_networkx_edges,
|
from networkx import (draw_networkx_nodes, draw_networkx_edges,
|
||||||
draw_networkx_labels, dijkstra_path)
|
draw_networkx_labels, dijkstra_path)
|
||||||
@@ -85,12 +85,9 @@ def main(network, equipment, source, destination, req = None):
|
|||||||
print(f'\nNow propagating between {source.uid} and {destination.uid}:')
|
print(f'\nNow propagating between {source.uid} and {destination.uid}:')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
power_range = list(arange(*equipment['SI']['default'].power_range_db))
|
p_start, p_stop, p_step = equipment['SI']['default'].power_range_db
|
||||||
last = equipment['SI']['default'].power_range_db[-2]
|
p_num = abs(int(round((p_stop - p_start)/p_step))) + 1 if p_step != 0 else 1
|
||||||
if len(power_range) == 0 : #bad input that will lead to no simulation
|
power_range = list(linspace(p_start, p_stop, p_num))
|
||||||
power_range = [0] #better than an error message
|
|
||||||
else:
|
|
||||||
power_range.append(last)
|
|
||||||
except TypeError:
|
except TypeError:
|
||||||
print('invalid power range definition in eqpt_config, should be power_range_db: [lower, upper, step]')
|
print('invalid power range definition in eqpt_config, should be power_range_db: [lower, upper, step]')
|
||||||
power_range = [0]
|
power_range = [0]
|
||||||
|
|||||||
Reference in New Issue
Block a user