For some reason, the code allowed using "convenience names" for
accessing properties since commit 58ac717f. To me, this looks like an
obvious anti-pattern because accessing a single property via three
different names only makes the code less readable. Let's kill this
"feature".
In case of the `Power` class, the code used "ase" and "nli" on the
majority of places, so let's use these abbreviations instead of their
spelt-out variants.
SpectralInformation was "clean" already, but there were calls to the
`update()` wrapper around the `namedtuple._replace`. Given that there
were no property aliases, it's safe to just call `_replace()` directly.
In case of the `Pref` class, once again always use `p_span0`, `p_spani`
instead of `p0` and `pi` -- it's a trivial change.
power mode no longer reads operational_gain:
now reads operational.dp_db
or calculate optimum dp_db from next span loss
gain_mode:
reads operational.gain_target
or use gain_from_dp
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
squash to dp
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
roll_off is a characteristic of a given mode of a transponder: it is now
integrated in the Transceiver library in eqpt_config.json. Default value is
provided in the SI field if no specific transponder type is input
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- adding relevant call in path_request_run
- unifying variable name: baudrat -> baud_rate
- correcting test with the new power features
- unifying naming of variables n_ch-> nb_channel, sink -> destination (this
follows the usual naming in yang path computation models)
- bug fix in novel trx_mode_params function , use of the function in
path_requests_un
- TODO : place roll-off in the tsp lib instead of SI
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- use load_equipment instead of load_SI
- integrate the pathrequest class into transmission main
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
- Path_request class is updated to be more generic and reuseable
in transmission main example. json processing linked to the yang
modelling is kept in the pat_request_run, while path_request class
only contains useful attributes
- adding functions in info and request python files in core directory
Signed-off-by: EstherLerouzic <esther.lerouzic@orange.com>
network design when no amplifiers are input in the json file
select_edfa chose the best amplifier in equipment list _from
eqpt_config.json_ wiht the following criteria in order:
1-amplifier wih sufficient gain
2-amplifier wiht sufficient power TODO
3-best NF amplifier staisfying 1 & 2
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
* JSON file based on Orange operator typical input
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
* update of the standalone edfa model
creation of a new amlifier2.py = v2
creation of a json parser build_oa_json.py
the parser takes OA.json as input and newOA.json as output
creation of a pytest verification module amplifier_pytest.py
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
* put the code together and transmission example script
-basic dijkstra propagation
-ase noise propagation based on amplifier model
-fake nli noise propagation
-integration of the amplifier model
-interpolation function in the edfa class
-code cleaning and units harmonization
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
* mv transmission_main_example and rm _main__
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>
* 2nd edfa model and build_oa_json file
add a dual coil stages edfa model in case the nf polynomial fit is not known
add a build_oa_json file that convert the input files in
edfa_config.json file and pre-calculate the nf_model nf1, nf2 and
delta_p parameters
adding power violation check and input padding (below minimum gain) in the edfa model
class
Signed-off-by: Jean-Luc Auge <jeanluc.auge@orange.com>