Telecominfraproject / oopt-gnpy

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

Input power #363

Open indayara opened 4 years ago

indayara commented 4 years ago

Hello,

I created a topology with 3 nodes ( trx 1, connected in a roadm/fiber/trx 2; and trx2 connected in a roadm/fiber/trx 3).
I would like to apply differents input power for each transceivers. Trx1 working in 0 dbm Trx 2 working in -1 dBm Trx 3 working in 1 dBm. Is it possible?

Tks,

ojnas commented 4 years ago

I'm not sure what you want to do but GNPy does not currently model impact of different input powers to a transceiver. Note that the (main) output from GNPy is OSNR/GSNR, which does not depend on transceiver input power. Also, as long as the transceiver input power is "high enough", the final BER normally does not depend on this input power. However, if the input power is close to the receiver sensitivity, it will have an impact on BER. This is sometimes modeled with an OSNR penalty but such a model is currently not implemented in GNPy.

indayara commented 4 years ago

Hi Jonas,

My network model each spans are projected to work in a specified power. For example a topology with 3 nodes and 2 spans. Connections: Node1-> ROADM1->fiber_80Km->Roadm2->Node2->Roadm3->fiber50Km->Roadm4->Node3 transmitting 40 channels between Node1 -> Node3 considering : -1dbm/channel between node1->node2 AND 0 dbm/channel between node2->node3.

With Gnpy I did : 40 channels between Node1 -> Node3 considering the same power in all spans However I' d like to transmit : 40 channels between Node1 -> Node3 considering -1dbm/channel between node1->node2 AND 0 dbm/channel between node2->node3.

Let me know if I can do it with Gnpy.

Thank you for your feedback.

Indayara.

On Wed, Oct 14, 2020 at 8:56 AM Jonas Mårtensson notifications@github.com wrote:

I'm not sure what you want to do but GNPy does not currently model impact of different input powers to a transceiver. Note that the (main) output from GNPy is OSNR/GSNR, which does not depend on transceiver input power. Also, as long as the transceiver input power is "high enough", the final BER normally does not depend on this input power. However, if the input power is close to the receiver sensitivity, it will have an impact on BER. This is sometimes modeled with an OSNR penalty but such a model is currently not implemented in GNPy.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-708201678, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GMBUMG34WKNHV2N3ILSKVDSNANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

ojnas commented 4 years ago

It is possible to set different power in different spans by explicitly setting the gain of the EDFA in front of each span. If you could attach your topology json file I could try and help you with the necessary modifications.

indayara commented 4 years ago

Hi Jonas,

The files were attached (NetworkRaman_jonas.json and eqpt1_config.json) I added 2 news amps in eqpt1_config (EK_ILHCS and EK_ILHCS1). I wish set the following power out: Power out (edfa amps) for (POP Mnaheim to SM2 MOR Adelrsried) and (Wiener Neustadt to Hartberg): 15dBm; Power out for other amps:17dBm;

Thank you for your support.

Indayara.

On Wed, Oct 14, 2020 at 9:04 PM Jonas Mårtensson notifications@github.com wrote:

It is possible to set different power in different spans by explicitly setting the gain of the EDFA in front of each span. If you could attach your topology json file I could try and help you with the necessary modifications.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-708600939, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GLH5MND66VNDEYZTHDSKXY2XANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

ojnas commented 4 years ago

Hmm, I don't see any attachment. Maybe github does not support attaching json files. Try to zip them or change extension to .txt.

jktjkt commented 4 years ago

@indayara , you'll have to visit GitHub's web interface and attach these files from there. E-mail attachments are not picked up on GitHub.

indayara commented 4 years ago

files in .txt.

tks, Indayara.

On Wed, Oct 21, 2020 at 11:02 AM Jonas Mårtensson notifications@github.com wrote:

Hmm, I don't see any attachment. Maybe github does not support attaching json files. Try to zip them or change extension to .txt.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-713422605, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GL7DKVOXP4ZYXZDV7LSL2PTRANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

