From 4277f34490a98af82b7123cc373a449cbfd48b69 Mon Sep 17 00:00:00 2001 From: EstherLerouzic Date: Wed, 19 Oct 2022 17:38:38 +0200 Subject: [PATCH] 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 Change-Id: I8fd459c29aa9754ff9d4868af1d8be8642a31913 --- gnpy/core/network.py | 9 +- gnpy/tools/cli_examples.py | 3 +- tests/data/eqpt_config_sweep.json | 235 ++++++++++++++++ tests/invocation/power_sweep_example | 390 +++++++++++++++++++++++++++ tests/test_invocation.py | 6 +- 5 files changed, 637 insertions(+), 6 deletions(-) create mode 100644 tests/data/eqpt_config_sweep.json create mode 100644 tests/invocation/power_sweep_example diff --git a/gnpy/core/network.py b/gnpy/core/network.py index 426789516..c10f7709a 100644 --- a/gnpy/core/network.py +++ b/gnpy/core/network.py @@ -249,10 +249,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 @@ -673,10 +673,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) diff --git a/gnpy/tools/cli_examples.py b/gnpy/tools/cli_examples.py index bb0d51bed..e27bb2aa6 100644 --- a/gnpy/tools/cli_examples.py +++ b/gnpy/tools/cli_examples.py @@ -241,12 +241,13 @@ 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. decorated_design_network = decorator_network_exceptions(design_network) - decorated_design_network(req, network, equipment, verbose=True) + decorated_design_network(req, network, equipment, set_connector_losses=True, verbose=True) print(f'\nThere are {len(spans)} fiber spans over {sum(spans)/1000:.0f} km between {source.uid} ' 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 + design_network(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 diff --git a/tests/data/eqpt_config_sweep.json b/tests/data/eqpt_config_sweep.json new file mode 100644 index 000000000..7faf58dba --- /dev/null +++ b/tests/data/eqpt_config_sweep.json @@ -0,0 +1,235 @@ +{ "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 + } + ] + } + ] + +} diff --git a/tests/invocation/power_sweep_example b/tests/invocation/power_sweep_example new file mode 100644 index 000000000..2a71cc8bd --- /dev/null +++ b/tests/invocation/power_sweep_example @@ -0,0 +1,390 @@ +There are 95 channels propagating +Power mode is set to True +=> it can be modified in eqpt_config.json - Span +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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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 + + +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.26 + 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.45 + GSNR (signal bw, dB): 20.37 + 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.58 + GSNR (signal bw, dB): 20.50 + 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.64 + GSNR (signal bw, dB): 20.56 + 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.62 + GSNR (signal bw, dB): 20.53 + 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.44 + GSNR (signal bw, dB): 20.35 + 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.17 + GSNR (signal bw, dB): 20.09 + 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.03 + GSNR (signal bw, dB): 19.95 + 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.03 + GSNR (signal bw, dB): 19.95 + 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.03 + GSNR (signal bw, dB): 19.95 + 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.03 + GSNR (signal bw, dB): 19.95 + 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) diff --git a/tests/test_invocation.py b/tests/test_invocation.py index eef16dcf9..58d583ba4 100644 --- a/tests/test_invocation.py +++ b/tests/test_invocation.py @@ -28,7 +28,11 @@ ['--spectrum', 'gnpy/example-data/initial_spectrum2.json', 'gnpy/example-data/meshTopologyExampleV2.xls', '--show-channels', ]), ('path_requests_run_CD_PMD_PDL_missing', path_requests_run, ['tests/data/CORONET_Global_Topology_expected.json', 'tests/data/CORONET_services.json']), -)) + ('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, output, handler, args): """Make sure that our examples produce useful output""" os.chdir(SRC_ROOT)