Telecominfraproject / oopt-gnpy

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

Auto gain and output eVOA setting #409

Closed cgkelly closed 3 years ago

cgkelly commented 3 years ago

I cannot get expected behavior for an advanced EDFA model, for gain and ouput eVOA setting. In my equip_config.json file, which contains new advanced amp models: Amp models: out_voa_auto set to true Span, power_mode set to true

In my topology.json file, for each instance of the new amps, gain_target set to 0 (which should result in auto-design). delta_p set to null (is this correct?) out_voa: I have set this to null and zero, and also eliminated this entry; same results.

My amplifiers are set below their max. gain/output power, and the eVOA setting appears to be zero, no matter what I try. (If I set the power_mode to false, and gain_target to null, I get the same EDFA gains; setting the gain_target to 0 does indeed result in 0 gain, so the power_mode=true and gain_target=0 does work.

I also tried setting a fixed eVOA value, as there is no easy way of determining the intrinsic amplifier gain and output eVOA setting. Setting a non-zero eVOA value results in the same intrinsic amplifier gains; the net gain just drops by this extra eVOA loss.

Expected behavior: Amplifier gains set to the maximum possible value, and the output eVOA values set as required to achieve the determined output power.

I then tried this with the operator_model_example in the original equip_config.json file, and toggled the out_eVOA_auto field on and off, and obtained the same results (no change in the amp gains, amps are operating below their max. gain and output power). The topo file and eqpt_config files using this amp are attached, with .json extension to .txt. 5span_SRScheck_nopumps.txt eqpt_config.txt

Note - I'm using Raman spans to obtain SRS tilt).

ojnas commented 3 years ago

Hi @cgkelly, some answers below:

gain_target set to 0 (which should result in auto-design).

When power_mode is set to true, it does not matter what you set gain_target to.

delta_p set to null (is this correct?)

That works. You can also simply eliminate delta_p.

out_voa: I have set this to null and zero, and also eliminated this entry; same results.

You should set it to null or eliminate it for out_voa_auto to have an effect. Setting it to 0 will indeed make it 0.

Setting a non-zero eVOA value results in the same intrinsic amplifier gains; the net gain just drops by this extra eVOA loss.

Yes, I see in the code that an out_voa value defined in the topology file is not taken into account by auto-design when calculating target power. I think this is illogical and will probably propose a change.

Expected behavior: Amplifier gains set to the maximum possible value, and the output eVOA values set as required to achieve the determined output power.

This expected behavior is what I see when I load your attached files. For the EDFAs where out_voa were eliminated (all the west edfas), auto-design sets the value to 2 dB, while for the EDFAs where out_voa is set to 0 in the topology file (all the east edfas) it is kept at 0.

cgkelly commented 3 years ago

Thanks.

I tried it again with gain target = 0, which should be ignored with power_mode true, but I did not get any output eVOA attenuation. However, in the West direction, once I eliminated all the gain target and delta p statements, it worked.

Is there any way to tell what the eVOA settings are, as I only see the net gains.

Colin

From: Jonas Mårtensson @.> Sent: Thursday, June 10, 2021 5:11 PM To: Telecominfraproject/oopt-gnpy @.> Cc: Kelly, Colin (Nokia - CA/Ottawa) @.>; Mention @.> Subject: Re: [Telecominfraproject/oopt-gnpy] Auto gain and output eVOA setting (#409)

Hi @cgkellyhttps://github.com/cgkelly, some answers below:

gain_target set to 0 (which should result in auto-design).

When power_mode is set to true, it does not matter what you set gain_target to.

delta_p set to null (is this correct?)

That works. You can also simply eliminate delta_p.

out_voa: I have set this to null and zero, and also eliminated this entry; same results.

You should set it to null or eliminate it for out_voa_auto to have an effect. Setting it to 0 will indeed make it 0.

Setting a non-zero eVOA value results in the same intrinsic amplifier gains; the net gain just drops by this extra eVOA loss.

Yes, I see in the code that an out_voa value defined in the topology file is not taken into account by auto-design when calculating target power. I think this is illogical and will probably propose a change.

Expected behavior: Amplifier gains set to the maximum possible value, and the output eVOA values set as required to achieve the determined output power.

This expected behavior is what I see when I load your attached files. For the EDFAs where out_voa were eliminated (all the west edfas), auto-design sets the value to 2 dB, while for the EDFAs where out_voa is set to 0 in the topology file (all the east edfas) it is kept at 0.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Telecominfraproject/oopt-gnpy/issues/409#issuecomment-859010055, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATEPR45PJHWIF2SUAGWAZ4TTSEL5ZANCNFSM46PCHSPQ.

ojnas commented 3 years ago

@cgkelly,

Is there any way to tell what the eVOA settings are, as I only see the net gains.

The out_voa setting for every amplifier in the path is printed when you run gnpy-transmission-example. In gnpy.app you can also see the setting resulting from auto-design for every amp in the network by hovering over it in the topology graph with the mouse.

cgkelly commented 3 years ago

Thanks, Jonas.

For my example 5 span network (using my amps instead of the files I sent you), the app times out. I’m running directly from a command window, scripts\gnpy-transmission-example ./example-data/Raman_topo_5.json --sim ./example-data/sim_params.json -e ./example-data/my_eqpt_config.json --show-channels

The output from this (using your modified request.py file) lists the amp input/output power levels, and the SNRs at the end of the path, but not the eVOA values.

Colin From: Jonas Mårtensson @.> Sent: Saturday, June 12, 2021 7:37 AM To: Telecominfraproject/oopt-gnpy @.> Cc: Kelly, Colin (Nokia - CA/Ottawa) @.>; Mention @.> Subject: Re: [Telecominfraproject/oopt-gnpy] Auto gain and output eVOA setting (#409)

@cgkellyhttps://github.com/cgkelly,

Is there any way to tell what the eVOA settings are, as I only see the net gains.

The out_voa setting for every amplifier in the path is printed when you run gnpy-transmission-example. In gnpy.apphttps://gnpy.app/ you can also see the setting resulting from auto-design for every amp in the network by hovering over it in the topology graph with the mouse.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Telecominfraproject/oopt-gnpy/issues/409#issuecomment-860034927, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ATEPR44EVHRTTUCJJUBJYZTTSM2DVANCNFSM46PCHSPQ.

ojnas commented 3 years ago

@cgkelly,

For my example 5 span network (using my amps instead of the files I sent you), the app times out.

I see, that's unfortunate. This is related to the idle timeout of the Azure load balancer and there is not much I can do about it. How long does it take to run the script on your computer? Note that you can see out_voa values, etc., resulting from auto-design in the topology graph in the app even before running a simulation (i.e. by clicking "Run simulation" or uploading a services file).

The output from this (using your modified request.py file) lists the amp input/output power levels, and the SNRs at the end of the path, but not the eVOA values.

That is strange, it should be printed. Did you somehow modify cli_examples.py as well because that is where the printing of information about all elements in the path happens?

cgkelly commented 3 years ago

Upgraded to release 2.3.1, and I now see the eVOA settings. I also see them auto-set if I permit. Some other pecularities with their settings, but this is a different issue.