{ "elements": [ { "uid": "trx Frankfurt", "metadata": { "location": { "city": "Frankfurt", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Transceiver" }, { "uid": "trx Munchen", "metadata": { "location": { "city": "Munchen", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Transceiver" }, { "uid": "trx Salzburg", "metadata": { "location": { "city": "Salzburg", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Vienna Interxion", "metadata": { "location": { "city": "Vienna Interxion", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Graz West", "metadata": { "location": { "city": "Graz West", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx MB Forum", "metadata": { "location": { "city": "MB Forum", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx LJ Brnciceva", "metadata": { "location": { "city": "LJ Brnciceva", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Zagreb", "metadata": { "location": { "city": "Zagreb", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Beograd", "metadata": { "location": { "city": "Beograd", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Sofia", "metadata": { "location": { "city": "Sofia", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "trx Istanbul", "metadata": { "location": { "city": "Istanbul", "region": "RLD", "latitude": 2.0, "longitude": 4.0 } }, "type": "Transceiver" }, { "uid": "roadm Frankfurt", "metadata": { "location": { "city": "Frankfurt", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Munchen", "metadata": { "location": { "city": "Munchen", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Salzburg", "metadata": { "location": { "city": "Salzburg", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Vienna Interxion", "metadata": { "location": { "city": "Vienna Interxion", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Graz West", "metadata": { "location": { "city": "Graz West", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm MB Forum", "metadata": { "location": { "city": "MB Forum", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm LJ Brnciceva", "metadata": { "location": { "city": "LJ Brnciceva", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Zagreb", "metadata": { "location": { "city": "Zagreb", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Beograd", "metadata": { "location": { "city": "Beograd", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Sofia", "metadata": { "location": { "city": "Sofia", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "roadm Istanbul", "metadata": { "location": { "city": "Istanbul", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Roadm" }, { "uid": "edfa Pop Mnaheim", "metadata": { "location": { "city": "Pop Mnaheim", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Mor Karlsruhe", "metadata": { "location": { "city": "Mor Karlsruhe", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Pop Stuttgart", "metadata": { "location": { "city": "Pop Stuttgart", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa SM1 Mor Aichen", "metadata": { "location": { "city": "SM1 Mor Aichen", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa SM2 Mor Adelsried", "metadata": { "location": { "city": "SM2 Mor Adelsried", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Station Halfing", "metadata": { "location": { "city": "Station Halfing", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Frankenmarkt", "metadata": { "location": { "city": "Frankenmarkt", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Sattledt", "metadata": { "location": { "city": "Sattledt", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Amstetten", "metadata": { "location": { "city": "Amstetten", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa St Polten", "metadata": { "location": { "city": "St Polten", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Sittendorf", "metadata": { "location": { "city": "Sittendorf", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Wiener Neustadt", "metadata": { "location": { "city": "Wiener Neustadt", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Hartberg", "metadata": { "location": { "city": "Hartberg", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS1", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Vransko", "metadata": { "location": { "city": "Vransko", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Nove Mesto", "metadata": { "location": { "city": "Nove Mesto", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Sisak", "metadata": { "location": { "city": "Sisak", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Okucani", "metadata": { "location": { "city": "Okucani", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Slobodnica", "metadata": { "location": { "city": "Slobodnica", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Mirkovci", "metadata": { "location": { "city": "Mirkovci", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Novi Sad", "metadata": { "location": { "city": "Novi Sad", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Mladenovac", "metadata": { "location": { "city": "Mladenovac", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Kragujevac", "metadata": { "location": { "city": "Kragujevac", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Kraljevo", "metadata": { "location": { "city": "Kraljevo", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Krusevac", "metadata": { "location": { "city": "Krusevac", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Nis", "metadata": { "location": { "city": "Nis", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Pirot", "metadata": { "location": { "city": "Pirot", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Ihtiman", "metadata": { "location": { "city": "Ihtiman", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Pazardzhik", "metadata": { "location": { "city": "Pazardzhik", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Plovdiv", "metadata": { "location": { "city": "Plovdiv", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Haskovo", "metadata": { "location": { "city": "Haskovo", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Svilengrad", "metadata": { "location": { "city": "Svilengrad", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Edirne", "metadata": { "location": { "city": "Edirne", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Luleburgaz", "metadata": { "location": { "city": "Luleburgaz", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "edfa Silivri", "metadata": { "location": { "city": "Silivri", "region": "RLD", "latitude": 2.0, "longitude": 3.0 } }, "type": "Edfa", "type_variety": "EK_ILHCS", "operational": { "gain_target": 22, "delta_p": null, "tilt_target": 0, "out_voa": 0 } }, { "uid": "Span1", "type": "RamanFiber", "type_variety": "SSMF", "operational": { "temperature": 283, "raman_pumps": [ { "power": 200e-3, "frequency": 205e12, "propagation_direction": "counterprop" }, { "power": 206e-3, "frequency": 201e12, "propagation_direction": "counterprop" } ] }, "params": { "type_variety": "SSMF", "length": 120.0, "loss_coef": 0.25, "length_units": "km", "att_in": 0, "con_in": 0.0, "con_out": 0.0 }, "metadata": { "location": { "latitude": 0.0, "longitude": 0.5, "city": null, "region": "" } } }, { "uid": "Span2", "type": "RamanFiber", "type_variety": "SSMF", "operational": { "temperature": 283, "raman_pumps": [ { "power": 200e-3, "frequency": 205e12, "propagation_direction": "counterprop" }, { "power": 206e-3, "frequency": 201e12, "propagation_direction": "counterprop" } ] }, "params": { "type_variety": "SSMF", "length": 94.0, "loss_coef": 0.223, "length_units": "km", "att_in": 0, "con_in": 0.0, "con_out": 0.0 }, "metadata": { "location": { "latitude": 0.0, "longitude": 0.5, "city": null, "region": "" } } }, { "uid": "fiber1", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 72.0, "length_units": "km", "loss_coef": 0.236, "con_in": null, "con_out": null } }, { "uid": "fiber2", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 70.0, "length_units": "km", "loss_coef": 0.228, "con_in": null, "con_out": null } }, { "uid": "fiber3", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 70.0, "length_units": "km", "loss_coef": 0.228, "con_in": null, "con_out": null } }, { "uid": "fiber4", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 80.0, "length_units": "km", "loss_coef": 0.225, "con_in": null, "con_out": null } }, { "uid": "fiber5", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 85.0, "length_units": "km", "loss_coef": 0.223, "con_in": null, "con_out": null } }, { "uid": "fiber6", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 86.0, "length_units": "km", "loss_coef": 0.209, "con_in": null, "con_out": null } }, { "uid": "fiber7", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 53.0, "length_units": "km", "loss_coef": 0.207, "con_in": null, "con_out": null } }, { "uid": "fiber8", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 68.0, "length_units": "km", "loss_coef": 0.205, "con_in": null, "con_out": null } }, { "uid": "fiber9", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 76.0, "length_units": "km", "loss_coef": 0.197, "con_in": null, "con_out": null } }, { "uid": "fiber10", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 80.0, "length_units": "km", "loss_coef": 0.20, "con_in": null, "con_out": null } }, { "uid": "fiber11", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 68.0, "length_units": "km", "loss_coef": 0.19, "con_in": null, "con_out": null } }, { "uid": "fiber12", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 65.0, "length_units": "km", "loss_coef": 0.246, "con_in": null, "con_out": null } }, { "uid": "fiber13", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 80.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber14", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 87.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber15", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "NZDF", "params": { "length": 69.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber16", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 112.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber17", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 88.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber18", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 45.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber19", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 110.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber20", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 97.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber21", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 90.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber22", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 82.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber23", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 61.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber24", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 76.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber25", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 110.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber26", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 101.3, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber27", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 70.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber28", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 72.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber29", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 74.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber30", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 73.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber31", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 88.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber32", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 83.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber33", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 114.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber34", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 75.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber35", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 72.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber36", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 45.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber37", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 87.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber38", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 73.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber39", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 100.0, "length_units": "km", "loss_coef": 0.23, "con_in": null, "con_out": null } }, { "uid": "fiber40", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 87.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber41", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 87.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } }, { "uid": "fiber42", "metadata": { "location": { "latitude": 2.0, "longitude": 3.5 } }, "type": "Fiber", "type_variety": "SSMF", "params": { "length": 75.0, "length_units": "km", "loss_coef": 0.229, "con_in": null, "con_out": null } } ], "connections": [ { "from_node": "trx Frankfurt", "to_node": "roadm Frankfurt" },
{ "from_node": "roadm Frankfurt", "to_node": "Span1" }, { "from_node": "Span1", "to_node": "edfa Pop Mnaheim" }, { "from_node": "edfa Pop Mnaheim", "to_node": "fiber1" }, { "from_node": "fiber1", "to_node": "edfa Mor Karlsruhe" }, { "from_node": "edfa Mor Karlsruhe", "to_node": "fiber2" }, { "from_node": "fiber2", "to_node": "edfa Pop Stuttgart" }, { "from_node": "edfa Pop Stuttgart", "to_node": "fiber3" }, { "from_node": "fiber3", "to_node": "edfa SM1 Mor Aichen" }, { "from_node": "edfa SM1 Mor Aichen", "to_node": "fiber4" }, { "from_node": "fiber4", "to_node": "edfa SM2 Mor Adelsried" }, { "from_node": "edfa SM2 Mor Adelsried", "to_node": "fiber5" }, { "from_node": "fiber5", "to_node": "roadm Munchen" }, { "from_node": "roadm Munchen", "to_node": "trx Munchen" }, { "from_node": "trx Munchen", "to_node": "roadm Munchen" }, { "from_node": "roadm Munchen", "to_node": "Span2" }, { "from_node": "Span2", "to_node": "edfa Station Halfing" }, { "from_node": "edfa Station Halfing", "to_node": "fiber6" }, { "from_node": "fiber6", "to_node": "roadm Salzburg" }, { "from_node": "roadm Salzburg", "to_node": "trx Salzburg" }, { "from_node": "trx Salzburg", "to_node": "roadm Salzburg" }, { "from_node": "roadm Salzburg", "to_node": "fiber7" }, { "from_node": "fiber7", "to_node": "edfa Frankenmarkt" }, { "from_node": "edfa Frankenmarkt", "to_node": "fiber8" }, { "from_node": "fiber8", "to_node": "edfa Sattledt" }, { "from_node": "edfa Sattledt", "to_node": "fiber9" }, { "from_node": "fiber9", "to_node": "edfa Amstetten" }, { "from_node": "edfa Amstetten", "to_node": "fiber10" }, { "from_node": "fiber10", "to_node": "edfa St Polten" }, { "from_node": "edfa St Polten", "to_node": "fiber11" }, { "from_node": "fiber11", "to_node": "edfa Sittendorf" }, { "from_node": "edfa Sittendorf", "to_node": "fiber12" }, { "from_node": "fiber12", "to_node": "roadm Vienna Interxion" }, { "from_node": "roadm Vienna Interxion", "to_node": "trx Vienna Interxion" }, { "from_node": "trx Vienna Interxion", "to_node": "roadm Vienna Interxion" }, { "from_node": "roadm Vienna Interxion", "to_node": "fiber13" }, { "from_node": "fiber13", "to_node": "edfa Wiener Neustadt" }, { "from_node": "edfa Wiener Neustadt", "to_node": "fiber14" }, { "from_node": "fiber14", "to_node": "edfa Hartberg" }, { "from_node": "edfa Hartberg", "to_node": "fiber15" }, { "from_node": "fiber15", "to_node": "roadm Graz West" }, { "from_node": "roadm Graz West", "to_node": "trx Graz West" }, { "from_node": "roadm Graz West", "to_node": "trx Graz West" }, { "from_node": "trx Graz West", "to_node": "roadm Graz West" }, { "from_node": "roadm Graz West", "to_node": "fiber16" }, { "from_node": "fiber16", "to_node": "roadm MB Forum" }, { "from_node": "roadm MB Forum", "to_node": "trx MB Forum" }, { "from_node": "trx MB Forum", "to_node": "roadm MB Forum" }, { "from_node": "roadm MB Forum", "to_node": "fiber17" }, { "from_node": "fiber17", "to_node": "edfa Vransko" }, { "from_node": "edfa Vransko", "to_node": "fiber18" }, { "from_node": "fiber18", "to_node": "roadm LJ Brnciceva" }, { "from_node": "roadm LJ Brnciceva", "to_node": "trx LJ Brnciceva" }, { "from_node": "trx LJ Brnciceva", "to_node": "roadm LJ Brnciceva" }, { "from_node": "roadm LJ Brnciceva", "to_node": "fiber19" }, { "from_node": "fiber19", "to_node": "edfa Nove Mesto" }, { "from_node": "edfa Nove Mesto", "to_node": "fiber20" }, { "from_node": "fiber20", "to_node": "roadm Zagreb" }, { "from_node": "roadm Zagreb", "to_node": "trx Zagreb" }, { "from_node": "trx Zagreb", "to_node": "roadm Zagreb" }, { "from_node": "roadm Zagreb", "to_node": "fiber21" }, { "from_node": "fiber21", "to_node": "edfa Sisak" }, { "from_node": "edfa Sisak", "to_node": "fiber22" }, { "from_node": "fiber22", "to_node": "edfa Okucani" }, { "from_node": "edfa Okucani", "to_node": "fiber23" }, { "from_node": "fiber23", "to_node": "edfa Slobodnica" }, { "from_node": "edfa Slobodnica", "to_node": "fiber24" }, { "from_node": "fiber24", "to_node": "edfa Mirkovci" }, { "from_node": "edfa Mirkovci", "to_node": "fiber25" }, { "from_node": "fiber25", "to_node": "edfa Novi Sad" }, { "from_node": "edfa Novi Sad", "to_node": "fiber26" }, { "from_node": "fiber26", "to_node": "roadm Beograd" }, { "from_node": "roadm Beograd", "to_node": "trx Beograd" }, { "from_node": "trx Beograd", "to_node": "roadm Beograd" }, { "from_node": "roadm Beograd", "to_node": "fiber27" }, { "from_node": "fiber27", "to_node": "edfa Mladenovac" }, { "from_node": "edfa Mladenovac", "to_node": "fiber28" }, { "from_node": "fiber28", "to_node": "edfa Kragujevac" }, { "from_node": "edfa Kragujevac", "to_node": "fiber29" }, { "from_node": "fiber29", "to_node": "edfa Kraljevo" }, { "from_node": "edfa Kraljevo", "to_node": "fiber30" }, { "from_node": "fiber30", "to_node": "edfa Krusevac" }, { "from_node": "edfa Krusevac", "to_node": "fiber31" }, { "from_node": "fiber31", "to_node": "edfa Nis" }, { "from_node": "edfa Nis", "to_node": "fiber32" }, { "from_node": "fiber32", "to_node": "edfa Pirot" }, { "from_node": "edfa Pirot", "to_node": "fiber33" }, { "from_node": "fiber33", "to_node": "roadm Sofia" }, { "from_node": "roadm Sofia", "to_node": "trx Sofia" }, { "from_node": "trx Sofia", "to_node": "roadm Sofia" }, { "from_node": "roadm Sofia", "to_node": "fiber34" }, { "from_node": "fiber34", "to_node": "edfa Ihtiman" }, { "from_node": "edfa Ihtiman", "to_node": "fiber35" }, { "from_node": "fiber35", "to_node": "edfa Pazardzhik" }, { "from_node": "edfa Pazardzhik", "to_node": "fiber36" }, { "from_node": "fiber36", "to_node": "edfa Plovdiv" }, { "from_node": "edfa Plovdiv", "to_node": "fiber37" }, { "from_node": "fiber37", "to_node": "edfa Haskovo" }, { "from_node": "edfa Haskovo", "to_node": "fiber38" }, { "from_node": "fiber38", "to_node": "edfa Svilengrad" }, { "from_node": "edfa Svilengrad", "to_node": "fiber39" }, { "from_node": "fiber39", "to_node": "edfa Edirne" }, { "from_node": "edfa Edirne", "to_node": "fiber40" }, { "from_node": "fiber40", "to_node": "edfa Luleburgaz" }, { "from_node": "edfa Luleburgaz", "to_node": "fiber41" }, { "from_node": "fiber41", "to_node": "edfa Silivri" }, { "from_node": "edfa Silivri", "to_node": "fiber42" }, { "from_node": "fiber42", "to_node": "roadm Istanbul" }, { "from_node": "roadm Istanbul", "to_node": "trx Istanbul" } ] }

{ "Edfa":[{ "type_variety": "high_detail_model_example", "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": false },
{ "type_variety": "Juniper_BoosterHG", "type_def": "advanced_model", "gain_flatmax": 25, "gain_min": 10, "p_max": 21, "advanced_config_from_json": "Juniper-BoosterHG.json", "out_voa_auto": false, "allowed_for_design": false }, { "type_variety": "operator_model_example", "type_def": "variable_gain", "gain_flatmax": 26, "gain_min": 15, "p_max": 23, "nf_min": 6, "nf_max": 10, "out_voa_auto": false, "allowed_for_design": false
}, { "type_variety": "low_noise", "type_def": "openroadm", "gain_flatmax": 27, "gain_min": 12, "p_max": 22, "nf_coef": [-8.104e-4,-6.221e-2,-5.889e-1,37.62], "allowed_for_design": false },
{ "type_variety": "standard", "type_def": "openroadm", "gain_flatmax": 27, "gain_min": 12, "p_max": 22, "nf_coef": [-5.952e-4,-6.250e-2,-1.071,28.99], "allowed_for_design": false }, { "type_variety": "std_high_gain", "type_def": "variable_gain", "gain_flatmax": 35, "gain_min": 25, "p_max": 21, "nf_min": 5.5, "nf_max": 7, "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": 23, "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": 23, "nf_min": 6.5, "nf_max": 11, "out_voa_auto": false, "allowed_for_design": true }, { "type_variety": "Ek_ILHCS", "type_def": "variable_gain", "gain_flatmax": 32, "gain_min": 18, "p_max": 17, "nf_min": 5.5, "nf_max": 9, "out_voa_auto": false, "allowed_for_design": true }, { "type_variety": "Ek_ILHCS1", "type_def": "variable_gain", "gain_flatmax": 32, "gain_min": 18, "p_max": 15, "nf_min": 5.5, "nf_max": 9, "out_voa_auto": false, "allowed_for_design": true }, { "type_variety": "high_power", "type_def": "variable_gain", "gain_flatmax": 16, "gain_min": 8, "p_max": 25, "nf_min": 9, "nf_max": 15, "out_voa_auto": false, "allowed_for_design": false },
{ "type_variety": "std_fixed_gain", "type_def": "fixed_gain", "gain_flatmax": 21, "gain_min": 20, "p_max": 21, "nf0": 5.5, "allowed_for_design": false }, { "type_variety": "4pumps_raman", "type_def": "fixed_gain", "gain_flatmax": 12, "gain_min": 12, "p_max": 21, "nf0": -1, "allowed_for_design": false },
{ "type_variety": "hybrid_4pumps_lowgain", "type_def": "dual_stage", "raman": true, "gain_min": 25, "preamp_variety": "4pumps_raman", "booster_variety": "std_low_gain", "allowed_for_design": true }, { "type_variety": "hybrid_4pumps_mediumgain", "type_def": "dual_stage", "raman": true, "gain_min": 25, "preamp_variety": "4pumps_raman", "booster_variety": "std_medium_gain", "allowed_for_design": true },
{ "type_variety": "medium+low_gain", "type_def": "dual_stage", "gain_min": 25, "preamp_variety": "std_medium_gain", "booster_variety": "std_low_gain", "allowed_for_design": true }, { "type_variety": "medium+high_power", "type_def": "dual_stage", "gain_min": 25, "preamp_variety": "std_medium_gain", "booster_variety": "high_power", "allowed_for_design": false }
], "Fiber":[{ "type_variety": "SSMF", "dispersion": 1.67e-05, "gamma": 0.00127 }, { "type_variety": "NZDF", "dispersion": 0.5e-05, "gamma": 0.00146 }, { "type_variety": "LOF", "dispersion": 2.2e-05, "gamma": 0.000843 } ],

  "RamanFiber":[{
        "type_variety": "SSMF",
        "dispersion": 0.5e-05,
        "gamma": 0.00146,
        "raman_efficiency": {
          "cr":[
              0, 9.4E-06, 2.92E-05, 4.88E-05, 6.82E-05, 8.31E-05, 9.4E-05, 0.0001014, 0.0001069, 0.0001119,
              0.0001217, 0.0001268, 0.0001365, 0.000149, 0.000165, 0.000181, 0.0001977, 0.0002192, 0.0002469,
              0.0002749, 0.0002999, 0.0003206, 0.0003405, 0.0003592, 0.000374, 0.0003826, 0.0003841, 0.0003826,
              0.0003802, 0.0003756, 0.0003549, 0.0003795, 0.000344, 0.0002933, 0.0002024, 0.0001158, 8.46E-05,
              7.14E-05, 6.86E-05, 8.5E-05, 8.93E-05, 9.01E-05, 8.15E-05, 6.67E-05, 4.37E-05, 3.28E-05, 2.96E-05,
              2.65E-05, 2.57E-05, 2.81E-05, 3.08E-05, 3.67E-05, 5.85E-05, 6.63E-05, 6.36E-05, 5.5E-05, 4.06E-05,
              2.77E-05, 2.42E-05, 1.87E-05, 1.6E-05, 1.4E-05, 1.13E-05, 1.05E-05, 9.8E-06, 9.8E-06, 1.13E-05,
              1.64E-05, 1.95E-05, 2.38E-05, 2.26E-05, 2.03E-05, 1.48E-05, 1.09E-05, 9.8E-06, 1.05E-05, 1.17E-05,
              1.25E-05, 1.21E-05, 1.09E-05, 9.8E-06, 8.2E-06, 6.6E-06, 4.7E-06, 2.7E-06, 1.9E-06, 1.2E-06, 4E-07,
              2E-07, 1E-07
          ],
          "frequency_offset":[
            0, 0.5e12, 1e12, 1.5e12, 2e12, 2.5e12, 3e12, 3.5e12, 4e12, 4.5e12, 5e12, 5.5e12, 6e12, 6.5e12, 7e12,
            7.5e12, 8e12, 8.5e12, 9e12, 9.5e12, 10e12, 10.5e12, 11e12, 11.5e12, 12e12, 12.5e12, 12.75e12,
            13e12, 13.25e12, 13.5e12, 14e12, 14.5e12, 14.75e12, 15e12, 15.5e12, 16e12, 16.5e12, 17e12,
            17.5e12, 18e12, 18.25e12, 18.5e12, 18.75e12, 19e12, 19.5e12, 20e12, 20.5e12, 21e12, 21.5e12,
            22e12, 22.5e12, 23e12, 23.5e12, 24e12, 24.5e12, 25e12, 25.5e12, 26e12, 26.5e12, 27e12, 27.5e12, 28e12,
            28.5e12, 29e12, 29.5e12, 30e12, 30.5e12, 31e12, 31.5e12, 32e12, 32.5e12, 33e12, 33.5e12, 34e12, 34.5e12,
            35e12, 35.5e12, 36e12, 36.5e12, 37e12, 37.5e12, 38e12, 38.5e12, 39e12, 39.5e12, 40e12, 40.5e12, 41e12,
            41.5e12, 42e12
          ]
          }
        }
  ],
  "Span":[{
        "power_mode":true,
        "delta_power_range_db": [0,0,0],
        "max_fiber_lineic_loss_for_raman": 0.25,
        "target_extended_gain": 2.5,
        "max_length": 150,
        "length_units": "km",
        "max_loss": 28,
        "padding": 0,
        "EOL": 0,
        "con_in": 0,
        "con_out": 0
        }
  ],
  "Roadm":[{
        "target_pch_out_db": -18,
        "add_drop_osnr": 38,
        "restrictions": {
                        "preamp_variety_list":["Ek_ILHCS"],
                        "booster_variety_list":["Ek_ILHCS"]
                        }            
        }
        ],

  "SI":[{
        "f_min": 192.0e12,
        "baud_rate": 41.001e9,
        "f_max":194.0e12,
        "spacing": 50e9,
        "power_dbm": -1,
        "power_range_db": [0,0,0],
        "roll_off": 0.2,
        "tx_osnr": 42,
        "sys_margins": 0
        }],
  "Transceiver":[
        {
        "type_variety": "vendorA_trx-type1",
        "frequency":{
                    "min": 191.35e12,
                    "max": 196.1e12
                    },
        "mode":[
                   {
                   "format": "mode 1",
                   "baud_rate": 32e9,
                   "OSNR": 11,
                   "bit_rate": 100e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 37.5e9,
                   "cost":1
                   },
                   {
                   "format": "mode 2",
                   "baud_rate": 66e9,
                   "OSNR": 15,
                   "bit_rate": 200e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 75e9,
                   "cost":1
                   }
               ]
        },
        {
        "type_variety": "Voyager",
        "frequency":{
                    "min": 191.7e12,
                    "max": 196.15e12
                    },
        "mode":[
                   {
                   "format": "mode 1",
                   "baud_rate": 32e9,
                   "OSNR": 12,
                   "bit_rate": 100e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 37.5e9,
                   "cost":1
                   },
                   {
                   "format": "mode 3",
                   "baud_rate": 44e9,
                   "OSNR": 18,
                   "bit_rate": 100e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 62.5e9,
                   "cost":1
                   },
                   {
                   "format": "mode 2",
                   "baud_rate": 66e9,
                   "OSNR": 21,
                   "bit_rate": 100e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 75e9,
                   "cost":1
                   },
                   {
                   "format": "mode 4",
                   "baud_rate": 66e9,
                   "OSNR": 16,
                   "bit_rate": 100e9,
                   "roll_off": 0.15,
                   "tx_osnr": 40,
                   "min_spacing": 75e9,
                   "cost":1
        }
               ]
        }                                                                               

  ]

}

ojnas commented 4 years ago

First of all, the only way to have full control of the power levels in every span (as fas as I know) is to set "power_mode":false under Span in the equipment configuration file. Then you have to manually calculate and set the gain of each Edfa in the topology file to have the desired power out (depending on power in). You also have to make sure the resulting gain and power level are within the Edfa range specified in the equipment configuration file.

Tobelightbeam commented 4 years ago

hi @ojnas and @indayara , maybe we can do this in power mode through the "delta_p" of EDFA rather than target gain. In this way, the gain of a EDFA will be set according to the "delta_p" of EDFA and power_dbm of SI.

ojnas commented 4 years ago

@Tobelightbeam, you are right, thanks. Somehow I overlooked the possibility of setting delta_p manually in the topology file (it's not a well documented feature).

@indayara, this is probably the easiest way to achieve what you want. In this case you set "power_mode": true (as you already had in your eqpt config). The reference Edfa output power per channel is then defined by the "power_dbm" parameter under "SI" in the equipment configuration file (at least if you're running the gnpy-transmission-example script). For all the Edfas in the network that should use this reference power level you can either explicitly set "delta_p": 0 in the topology file or you can leave it as "delta_p": null if you also set "delta_power_range_db": [0,0,0] under "Span" in the equipment configuration file (I think you already had this). If you want an Edfa to have 2 dB lower output power than the reference you just set "delta_p": -2 in the topology file for this Edfa (the "gain_target" parameter for every Edfa in the topology file is overwritten in power_mode so you can remove it or leave it as is, it doesn't matter). Note however that the power will be "clamped" during propagation if the resulting total power is higher than the "p_max" for this Edfa type_variety specified in the equipment configuration file. So for example, for the Edfa in POP Mnaheim it could look something like this:

     {
      "uid": "edfa Pop Mnaheim",
      "metadata": {
        "location": {
          "city": "Pop Mnaheim",
          "region": "RLD",
          "latitude": 2.0,
          "longitude": 3.0
        }
      },
      "type": "Edfa",
      "type_variety": "EK_ILHCS1",
      "operational": {
         "delta_p": -2,
         "tilt_target": 0,
         "out_voa": 0
      }
    },
indayara commented 4 years ago

@ojnas https://github.com/ojnas and @Tobelightbeam https://github.com/Tobelightbeam, thank for feedback. I'll do this.

Indayara.

On Mon, Oct 26, 2020 at 2:14 PM Jonas Mårtensson notifications@github.com wrote:

@Tobelightbeam https://github.com/Tobelightbeam, you are right, thanks. Somehow I overlooked the possibility of setting delta_p manually in the topology file (it's not a well documented feature).

@indayara https://github.com/indayara, this is probably the easiest way to achieve what you want. In this case you set "power_mode": true (as you already had in your eqpt config). The reference Edfa output power per channel is then defined by the "power_dbm" parameter under "SI" in the equipment configuration file (at least if you're running the gnpy-transmission-example script). For all the Edfas in the network that should use this reference power level you can either explicitly set "delta_p": 0 in the topology file or you can leave it as "delta_p": null if you also set "delta_power_range_db": [0,0,0] under "Span" in the equipment configuration file (I think you already had this). If you want an Edfa to have 2 dB lower output power than the reference you just set "delta_p": -2 in the topology file for this Edfa (the "gain_target" parameter for every Edfa in the topology file is overwritten in power_mode so you can remove it or leave it as is, it doesn't matter). Note however that the power will be "clamped" during propagation if the resulting total power is higher than the "p_max" for this Edfa type_variety specified in the equipment configuration file. So for example, for the Edfa in POP Mnaheim it could look something like this:

 {
  "uid": "edfa Pop Mnaheim",
  "metadata": {
    "location": {
      "city": "Pop Mnaheim",
      "region": "RLD",
      "latitude": 2.0,
      "longitude": 3.0
    }
  },
  "type": "Edfa",
  "type_variety": "EK_ILHCS1",
  "operational": {
     "delta_p": -2,
     "tilt_target": 0,
     "out_voa": 0
  }
},

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-716537564, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GMIWTJEICDRODYF43DSMVY3LANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

indayara commented 4 years ago

Jonas,

Let me know if it is possible to implement Raman Fiber - Corning LEAF - G655 in eqpt_config.json.

Thank you. Indayara.

On Mon, Oct 26, 2020 at 5:33 PM Indayara Bertoldi Martins < indayara@gmail.com> wrote:

@ojnas https://github.com/ojnas and @Tobelightbeam https://github.com/Tobelightbeam, thank for feedback. I'll do this.

Indayara.

On Mon, Oct 26, 2020 at 2:14 PM Jonas Mårtensson notifications@github.com wrote:

@Tobelightbeam https://github.com/Tobelightbeam, you are right, thanks. Somehow I overlooked the possibility of setting delta_p manually in the topology file (it's not a well documented feature).

@indayara https://github.com/indayara, this is probably the easiest way to achieve what you want. In this case you set "power_mode": true (as you already had in your eqpt config). The reference Edfa output power per channel is then defined by the "power_dbm" parameter under "SI" in the equipment configuration file (at least if you're running the gnpy-transmission-example script). For all the Edfas in the network that should use this reference power level you can either explicitly set "delta_p": 0 in the topology file or you can leave it as "delta_p": null if you also set "delta_power_range_db": [0,0,0] under "Span" in the equipment configuration file (I think you already had this). If you want an Edfa to have 2 dB lower output power than the reference you just set "delta_p": -2 in the topology file for this Edfa (the "gain_target" parameter for every Edfa in the topology file is overwritten in power_mode so you can remove it or leave it as is, it doesn't matter). Note however that the power will be "clamped" during propagation if the resulting total power is higher than the "p_max" for this Edfa type_variety specified in the equipment configuration file. So for example, for the Edfa in POP Mnaheim it could look something like this:

 {
  "uid": "edfa Pop Mnaheim",
  "metadata": {
    "location": {
      "city": "Pop Mnaheim",
      "region": "RLD",
      "latitude": 2.0,
      "longitude": 3.0
    }
  },
  "type": "Edfa",
  "type_variety": "EK_ILHCS1",
  "operational": {
     "delta_p": -2,
     "tilt_target": 0,
     "out_voa": 0
  }
},

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-716537564, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GMIWTJEICDRODYF43DSMVY3LANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

ojnas commented 4 years ago

Let me know if it is possible to implement Raman Fiber - Corning LEAF - G655 in eqpt_config.json.

Yes, I think it should be possible but as for what Raman parameters to use, I'll refer the question to someone else. @AndreaDAmico, @aleFerrari?

indayara commented 4 years ago

Hi Jonas,

I don't have the Raman parameters. I'm trying to model my topology as in Fig attached. Roadm->raman ampl-> 120Km dual fiber - G655(30dB loss)-> edfa-.... In my gnpy model I used : RAman Fiber to connect the Roadm to edfa and in Raman Fiber I declared 120Km, but I don't know....

Thank you, Indayara.

On Tue, Oct 27, 2020 at 2:17 PM Jonas Mårtensson notifications@github.com wrote:

Let me know if it is possible to implement Raman Fiber - Corning LEAF - G655 in eqpt_config.json.

Yes, I think it should be possible but as for what Raman parameters to use, I'll refer the question to someone else. @AndreaDAmico https://github.com/AndreaDAmico, @aleFerrari https://github.com/aleFerrari?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-717236068, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GPZQCLXASPOCU5P743SM3B6XANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

ojnas commented 4 years ago

Again, I don't see any attachment. Also, your message ended after "I don't know..." Did you mean to write what it is that you don't know?

Anyway, to simulate Raman amplification you need to supply the "raman_efficiency" parameter for the desired fiber type (G.655 in your case) in the eqpt config file. The default eqpt_config.json currently only includes the Raman efficiency for SSMF fiber type but there is an ongoing effort to obtain and include it also for other fiber types.

indayara commented 4 years ago

Hi Jonas,

Thank you for your reply!. I understood, it is ok!

Indayara.

On Wed, Oct 28, 2020 at 5:11 PM Jonas Mårtensson notifications@github.com wrote:

Again, I don't see any attachment. Also, your message ended after "I don't know..." Did you mean to write what it is that you don't know?

Anyway, to simulate Raman amplification you need to supply the "raman_efficiency" parameter for the desired fiber type (G.655 in your case) in the eqpt config file. The default eqpt_config.json currently only includes the Raman efficiency for SSMF fiber type but there is an ongoing effort to obtain and include it also for other fiber types.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-718041047, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANWL3GM2LUXK5W7ZZZABYBTSNA7EDANCNFSM4SPCE2RA .

-- Indayara Bertoldi Martins Ph.D Electrical Engineer Mobile: +55 11 986868726 e-mail: ibertold@dsif.fee.unicamp.br or indayara@gmail.com Skype: Indayara B Martins

NeelamChahal03 commented 3 weeks ago

@ojnas HI Jonas,

I am in power mode = False and set the gain_target of Amplifier to control the Tx power at each Node, However I don't see delta_p is effective in power mode true.

This is what I want to achieve it using delta_p

Tx - In - 22.31 Out 12.00 Node A - Tx - 21.00 Rx Node B 12.23 Node B - Tx- 22.12 Rx Node C 12.32

and So on .

Is there a way to achieve it ?

ojnas commented 3 weeks ago

@NeelamChahal03, maybe start a new thread with your issue.

Tx - In - 22.31 Out 12.00

It's not clear to me what you mean by the above but it should be possible to achieve the power levels you want by setting the gain accordingly, as long as you're not limited by e.g. total amplifier output power.

NeelamChahal03 commented 3 weeks ago

Thanks for the reply. I am using Raman along with Edfa. I observed the received power at next node is controlled only by pump power and fiber properties. However the transmitted power at every node is dependent on gain target. I am in power mode = false. When I tried to use delta_p in power mode true, I did not get the desired power at transmitter. Seems only gain target functionality is more transparent and provides required results.

On Sat, Oct 26, 2024, 1:55 AM Jonas Mårtensson @.***> wrote:

@NeelamChahal03 https://github.com/NeelamChahal03, maybe start a new thread with your issue.

Tx - In - 22.31 Out 12.00

It's not clear to me what you mean by the above but it should be possible to achieve the power levels you want by setting the gain accordingly, as long as you're not limited by e.g. total amplifier output power.

— Reply to this email directly, view it on GitHub https://github.com/Telecominfraproject/oopt-gnpy/issues/363#issuecomment-2439437916, or unsubscribe https://github.com/notifications/unsubscribe-auth/BFWGO63OKFKFOX3MVM7IJM3Z5NKJZAVCNFSM6AAAAABQSCKOR6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMZZGQZTOOJRGY . You are receiving this because you were mentioned.Message ID: @.***>