restore initial power sweep behaviour

if user define a delta_p that is reduced because of saturation,
then this initial setting is still kept for power sweep to be sure
that the full amplitude of sweep is used.

SI power = 0 dBm
max power amp1 = 20 dBm,
user_defined_delta_p set by user = 3
80 channels, so pch_max = 20 - 10log10(80) = 0.96 dBm
power_sweep -> power range [-3, 0] dBm

then for initial design,
   pref = 0 dBm
   computed_delta_p =
      min(pch_max, pref + user_defined_delta_p) - pref = 0.96

but for -3 power sweep
   pref = -3 dBm
   computed_delta_p =
      min(pch_max, pref + user_defined_delta_p) - pref =
      min(0.96,    -3 + 3) - (-3) = 3
   so the user defined delta_p is applied as much as possible

Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
Change-Id: I8fd459c29aa9754ff9d4868af1d8be8642a31913
This commit is contained in:
EstherLerouzic
2022-10-19 17:38:38 +02:00
parent 8ea13bb4d6
commit e9f9ddb4d6
6 changed files with 724 additions and 13 deletions

View File

@@ -254,10 +254,10 @@ def set_egress_amplifier(network, this_node, equipment, pref_ch_db, pref_total_d
if isinstance(node, elements.Edfa):
node_loss = span_loss(network, prev_node)
voa = node.out_voa if node.out_voa else 0
if node.delta_p is None:
if node.operational.delta_p is None:
dp = target_power(network, next_node, equipment) + voa
else:
dp = node.delta_p
dp = node.operational.delta_p
if node.effective_gain is None or power_mode:
gain_target = node_loss + dp - prev_dp + prev_voa
else: # gain mode with effective_gain
@@ -680,10 +680,11 @@ def build_network(network, equipment, pref_ch_db, pref_total_db, set_connector_l
set_fiber_input_power(network, fiber, equipment, pref_ch_db)
def design_network(reference_channel, network, equipment, verbose=True):
def design_network(reference_channel, network, equipment, set_connector_losses=True, verbose=True):
"""Network is designed according to reference channel. Verbose indicate if the function should
print all warnings or not
"""
pref_ch_db = watt2dbm(reference_channel.power) # reference channel power
pref_total_db = pref_ch_db + lin2db(reference_channel.nb_channel) # reference total power
build_network(network, equipment, pref_ch_db, pref_total_db, verbose)
build_network(network, equipment, pref_ch_db, pref_total_db, set_connector_losses=set_connector_losses,
verbose=verbose)

View File

@@ -21,7 +21,7 @@ from gnpy.core.equipment import trx_mode_params
import gnpy.core.exceptions as exceptions
from gnpy.core.network import add_missing_elements_in_network, design_network
from gnpy.core.parameters import SimParams
from gnpy.core.utils import db2lin, lin2db, automatic_nch
from gnpy.core.utils import db2lin, lin2db, automatic_nch, watt2dbm, dbm2watt
from gnpy.topology.request import (ResultElement, jsontocsv, compute_path_dsjctn, requests_aggregation,
BLOCKING_NOPATH, correct_json_route_list,
deduplicate_disjunctions, compute_path_with_disjunction,
@@ -197,16 +197,22 @@ def transmission_main_example(args=None):
trx_params['power'] = db2lin(float(args.power)) * 1e-3
params.update(trx_params)
initial_spectrum = None
nb_channels = automatic_nch(trx_params['f_min'], trx_params['f_max'], trx_params['spacing'])
params['nb_channel'] = automatic_nch(trx_params['f_min'], trx_params['f_max'], trx_params['spacing'])
# use ref_req to hold reference channel used for design and req for the propagation
# and req to hold channels to be propagated
# apply power sweep on the design and on the channels
ref_req = PathRequest(**params)
pref_ch_db = watt2dbm(ref_req.power)
if args.spectrum:
# use the spectrum defined by user for the propagation.
# the nb of channel for design remains the one of the reference channel
initial_spectrum = load_initial_spectrum(args.spectrum)
nb_channels = len(initial_spectrum)
params['nb_channel'] = len(initial_spectrum)
print('User input for spectrum used for propagation instead of SI')
params['nb_channel'] = nb_channels
req = PathRequest(**params)
pref_ch_db = lin2db(req.power * 1e3) # reference channel power / span (SL=20dB)
p_ch_db = watt2dbm(req.power)
req.initial_spectrum = initial_spectrum
print(f'There are {nb_channels} channels propagating')
print(f'There are {req.nb_channel} channels propagating')
power_mode = equipment['Span']['default'].power_mode
print('\n'.join([f'Power mode is set to {power_mode}',
'=> it can be modified in eqpt_config.json - Span']))
@@ -234,7 +240,7 @@ def transmission_main_example(args=None):
# initial network is designed using req.power. that is that any missing information (amp gain or delta_p) is filled
# using this req.power, previous to any sweep requested later on.
try:
design_network(req, network, equipment, verbose=True)
design_network(ref_req, network, equipment, set_connector_losses=True, verbose=True)
except exceptions.NetworkTopologyError as e:
print(f'{ansi_escapes.red}Invalid network definition:{ansi_escapes.reset} {e}')
sys.exit(1)
@@ -246,14 +252,17 @@ def transmission_main_example(args=None):
f'and {destination.uid}')
print(f'\nNow propagating between {source.uid} and {destination.uid}:')
for dp_db in power_range:
req.power = db2lin(pref_ch_db + dp_db) * 1e-3
ref_req.power = dbm2watt(pref_ch_db + dp_db)
req.power = dbm2watt(p_ch_db + dp_db)
design_network(ref_req, network, equipment, set_connector_losses=False, verbose=False)
# if initial spectrum did not contain any power, now we need to use this one.
# note the initial power defines a differential wrt req.power so that if req.power is set to 2mW (3dBm)
# and initial spectrum was set to 0, this sets a initial per channel delta power to -3dB, so that
# whatever the equalization, -3 dB is applied on all channels (ie initial power in initial spectrum pre-empts
# "--power" option)
if power_mode:
print(f'\nPropagating with input power = {ansi_escapes.cyan}{lin2db(req.power*1e3):.2f} dBm{ansi_escapes.reset}:')
print(f'\nPropagating with input power = {ansi_escapes.cyan}{watt2dbm(req.power):.2f} '
+ f'dBm{ansi_escapes.reset}:')
else:
print(f'\nPropagating in {ansi_escapes.cyan}gain mode{ansi_escapes.reset}: power cannot be set manually')
infos = propagate(path, req, equipment)

View File

@@ -0,0 +1,238 @@
{
"Edfa": [{
"type_variety": "CienaDB_medium_gain",
"type_def": "advanced_model",
"gain_flatmax": 25,
"gain_min": 15,
"p_max": 21,
"advanced_config_from_json": "std_medium_gain_advanced_config.json",
"out_voa_auto": false,
"allowed_for_design": true
},
{
"type_variety": "std_medium_gain",
"type_def": "variable_gain",
"gain_flatmax": 26,
"gain_min": 15,
"p_max": 21,
"nf_min": 6,
"nf_max": 10,
"out_voa_auto": false,
"allowed_for_design": true
},
{
"type_variety": "std_low_gain",
"type_def": "variable_gain",
"gain_flatmax": 16,
"gain_min": 8,
"p_max": 21,
"nf_min": 7,
"nf_max": 11,
"out_voa_auto": false,
"allowed_for_design": true
},
{
"type_variety": "test",
"type_def": "variable_gain",
"gain_flatmax": 25,
"gain_min": 15,
"p_max": 21,
"nf_min": 5.8,
"nf_max": 10,
"out_voa_auto": false,
"allowed_for_design": true
},
{
"type_variety": "test_fixed_gain",
"type_def": "fixed_gain",
"gain_flatmax": 21,
"gain_min": 20,
"p_max": 21,
"nf0": 5,
"allowed_for_design": true
},
{
"type_variety": "std_booster",
"type_def": "fixed_gain",
"gain_flatmax": 21,
"gain_min": 20,
"p_max": 21,
"nf0": 5,
"allowed_for_design": false
}
],
"Fiber": [{
"type_variety": "SSMF",
"dispersion": 1.67e-05,
"effective_area": 83e-12,
"pmd_coef": 1.265e-15
}
],
"Span": [{
"power_mode":true,
"delta_power_range_db": [0,0,0.5],
"max_fiber_lineic_loss_for_raman": 0.25,
"target_extended_gain": 2.5,
"max_length": 150,
"length_units": "km",
"max_loss": 28,
"padding": 10,
"EOL": 0,
"con_in": 0,
"con_out": 0
}
],
"Roadm": [{
"target_pch_out_db": -20,
"add_drop_osnr": 38,
"pmd": 0,
"pdl": 0,
"restrictions": {
"preamp_variety_list":[],
"booster_variety_list":[]
}
}
],
"SI": [{
"f_min": 191.35e12,
"f_max": 196.1e12,
"baud_rate": 32e9,
"spacing": 50e9,
"power_dbm": 0,
"power_range_db": [-6,0,0.5],
"roll_off": 0.15,
"tx_osnr": 100,
"sys_margins": 0
}
],
"Transceiver":[
{
"type_variety": "vendorA_trx-type1",
"frequency":{
"min": 191.4e12,
"max": 196.1e12
},
"mode":[
{
"format": "PS_SP64_1",
"baud_rate": 32e9,
"OSNR": 11,
"bit_rate": 100e9,
"roll_off": 0.15,
"tx_osnr": 100,
"min_spacing": 50e9,
"cost": 1
},
{
"format": "PS_SP64_2",
"baud_rate": 64e9,
"OSNR": 15,
"bit_rate": 200e9,
"roll_off": 0.15,
"tx_osnr": 100,
"min_spacing": 75e9,
"cost": 1
},
{
"format": "mode 1",
"baud_rate": 32e9,
"OSNR": 11,
"bit_rate": 100e9,
"roll_off": 0.15,
"tx_osnr": 100,
"min_spacing": 50e9,
"cost": 1
},
{
"format": "mode 2",
"baud_rate": 64e9,
"OSNR": 15,
"bit_rate": 200e9,
"roll_off": 0.15,
"tx_osnr": 100,
"min_spacing": 75e9,
"cost": 1
}
]
},
{
"type_variety": "Voyager_16QAM",
"frequency": {
"min": 191.4e12,
"max": 196.1e12
},
"mode": [
{
"format": "16QAM",
"baud_rate": 32e9,
"OSNR": 19,
"bit_rate": 200e9,
"roll_off": 0.15,
"tx_osnr": 100,
"min_spacing": 50e9,
"cost": 1
}
]
},
{
"type_variety": "Voyager",
"frequency": {
"min": 191.4e12,
"max": 196.1e12
},
"mode": [
{
"format": "mode 1",
"baud_rate": 32e9,
"OSNR": 12,
"bit_rate": 100e9,
"roll_off": 0.15,
"tx_osnr": 45,
"min_spacing": 50e9,
"cost": 1
},
{
"format": "mode 3",
"baud_rate": 44e9,
"OSNR": 18,
"bit_rate": 300e9,
"roll_off": 0.15,
"tx_osnr": 45,
"min_spacing": 62.5e9,
"cost": 1
},
{
"format": "mode 2",
"baud_rate": 66e9,
"OSNR": 21,
"bit_rate": 400e9,
"roll_off": 0.15,
"tx_osnr": 45,
"min_spacing": 75e9,
"cost": 1
},
{
"format": "mode 2 - fake",
"baud_rate": 66e9,
"OSNR": 21,
"bit_rate": 400e9,
"roll_off": 0.15,
"tx_osnr": 45,
"min_spacing": 75e9,
"cost": 1
},
{
"format": "mode 4",
"baud_rate": 66e9,
"OSNR": 16,
"bit_rate": 200e9,
"roll_off": 0.15,
"tx_osnr": 45,
"min_spacing": 75e9,
"cost": 1
}
]
}
]
}

View File

@@ -0,0 +1,307 @@
INFO gnpy.tools.cli_examples:cli_examples.py source = 'brest'
INFO gnpy.tools.cli_examples:cli_examples.py destination = 'rennes'
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Lorient_KMA to Loudeac
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: effective gain in Node east edfa in Lannion_CAS to Stbrieuc
is above user specified amplifier std_low_gain
max flat gain: 16dB ; required gain: 21.22dB. Please check amplifier type.
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Rennes_STA to Stbrieuc
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: effective gain in Node east edfa in Lannion_CAS to Morlaix
is above user specified amplifier std_low_gain
max flat gain: 16dB ; required gain: 21.22dB. Please check amplifier type.
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Brest_KLA to Morlaix
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Lorient_KMA to Loudeac
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: effective gain in Node west edfa in Lannion_CAS to Corlay
is above user specified amplifier test
max flat gain: 25dB ; required gain: 28.0dB. Please check amplifier type.
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Lorient_KMA to Vannes_KBE
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Vannes_KBE to Lorient_KMA
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Lorient_KMA to Quimper
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Quimper to Lorient_KMA
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Brest_KLA to Quimper
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Vannes_KBE to Lorient_KMA
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Lorient_KMA to Vannes_KBE
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Vannes_KBE to Ploermel
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Ploermel to Vannes_KBE
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Rennes_STA to Ploermel
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Rennes_STA to Stbrieuc
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Stbrieuc to Rennes_STA
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Lannion_CAS to Stbrieuc
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Rennes_STA to Ploermel
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Vannes_KBE to Ploermel
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Brest_KLA to Morlaix
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: effective gain in Node east edfa in Brest_KLA to Quimper
is above user specified amplifier std_low_gain
max flat gain: 16dB ; required gain: 21.22dB. Please check amplifier type.
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in Quimper to Lorient_KMA
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in Lorient_KMA to Quimper
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in a to b
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in b to a
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in a to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in c to a
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in b to a
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in a to b
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in b to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in f to b
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in c to a
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in a to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in d to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in c to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in f to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in d to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in c to d
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in d to e
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in e to d
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in e to d
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in d to e
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in e to g
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in g to e
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in f to c
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in c to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in f to b
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in b to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in f to h
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in h to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in g to e
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in e to g
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in g to h
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in h to g
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in h to f
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in f to h
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node east edfa in h to g
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied
WARNING gnpy.core.network:network.py
WARNING: target gain and power in node west edfa in g to h
is beyond all available amplifiers capabilities and/or extended_gain_range:
a power reduction of -1.78 is applied

View File

@@ -0,0 +1,154 @@
There are 95 channels propagating
Power mode is set to True
=> it can be modified in eqpt_config.json - Span
There are 4 fiber spans over 200 km between trx Brest_KLA and trx Rennes_STA
Now propagating between trx Brest_KLA and trx Rennes_STA:
Propagating with input power = -3.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 23.73
GSNR (signal bw, dB): 19.65
OSNR ASE (0.1nm, dB): 23.99
OSNR ASE (signal bw, dB): 19.91
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -2.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.01
GSNR (signal bw, dB): 19.93
OSNR ASE (0.1nm, dB): 24.37
OSNR ASE (signal bw, dB): 20.29
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -2.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.25
GSNR (signal bw, dB): 20.17
OSNR ASE (0.1nm, dB): 24.74
OSNR ASE (signal bw, dB): 20.66
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -1.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.44
GSNR (signal bw, dB): 20.36
OSNR ASE (0.1nm, dB): 25.10
OSNR ASE (signal bw, dB): 21.01
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -1.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.57
GSNR (signal bw, dB): 20.49
OSNR ASE (0.1nm, dB): 25.44
OSNR ASE (signal bw, dB): 21.36
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -0.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.63
GSNR (signal bw, dB): 20.55
OSNR ASE (0.1nm, dB): 25.77
OSNR ASE (signal bw, dB): 21.69
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = -0.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.60
GSNR (signal bw, dB): 20.52
OSNR ASE (0.1nm, dB): 26.09
OSNR ASE (signal bw, dB): 22.00
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 0.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.42
GSNR (signal bw, dB): 20.34
OSNR ASE (0.1nm, dB): 26.29
OSNR ASE (signal bw, dB): 22.20
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 1.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.16
GSNR (signal bw, dB): 20.08
OSNR ASE (0.1nm, dB): 26.47
OSNR ASE (signal bw, dB): 22.39
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 1.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.02
GSNR (signal bw, dB): 19.94
OSNR ASE (0.1nm, dB): 26.55
OSNR ASE (signal bw, dB): 22.47
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 2.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.02
GSNR (signal bw, dB): 19.94
OSNR ASE (0.1nm, dB): 26.55
OSNR ASE (signal bw, dB): 22.47
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 2.50 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.02
GSNR (signal bw, dB): 19.94
OSNR ASE (0.1nm, dB): 26.55
OSNR ASE (signal bw, dB): 22.47
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
Propagating with input power = 3.00 dBm:
Transceiver trx Rennes_STA
GSNR (0.1nm, dB): 24.02
GSNR (signal bw, dB): 19.94
OSNR ASE (0.1nm, dB): 26.55
OSNR ASE (signal bw, dB): 22.47
CD (ps/nm): 3340.00
PMD (ps): 0.57
PDL (dB): 0.00
Latency (ms): 0.98
(Invalid source node 'brest' replaced with trx Brest_KLA)
(Invalid destination node 'rennes' replaced with trx Rennes_STA)

View File

@@ -29,6 +29,8 @@ SRC_ROOT = Path(__file__).parent.parent
['--spectrum', 'gnpy/example-data/initial_spectrum2.json', 'gnpy/example-data/meshTopologyExampleV2.xls', '--show-channels', ]),
('path_requests_run_CD_PMD_PDL_missing', 'logs_path_requests_run_CD_PMD_PDL_missing', path_requests_run,
['tests/data/CORONET_Global_Topology_expected.json', 'tests/data/CORONET_services.json', '-v']),
('power_sweep_example', 'logs_power_sweep_example', transmission_main_example,
['tests/data/testTopology_expected.json', 'brest', 'rennes', '-e', 'tests/data/eqpt_config_sweep.json', '--pow', '3']),
))
def test_example_invocation(capfd, caplog, output, log, handler, args):
"""Make sure that our examples produce useful output"""