ltbams 1.0.0__py3-none-any.whl → 1.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ams/_version.py +4 -4
- ams/main.py +0 -2
- ams/shared.py +29 -0
- docs/source/conf.py +3 -0
- docs/source/getting_started/install.rst +8 -11
- docs/source/images/curent.ico +0 -0
- docs/source/release-notes.rst +13 -0
- {ltbams-1.0.0.dist-info → ltbams-1.0.2.dist-info}/METADATA +15 -31
- ltbams-1.0.2.dist-info/RECORD +188 -0
- ltbams-1.0.2.dist-info/top_level.txt +3 -0
- tests/test_report.py +11 -5
- tests/test_rtn_ed.py +10 -6
- tests/test_rtn_rted.py +9 -9
- tests/test_rtn_uc.py +25 -25
- ams/routines/pflow1.py +0 -156
- docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_20_1.png +0 -0
- docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_37_1.png +0 -0
- docs/build/doctrees/nbsphinx/_examples_demo_demo_AGC_39_1.png +0 -0
- docs/build/html/_images/_examples_demo_demo_AGC_20_1.png +0 -0
- docs/build/html/_images/_examples_demo_demo_AGC_37_1.png +0 -0
- docs/build/html/_images/_examples_demo_demo_AGC_39_1.png +0 -0
- docs/build/html/_images/xlsx.png +0 -0
- docs/build/html/_static/file.png +0 -0
- docs/build/html/_static/minus.png +0 -0
- docs/build/html/_static/plus.png +0 -0
- docs/source/_generated/_generated/ams.core.model.Model.alter.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.doc.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.get.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.get_idx.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.idx2uid.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.list2array.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.set.rst +0 -6
- docs/source/_generated/_generated/ams.core.model.Model.set_backref.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.dtype.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.get_idx.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.param.RParam.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.LoadScale.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.MinDur.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumExpandDim.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumHstack.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOp.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.NumOpDual.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RBaseService.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ROperationService.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.RampSub.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ValueService.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarReduction.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.VarSelect.v1.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.assign_memory.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.get_names.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.n.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.parse.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.shape.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.size.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.update.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.v.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.v0.rst +0 -6
- docs/source/_generated/_generated/ams.core.service.ZonalSum.v1.rst +0 -6
- docs/source/_generated/_generated/ams.interface.Dynamic.is_tds.rst +0 -6
- docs/source/_generated/_generated/ams.interface.Dynamic.link_andes.rst +0 -6
- docs/source/_generated/_generated/ams.interface.Dynamic.receive.rst +0 -6
- docs/source/_generated/_generated/ams.interface.Dynamic.send.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.e.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.constraint.Constraint.v.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.e.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.get_idx.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.exprcalc.ExpressionCalc.v.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.e.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.get_idx.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.expression.Expression.v.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.e.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.objective.Objective.v.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.finalize.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.init.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.initialized.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModel.update.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.finalize.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.init.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.initialized.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.omodel.OModelBase.update.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.optbase.OptzBase.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.param.Param.update.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.evaluate.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.get_idx.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.n.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.parse.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.shape.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.size.rst +0 -6
- docs/source/_generated/_generated/ams.opt.var.Var.v.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addConstrs.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addRParam.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addService.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.addVars.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.dc2ac.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.disable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.doc.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.enable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.export_csv.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.get.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.init.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.run.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.set.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.solve.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.summary.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.unpack.rst +0 -6
- docs/source/_generated/_generated/ams.routines.dcopf.DCOPF.update.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.addConstrs.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.addRParam.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.addService.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.addVars.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.dc2ac.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.disable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.doc.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.enable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.export_csv.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.get.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.init.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.run.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.set.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.solve.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.summary.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.unpack.rst +0 -6
- docs/source/_generated/_generated/ams.routines.pflow.PFlow.update.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addConstrs.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addRParam.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addService.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.addVars.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.class_name.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.dc2ac.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.disable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.doc.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.enable.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.export_csv.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.get.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.init.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.run.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.set.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.solve.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.summary.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.unpack.rst +0 -6
- docs/source/_generated/_generated/ams.routines.routine.RoutineBase.update.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.add.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.as_dict.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.calc_pu_coeff.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.call_models.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.collect_config.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.collect_ref.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.connectivity.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.e_clear.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.f_update.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.fg_to_dae.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.find_devices.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.find_models.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.from_ipysheet.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.g_islands.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.g_update.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.get_z.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.import_groups.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.import_models.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.import_routines.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.import_types.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.init.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.j_islands.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.j_update.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.l_update_eq.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.l_update_var.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.link_ext_param.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.precompile.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.prepare.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.reload.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.remove_pycapsule.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.report.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.reset.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.s_update_post.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.s_update_var.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.save_config.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.set_address.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.set_config.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.set_dae_names.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.set_output_subidx.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.set_var_arrays.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.setup.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.store_adder_setter.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.store_existing.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.store_no_check_init.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.store_sparse_pattern.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.store_switch_times.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.summary.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.supported_models.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.supported_routines.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.switch_action.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.to_andes.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.to_ipysheet.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.undill.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.vars_to_dae.rst +0 -6
- docs/source/_generated/_generated/ams.system.System.vars_to_models.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_filename_prefix_last.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_filename_prefix_middle.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_parent_prefix_last.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.display_parent_prefix_middle.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.displayable.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.displayname.rst +0 -6
- docs/source/_generated/_generated/ams.utils.paths.DisplayablePath.make_tree.rst +0 -6
- docs/source/_generated/ams.cli.create_parser.rst +0 -6
- docs/source/_generated/ams.cli.main.rst +0 -6
- docs/source/_generated/ams.cli.preamble.rst +0 -6
- docs/source/_generated/ams.cli.rst +0 -32
- docs/source/_generated/ams.core.model.Model.rst +0 -56
- docs/source/_generated/ams.core.model.rst +0 -30
- docs/source/_generated/ams.core.param.RParam.rst +0 -49
- docs/source/_generated/ams.core.param.rst +0 -30
- docs/source/_generated/ams.core.service.LoadScale.rst +0 -51
- docs/source/_generated/ams.core.service.MinDur.rst +0 -53
- docs/source/_generated/ams.core.service.NumExpandDim.rst +0 -53
- docs/source/_generated/ams.core.service.NumHstack.rst +0 -53
- docs/source/_generated/ams.core.service.NumOp.rst +0 -53
- docs/source/_generated/ams.core.service.NumOpDual.rst +0 -53
- docs/source/_generated/ams.core.service.RBaseService.rst +0 -51
- docs/source/_generated/ams.core.service.ROperationService.rst +0 -51
- docs/source/_generated/ams.core.service.RampSub.rst +0 -53
- docs/source/_generated/ams.core.service.ValueService.rst +0 -51
- docs/source/_generated/ams.core.service.VarReduction.rst +0 -53
- docs/source/_generated/ams.core.service.VarSelect.rst +0 -53
- docs/source/_generated/ams.core.service.ZonalSum.rst +0 -53
- docs/source/_generated/ams.core.service.rst +0 -42
- docs/source/_generated/ams.interface.Dynamic.rst +0 -41
- docs/source/_generated/ams.interface.build_group_table.rst +0 -6
- docs/source/_generated/ams.interface.make_link_table.rst +0 -6
- docs/source/_generated/ams.interface.parse_addfile.rst +0 -6
- docs/source/_generated/ams.interface.replace_dev.rst +0 -6
- docs/source/_generated/ams.interface.rst +0 -43
- docs/source/_generated/ams.interface.sync_adsys.rst +0 -6
- docs/source/_generated/ams.interface.to_andes.rst +0 -6
- docs/source/_generated/ams.interface.verify_pf.rst +0 -6
- docs/source/_generated/ams.io.guess.rst +0 -6
- docs/source/_generated/ams.io.json.rst +0 -30
- docs/source/_generated/ams.io.json.write.rst +0 -6
- docs/source/_generated/ams.io.matpower.mpc2system.rst +0 -6
- docs/source/_generated/ams.io.matpower.read.rst +0 -6
- docs/source/_generated/ams.io.matpower.rst +0 -33
- docs/source/_generated/ams.io.matpower.system2mpc.rst +0 -6
- docs/source/_generated/ams.io.matpower.testlines.rst +0 -6
- docs/source/_generated/ams.io.parse.rst +0 -6
- docs/source/_generated/ams.io.psse.rst +0 -23
- docs/source/_generated/ams.io.pypower.ppc2system.rst +0 -6
- docs/source/_generated/ams.io.pypower.py2ppc.rst +0 -6
- docs/source/_generated/ams.io.pypower.read.rst +0 -6
- docs/source/_generated/ams.io.pypower.rst +0 -34
- docs/source/_generated/ams.io.pypower.system2ppc.rst +0 -6
- docs/source/_generated/ams.io.pypower.testlines.rst +0 -6
- docs/source/_generated/ams.io.rst +0 -45
- docs/source/_generated/ams.io.xlsx.rst +0 -30
- docs/source/_generated/ams.io.xlsx.write.rst +0 -6
- docs/source/_generated/ams.main.config_logger.rst +0 -6
- docs/source/_generated/ams.main.demo.rst +0 -6
- docs/source/_generated/ams.main.doc.rst +0 -6
- docs/source/_generated/ams.main.edit_conf.rst +0 -6
- docs/source/_generated/ams.main.find_log_path.rst +0 -6
- docs/source/_generated/ams.main.load.rst +0 -6
- docs/source/_generated/ams.main.misc.rst +0 -6
- docs/source/_generated/ams.main.print_license.rst +0 -6
- docs/source/_generated/ams.main.remove_output.rst +0 -6
- docs/source/_generated/ams.main.rst +0 -44
- docs/source/_generated/ams.main.run.rst +0 -6
- docs/source/_generated/ams.main.run_case.rst +0 -6
- docs/source/_generated/ams.main.save_conf.rst +0 -6
- docs/source/_generated/ams.main.selftest.rst +0 -6
- docs/source/_generated/ams.main.set_logger_level.rst +0 -6
- docs/source/_generated/ams.main.versioninfo.rst +0 -6
- docs/source/_generated/ams.opt.constraint.Constraint.rst +0 -43
- docs/source/_generated/ams.opt.constraint.rst +0 -30
- docs/source/_generated/ams.opt.exprcalc.ExpressionCalc.rst +0 -46
- docs/source/_generated/ams.opt.exprcalc.rst +0 -30
- docs/source/_generated/ams.opt.expression.Expression.rst +0 -46
- docs/source/_generated/ams.opt.expression.rst +0 -30
- docs/source/_generated/ams.opt.objective.Objective.rst +0 -43
- docs/source/_generated/ams.opt.objective.rst +0 -30
- docs/source/_generated/ams.opt.omodel.OModel.rst +0 -48
- docs/source/_generated/ams.opt.omodel.OModelBase.rst +0 -48
- docs/source/_generated/ams.opt.omodel.rst +0 -31
- docs/source/_generated/ams.opt.optbase.OptzBase.rst +0 -41
- docs/source/_generated/ams.opt.optbase.ensure_mats_and_parsed.rst +0 -6
- docs/source/_generated/ams.opt.optbase.ensure_symbols.rst +0 -6
- docs/source/_generated/ams.opt.optbase.rst +0 -38
- docs/source/_generated/ams.opt.param.Param.rst +0 -44
- docs/source/_generated/ams.opt.param.rst +0 -30
- docs/source/_generated/ams.opt.rst +0 -40
- docs/source/_generated/ams.opt.var.Var.rst +0 -45
- docs/source/_generated/ams.opt.var.rst +0 -30
- docs/source/_generated/ams.routines.dcopf.DCOPF.rst +0 -83
- docs/source/_generated/ams.routines.dcopf.rst +0 -30
- docs/source/_generated/ams.routines.pflow.PFlow.rst +0 -83
- docs/source/_generated/ams.routines.pflow.rst +0 -30
- docs/source/_generated/ams.routines.routine.RoutineBase.rst +0 -83
- docs/source/_generated/ams.routines.routine.collect_data.rst +0 -6
- docs/source/_generated/ams.routines.routine.initialize_data_dict.rst +0 -6
- docs/source/_generated/ams.routines.routine.rst +0 -38
- docs/source/_generated/ams.system.System.rst +0 -189
- docs/source/_generated/ams.system.disable_method.rst +0 -6
- docs/source/_generated/ams.system.disable_methods.rst +0 -6
- docs/source/_generated/ams.system.example.rst +0 -6
- docs/source/_generated/ams.system.rst +0 -39
- docs/source/_generated/ams.utils.paths.DisplayablePath.rst +0 -42
- docs/source/_generated/ams.utils.paths.ams_root.rst +0 -6
- docs/source/_generated/ams.utils.paths.cases_root.rst +0 -6
- docs/source/_generated/ams.utils.paths.confirm_overwrite.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_case.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_config_path.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_dot_andes_path.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_log_dir.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_pkl_path.rst +0 -6
- docs/source/_generated/ams.utils.paths.get_pycode_path.rst +0 -6
- docs/source/_generated/ams.utils.paths.list_cases.rst +0 -6
- docs/source/_generated/ams.utils.paths.rst +0 -47
- docs/source/_generated/ams.utils.paths.tests_root.rst +0 -6
- docs/source/groupdoc/ACLine.rst +0 -92
- docs/source/groupdoc/ACShort.rst +0 -51
- docs/source/groupdoc/ACTopology.rst +0 -66
- docs/source/groupdoc/Collection.rst +0 -84
- docs/source/groupdoc/Cost.rst +0 -135
- docs/source/groupdoc/DG.rst +0 -204
- docs/source/groupdoc/Horizon.rst +0 -97
- docs/source/groupdoc/Information.rst +0 -36
- docs/source/groupdoc/RenGen.rst +0 -63
- docs/source/groupdoc/Reserve.rst +0 -135
- docs/source/groupdoc/StaticGen.rst +0 -229
- docs/source/groupdoc/StaticLoad.rst +0 -53
- docs/source/groupdoc/StaticShunt.rst +0 -45
- docs/source/groupdoc/Undefined.rst +0 -63
- docs/source/groupdoc/VSG.rst +0 -125
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.class_name.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.e.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.evaluate.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.n.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.parse.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.shape.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.size.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Constraint.v.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.class_name.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.evaluate.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.finalize.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.init.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.initialized.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.parse.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.OModel.update.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.class_name.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.e.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.evaluate.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.n.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.parse.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.shape.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.size.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Objective.v.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.class_name.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.evaluate.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.get_idx.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.n.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.parse.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.shape.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.size.rst +0 -6
- docs/source/modeling/_generated/_generated/ams.opt.Var.v.rst +0 -6
- docs/source/modeling/_generated/ams.opt.Constraint.rst +0 -43
- docs/source/modeling/_generated/ams.opt.OModel.rst +0 -48
- docs/source/modeling/_generated/ams.opt.Objective.rst +0 -43
- docs/source/modeling/_generated/ams.opt.Var.rst +0 -45
- docs/source/modelref.rst +0 -66
- docs/source/routineref.rst +0 -38
- docs/source/typedoc/ACED.rst +0 -91
- docs/source/typedoc/DCED.rst +0 -1869
- docs/source/typedoc/DCUC.rst +0 -899
- docs/source/typedoc/DED.rst +0 -390
- docs/source/typedoc/PF.rst +0 -376
- docs/source/typedoc/UndefinedType.rst +0 -8
- icebar/ips/ips.py +0 -668
- ltbams-1.0.0.dist-info/RECORD +0 -725
- ltbams-1.0.0.dist-info/top_level.txt +0 -5
- {ltbams-1.0.0.dist-info → ltbams-1.0.2.dist-info}/WHEEL +0 -0
- {ltbams-1.0.0.dist-info → ltbams-1.0.2.dist-info}/entry_points.txt +0 -0
ams/_version.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
|
2
|
-
# This file was generated by 'versioneer.py' (0.
|
2
|
+
# This file was generated by 'versioneer.py' (0.29) from
|
3
3
|
# revision-control system data, or from the parent directory name of an
|
4
4
|
# unpacked source archive. Distribution tarballs contain a pre-generated copy
|
5
5
|
# of this file.
|
@@ -8,11 +8,11 @@ import json
|
|
8
8
|
|
9
9
|
version_json = '''
|
10
10
|
{
|
11
|
-
"date": "2025-
|
11
|
+
"date": "2025-02-01T22:04:49-0500",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "1.0.
|
14
|
+
"full-revisionid": "d32e965f3a1695a8b45902170b92af77c78112d5",
|
15
|
+
"version": "1.0.2"
|
16
16
|
}
|
17
17
|
''' # END VERSION_JSON
|
18
18
|
|
ams/main.py
CHANGED
@@ -18,7 +18,6 @@ import textwrap
|
|
18
18
|
from ._version import get_versions
|
19
19
|
|
20
20
|
from andes.main import _find_cases
|
21
|
-
from andes.main import config_logger as ad_config_logger
|
22
21
|
from andes.shared import Pool, Process, coloredlogs, unittest, NCPUS_PHYSICAL
|
23
22
|
from andes.utils.misc import elapsed, is_interactive
|
24
23
|
|
@@ -72,7 +71,6 @@ def config_logger(stream_level=logging.INFO, *,
|
|
72
71
|
Original author: Hantao Cui
|
73
72
|
License: GPL3
|
74
73
|
"""
|
75
|
-
ad_config_logger(stream_level)
|
76
74
|
lg = logging.getLogger('ams')
|
77
75
|
lg.setLevel(logging.DEBUG)
|
78
76
|
|
ams/shared.py
CHANGED
@@ -41,11 +41,27 @@ copyright_msg = 'Copyright (C) 2023-2024 Jinning Wang'
|
|
41
41
|
mip_solvers = ['CBC', 'COPT', 'GLPK_MI', 'CPLEX', 'GUROBI',
|
42
42
|
'MOSEK', 'SCIP', 'XPRESS', 'SCIPY']
|
43
43
|
|
44
|
+
misocp_solvers = ['MOSEK', 'CPLEX', 'GUROBI', 'XPRESS', 'SCIP']
|
45
|
+
|
44
46
|
installed_solvers = cp.installed_solvers()
|
45
47
|
|
46
48
|
installed_mip_solvers = [s for s in installed_solvers if s in mip_solvers]
|
47
49
|
|
48
50
|
|
51
|
+
def require_MISOCP_solver(f):
|
52
|
+
"""
|
53
|
+
Decorator for functions that require MISOCP solver.
|
54
|
+
"""
|
55
|
+
|
56
|
+
@wraps(f)
|
57
|
+
def wrapper(*args, **kwargs):
|
58
|
+
if not any(s in misocp_solvers for s in installed_solvers):
|
59
|
+
raise ModuleNotFoundError("No MISOCP solver is available.")
|
60
|
+
return f(*args, **kwargs)
|
61
|
+
|
62
|
+
return wrapper
|
63
|
+
|
64
|
+
|
49
65
|
def require_MIP_solver(f):
|
50
66
|
"""
|
51
67
|
Decorator for functions that require MIP solver.
|
@@ -73,6 +89,19 @@ def skip_unittest_without_MIP(f):
|
|
73
89
|
return wrapper
|
74
90
|
|
75
91
|
|
92
|
+
def skip_unittest_without_MISOCP(f):
|
93
|
+
"""
|
94
|
+
Decorator for skipping tests that require MISOCP solver.
|
95
|
+
"""
|
96
|
+
def wrapper(*args, **kwargs):
|
97
|
+
if any(s in misocp_solvers for s in installed_solvers):
|
98
|
+
pass
|
99
|
+
else:
|
100
|
+
raise unittest.SkipTest("No MISOCP solver is available.")
|
101
|
+
return f(*args, **kwargs)
|
102
|
+
return wrapper
|
103
|
+
|
104
|
+
|
76
105
|
ppc_cols = OrderedDict([
|
77
106
|
('bus', ['bus_i', 'type', 'pd', 'qd', 'gs', 'bs', 'area', 'vm', 'va',
|
78
107
|
'baseKV', 'zone', 'vmax', 'vmin', 'lam_p', 'lam_q',
|
docs/source/conf.py
CHANGED
@@ -201,3 +201,6 @@ shutil.copytree("../../examples/demonstration", "_examples/demo", )
|
|
201
201
|
# sphinx-panels shouldn't add bootstrap css since the pydata-sphinx-theme
|
202
202
|
# already loads it
|
203
203
|
panels_add_bootstrap_css = False
|
204
|
+
|
205
|
+
# specify image loading behavior
|
206
|
+
image_loading = 'link'
|
@@ -71,7 +71,8 @@ development packages. Other packages will be required for interoperability.
|
|
71
71
|
The extra support packages are specified in groups. The following group names
|
72
72
|
are supported, with descriptions given below:
|
73
73
|
|
74
|
-
- ``dev``: packages to support development such as testing
|
74
|
+
- ``dev``: packages to support development such as testing
|
75
|
+
- ``doc``: packages to support documentation building
|
75
76
|
|
76
77
|
.. note::
|
77
78
|
|
@@ -82,15 +83,9 @@ To install packages in the ``dev`` when installing AMS, do:
|
|
82
83
|
|
83
84
|
.. code:: bash
|
84
85
|
|
85
|
-
pip install
|
86
|
+
pip install -r requirements-dev.txt
|
86
87
|
|
87
|
-
|
88
|
-
|
89
|
-
.. code:: bash
|
90
|
-
|
91
|
-
pip install ltbams[all]
|
92
|
-
|
93
|
-
One can also inspect the ``requirements-extra.txt`` to identify the packages
|
88
|
+
One can also inspect the ``requirements-dev.txt`` to identify the packages
|
94
89
|
for manual installation.
|
95
90
|
|
96
91
|
.. _Develop Install:
|
@@ -134,14 +129,16 @@ Install dependencies with
|
|
134
129
|
.. code:: bash
|
135
130
|
|
136
131
|
mamba install --file requirements.txt
|
137
|
-
mamba install --file requirements-
|
132
|
+
mamba install --file requirements-dev.txt
|
133
|
+
mamba install --file requirements-doc.txt
|
138
134
|
|
139
135
|
Alternatively, you can install them with ``pip``:
|
140
136
|
|
141
137
|
.. code:: bash
|
142
138
|
|
143
139
|
pip install -r requirements.txt
|
144
|
-
pip install -r requirements-
|
140
|
+
pip install -r requirements-dev.txt
|
141
|
+
pip install -r requirements-doc.txt
|
145
142
|
|
146
143
|
Step 3: Install AMS in the development mode using
|
147
144
|
|
Binary file
|
docs/source/release-notes.rst
CHANGED
@@ -9,6 +9,19 @@ The APIs before v3.0.0 are in beta and may change without prior notice.
|
|
9
9
|
Pre-v1.0.0
|
10
10
|
==========
|
11
11
|
|
12
|
+
v1.0.2 (2024-02-01)
|
13
|
+
|
14
|
+
--------------------
|
15
|
+
|
16
|
+
- Enhance the GitHub Actions workflow file
|
17
|
+
- Deprecate andes logger configuration in ``config_logger``
|
18
|
+
- Deprecate solver specification in ``demo_ESD1``
|
19
|
+
|
20
|
+
v1.0.1 (2024-01-26)
|
21
|
+
--------------------
|
22
|
+
|
23
|
+
Hotfix: removed dependencies on `SCIP` and `pyscipopt` to resolve installation issues
|
24
|
+
|
12
25
|
v1.0.0 (2024-01-24)
|
13
26
|
--------------------
|
14
27
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: ltbams
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.2
|
4
4
|
Summary: Python software for scheduling modeling and co-simulation with dynamics.
|
5
5
|
Home-page: https://github.com/CURENT/ams
|
6
6
|
Author: Jinning Wang
|
@@ -23,26 +23,6 @@ Requires-Dist: openpyxl
|
|
23
23
|
Requires-Dist: andes>=1.9.3
|
24
24
|
Requires-Dist: pybind11
|
25
25
|
Requires-Dist: cvxpy
|
26
|
-
Provides-Extra: dev
|
27
|
-
Requires-Dist: pytest; extra == "dev"
|
28
|
-
Requires-Dist: pytest-cov; extra == "dev"
|
29
|
-
Requires-Dist: coverage; extra == "dev"
|
30
|
-
Requires-Dist: flake8; extra == "dev"
|
31
|
-
Requires-Dist: numpydoc; extra == "dev"
|
32
|
-
Requires-Dist: toml; extra == "dev"
|
33
|
-
Requires-Dist: pyscipopt; extra == "dev"
|
34
|
-
Requires-Dist: toml; extra == "dev"
|
35
|
-
Provides-Extra: doc
|
36
|
-
Requires-Dist: pandoc; extra == "doc"
|
37
|
-
Requires-Dist: ipython; extra == "doc"
|
38
|
-
Requires-Dist: sphinx; extra == "doc"
|
39
|
-
Requires-Dist: pydata-sphinx-theme; extra == "doc"
|
40
|
-
Requires-Dist: numpydoc; extra == "doc"
|
41
|
-
Requires-Dist: sphinx-copybutton; extra == "doc"
|
42
|
-
Requires-Dist: sphinx-panels; extra == "doc"
|
43
|
-
Requires-Dist: myst-parser; extra == "doc"
|
44
|
-
Requires-Dist: nbsphinx; extra == "doc"
|
45
|
-
Requires-Dist: pyscipopt; extra == "doc"
|
46
26
|
Dynamic: author
|
47
27
|
Dynamic: home-page
|
48
28
|
|
@@ -52,7 +32,7 @@ Python Software for Power System Scheduling Modeling and Co-Simulation with Dyna
|
|
52
32
|
|
53
33
|
[](https://github.com/CURENT/ams/blob/master/LICENSE)
|
54
34
|

|
55
|
-
[](https://www.python.org/)
|
56
36
|
[](https://www.repostatus.org/#active)
|
57
37
|

|
58
38
|
[](https://github.com/CURENT/ams/commits/master/)
|
@@ -60,11 +40,15 @@ Python Software for Power System Scheduling Modeling and Co-Simulation with Dyna
|
|
60
40
|
[](https://libraries.io/pypi/ltbams)
|
61
41
|
[](https://mango-dune-07a8b7110.1.azurestaticapps.net/?repo=CURENT%2Fams)
|
62
42
|
|
43
|
+
[](https://github.com/CURENT/ams/actions/workflows/compatibility.yml)
|
44
|
+
[](https://github.com/CURENT/ams/actions/workflows/publish-pypi.yml)
|
45
|
+
[](https://dev.azure.com/curentltb/ams/_build/latest?definitionId=2&branchName=master)
|
46
|
+
|
63
47
|
<img src="docs/source/images/sponsors/CURENT_Logo_NameOnTrans.png" alt="CURENT ERC Logo" width="300" height="auto">
|
64
48
|
|
65
|
-
| |
|
49
|
+
| | Stable | Latest |
|
66
50
|
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
|
67
|
-
| Documentation | [](https://ams.readthedocs.io/en/stable/?badge=stable) | [](https://ams.readthedocs.io/en/latest/?badge=latest) |
|
68
52
|
|
69
53
|
|
70
54
|
| Badges | | |
|
@@ -72,7 +56,7 @@ Python Software for Power System Scheduling Modeling and Co-Simulation with Dyna
|
|
72
56
|
| Downloads | [](https://pypi.python.org/pypi/ltbams) | [](https://anaconda.org/conda-forge/ltbams) |
|
73
57
|
| Try on Binder | [](https://mybinder.org/v2/gh/curent/ams/master) | |
|
74
58
|
| Code Quality |[](https://app.codacy.com/gh/CURENT/ams/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)| [](https://app.codacy.com/gh/CURENT/ams/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage) |
|
75
|
-
|
59
|
+
|
76
60
|
|
77
61
|
|
78
62
|
# Why AMS
|
@@ -159,10 +143,12 @@ pip install git+https://github.com/CURENT/ams.git
|
|
159
143
|
```
|
160
144
|
|
161
145
|
***NOTE:***
|
162
|
-
-
|
163
|
-
- `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
|
146
|
+
- `cvxpy` is distributed with the open source solvers CLARABEL, OSQP, and SCS, but MIP-capable solvers need separate installation
|
164
147
|
- `cvxpy` versions **below 1.5** are incompatible with `numpy` versions **2.0 and above**
|
165
|
-
- If solver `SCIP`
|
148
|
+
- If the solver `SCIP` encounters an import error caused by a missing `libscip.9.1.dylib`, try reinstalling its Python interface by running `pip install pyscipopt --no-binary scip --force`
|
149
|
+
- `kvxopt` is recommended to install via `conda` as sometimes ``pip`` struggles to set the correct path for compiled libraries
|
150
|
+
- Versions **1.0.0** and **1.0.1** are only available on PyPI
|
151
|
+
- Version **0.9.9** has known issues and has been yanked from PyPI
|
166
152
|
|
167
153
|
# Example Usage
|
168
154
|
|
@@ -188,9 +174,7 @@ sa
|
|
188
174
|
# Citing AMS
|
189
175
|
If you use AMS for research or consulting, please cite the following paper in your publication that uses AMS:
|
190
176
|
|
191
|
-
|
192
|
-
J. Wang et al., "Dynamics-incorporated Modeling Framework for Stability Constrained Scheduling Under High-penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2025.3528027.
|
193
|
-
```
|
177
|
+
> J. Wang et al., "Dynamics-incorporated Modeling Framework for Stability Constrained Scheduling Under High-penetration of Renewable Energy," in IEEE Transactions on Sustainable Energy, doi: 10.1109/TSTE.2025.3528027.
|
194
178
|
|
195
179
|
# Sponsors and Contributors
|
196
180
|
AMS is the scheduling simulation engine for the CURENT Largescale Testbed (LTB).
|
@@ -0,0 +1,188 @@
|
|
1
|
+
ams/__init__.py,sha256=dKIwng8xES4NQHn6ZHy8RCKeXphN9z2wyfmbvniIEg0,351
|
2
|
+
ams/__main__.py,sha256=EB4GfGiKgvnQ_psNr0QwPoziYvjmGvQ2yVsBwQtfrLw,170
|
3
|
+
ams/_version.py,sha256=-pJ4HiBaPyFB7if1ia6L38Uyc5P3SRpFojGIHDPhq6w,497
|
4
|
+
ams/cli.py,sha256=EyNFXn565gFCppTxpyTZviBdPgUuKtgAPZ4WE6xewRk,6164
|
5
|
+
ams/interface.py,sha256=PA_F5KEK7BrSvHjgz3v7vPXH2KEhOerZ7sNLrgT0IcU,44380
|
6
|
+
ams/main.py,sha256=wzKLe_BeQAUyFh-U1cxQIOwr-rAJM8ppB3EEi6_v2tw,23607
|
7
|
+
ams/report.py,sha256=gUscOYpPjuPuruzIXAADaifIZv2BSjmP1oKCuHdD3Vw,11004
|
8
|
+
ams/shared.py,sha256=Zdy4-kHKc0_3CzyZKmGyCvpmrJz4Wzs9qnFlk8eyzq0,4159
|
9
|
+
ams/system.py,sha256=PbJE5JPc9_O8cXTC10HPdvlD6MyxuL8z6q9dxKHWtCc,25917
|
10
|
+
ams/cases/5bus/pjm5bus_demo.xlsx,sha256=srKTX4AkDRUVg_ygChyrQjeX7o0KKPJ9q9zU69xJqdU,31112
|
11
|
+
ams/cases/5bus/pjm5bus_jumper.xlsx,sha256=IfcSZ3V2ZgfFqpaPMBMqitUQMgoxKRnyFyMEtqdeysI,28375
|
12
|
+
ams/cases/5bus/pjm5bus_uced.json,sha256=0RvkZwZwzXKqr8y9shjEr3qCPGlrBrh6VpGhvYa4pMM,18256
|
13
|
+
ams/cases/5bus/pjm5bus_uced.xlsx,sha256=Fl-k3aXQjyfz8VWFmjH7T4NFfqp3uzBQSZqu1bU_LQg,28196
|
14
|
+
ams/cases/5bus/pjm5bus_uced_esd1.xlsx,sha256=I5_GsOBn2wTNSnv7hS1GTJfMqRjYyWCO37WA7GnX0V4,28063
|
15
|
+
ams/cases/5bus/pjm5bus_uced_ev.xlsx,sha256=onDf3fMOjVSBGhVOSZtv0FJ3cqMAEUCwxu4sqmr2AQg,29702
|
16
|
+
ams/cases/ieee123/ieee123.xlsx,sha256=yWsEFN1BvcoBYX9hWdrenPC_qKQfXtZ4xhpwoIc2OSE,39223
|
17
|
+
ams/cases/ieee123/ieee123_regcv1.xlsx,sha256=dIygkiNGzo_RE0moMPFu-9Bt0uPDuAL9zYWAs6e8VSk,41678
|
18
|
+
ams/cases/ieee14/ieee14.json,sha256=bBy3i2jKqFNmnc_rmNOYvGm-SAW2T6wwvEQ-Hkj5Hkw,21400
|
19
|
+
ams/cases/ieee14/ieee14.raw,sha256=3occlj5Qw42YBVLxONVDIKLTQqHMizHrAfD7Xwzmyec,7935
|
20
|
+
ams/cases/ieee14/ieee14_conn.xlsx,sha256=GaaiIsrnS1aX0SRWL2EeCJgRMW9FW1qNoyo4pMZQsw8,19291
|
21
|
+
ams/cases/ieee14/ieee14_uced.xlsx,sha256=QeGO6tGiv2gdgJQe6SEiqiwf4hsgKqChgY79Suf04Nc,33043
|
22
|
+
ams/cases/ieee39/ieee39.xlsx,sha256=Riz43xQSXi1L-Y9rJbQjuw8oXTnw4W6bGhm--45d-3Q,29465
|
23
|
+
ams/cases/ieee39/ieee39_uced.xlsx,sha256=wHz2mUU67VMgxj0v5u0L0Dqy7dhk9yAanOE0_ni4MDQ,41644
|
24
|
+
ams/cases/ieee39/ieee39_uced_esd1.xlsx,sha256=Ar-XFwQE_4x2Uo2NKw2fPqveAmcciDS8dDqdAr1tVPM,40797
|
25
|
+
ams/cases/ieee39/ieee39_uced_pvd1.xlsx,sha256=X7PhzfqdLOcfPqcGdxA_Tly1jVdIM0QOl4GksYQlK2I,40737
|
26
|
+
ams/cases/ieee39/ieee39_uced_vis.xlsx,sha256=P2iKKPpHfieNnNtigCIXNuXgsVumhUs6-au-dVEpaEI,44899
|
27
|
+
ams/cases/matpower/benchmark.json,sha256=dAWT8wZZEZpMPj_tIsssubcYIlsE6vTHfXQQKQtKjNo,1205789
|
28
|
+
ams/cases/matpower/case118.m,sha256=vC5vIrS553ZXKIXuS1Dk9Ksu4MVXfpEm6G2QbxTEtfc,33696
|
29
|
+
ams/cases/matpower/case14.m,sha256=L_xOG3NK5sXpLb5otONgEO1pWku8xNBlx0xPvDn888E,4597
|
30
|
+
ams/cases/matpower/case300.m,sha256=L3mWBAncy5pHy53nycEXPmmRh1Rl-ZtlsELXwQGX4S8,65678
|
31
|
+
ams/cases/matpower/case39.m,sha256=RAgz-ZjR2HaMYgR32stq_U4D8l85S7DSAFJFE60_3Dw,9628
|
32
|
+
ams/cases/matpower/case5.m,sha256=7ZByCJ0IDeveKqAp7YqVSRwxGwj_T0Wte_Bogthv4nk,1921
|
33
|
+
ams/cases/matpower/case_ACTIVSg2000.m,sha256=jQBhjej9EL81pZn1nS3uv-zQ2G4o_P9zIZrXxOurhgs,659546
|
34
|
+
ams/cases/npcc/npcc.m,sha256=QrYcufKlHrXr5nFC2Z92X05_Q1Rn3Nf11HCCYenAaC0,26342
|
35
|
+
ams/cases/npcc/npcc_uced.xlsx,sha256=zuaZEOBwdOHwK5hFgQSXownyH-MfKDZQ-iVFeaFVSyg,86557
|
36
|
+
ams/cases/pglib/pglib_opf_case39_epri__api.m,sha256=DKUNon8FgIYKJWOK5ZyQ0fLP0zowNRrf4vmPN-UxU3M,16351
|
37
|
+
ams/cases/wecc/wecc.m,sha256=8Wqal6H5r1wNxLLQBCXo2V3v3JZY5IJDEkyrEGCrCWE,30498
|
38
|
+
ams/cases/wecc/wecc_uced.xlsx,sha256=R3tZgxEqz_ctKcjA1wwFecxn-QZXutvf7NzgnCg_078,94767
|
39
|
+
ams/core/__init__.py,sha256=OUJFLACc9Ggjvzi6DZfmfxrzciRcGtpLTsBfdbOUxGg,80
|
40
|
+
ams/core/documenter.py,sha256=FNkpiP65iO809B4Bgmp5C1QeJTQHi-sS9vTP7Wd9D8Q,23131
|
41
|
+
ams/core/matprocessor.py,sha256=R3nsA3irZz4cTQMQxE0TXWw9-LucW9PsEMmphA80xns,27608
|
42
|
+
ams/core/model.py,sha256=vXLActAi9tLXRCNd5RrEMVWvF0Wt4mwltiRY5CjgrP4,10928
|
43
|
+
ams/core/param.py,sha256=LPH48xUHyqWqODD6IsiamUtkJDDSgGCEMAo6vroFoHE,11130
|
44
|
+
ams/core/service.py,sha256=bCeBKoVBd42UVGvjP1dU6DpP6LBW5FGWq3bbOHYSlCI,27984
|
45
|
+
ams/core/symprocessor.py,sha256=HegjU_UnvWEny9kitI1su9J0WeFDjQnM4gNoeUGJ7qU,8428
|
46
|
+
ams/core/var.py,sha256=f48pzir4miBsB5sh6PwUsFe0LdNNEM-d3VufcjbUU0w,1591
|
47
|
+
ams/extension/__init__.py,sha256=5IFTNirDL0uDaUsg05_oociVT9VCy2rhPx1ad4LGveM,65
|
48
|
+
ams/extension/eva.py,sha256=wUF8RNxzwas2Q6_xD0k3EVWjmX4kxHmTSkv2inJzaUY,16342
|
49
|
+
ams/io/__init__.py,sha256=HLE3aozzXEx-6IBy8WTQVdSCpAZrrR9nX6UqaZ7okTw,3774
|
50
|
+
ams/io/json.py,sha256=IurwcZDuKczSbRTpcbQZiIi0ARCrMK6kJ0E3wS8ENy8,2585
|
51
|
+
ams/io/matpower.py,sha256=40Ga2TPs57Kysm-dirjos-rnZ47aZHMfj7FXpd6eB08,14064
|
52
|
+
ams/io/psse.py,sha256=w5VKNE6enX0lfKwPI857PRtdpwN39R6IFRIcdbPSpOg,151
|
53
|
+
ams/io/pypower.py,sha256=E6_kSNfv1Yyv9oYfFebeNeKaQPlHyRZQpE8F6Y67g8Q,2583
|
54
|
+
ams/io/xlsx.py,sha256=7ATW1seyxsGn7d5p5IuSRFHcoCHVVjMu3E7mP1Mc74U,2460
|
55
|
+
ams/models/__init__.py,sha256=Y1Igq3AByDI6QjqjWxNDMeTAa2-fdnk2ZX5HtdJO6lY,703
|
56
|
+
ams/models/area.py,sha256=AKYU6aJQKsVWRZdvMO7yic-8wZ1GumSTQXgDg5L0THw,899
|
57
|
+
ams/models/bus.py,sha256=U0vSegkm-9fqPQS9KMJQU6gpIMX_1GK5O_dvRc8-0P0,1585
|
58
|
+
ams/models/cost.py,sha256=xD_UQCnc4WvVH_sU-JUKi6vgY2h7iFa3cLJZVH4GGx0,5860
|
59
|
+
ams/models/group.py,sha256=byAp-sfsS7WhCL8L9y6wqljO6zO_u_JomgIv4syvbJA,5602
|
60
|
+
ams/models/info.py,sha256=Oh0Xo5J4ZHBsNIkMOzIwv_DegsX1inyuv3Q5CpCfyQw,788
|
61
|
+
ams/models/line.py,sha256=6t0_Y6rlD8riHiljThwluiZMtshu9kgd9ti_Px81KgU,8083
|
62
|
+
ams/models/reserve.py,sha256=6sOPBtPklvS2EIUyWwmUZ5XPXzsx-EWTieQp9noa4WM,2817
|
63
|
+
ams/models/shunt.py,sha256=h5QV33EcCd86XRR0sMIzcO0PTeTirkWaxi8imPKzOi0,337
|
64
|
+
ams/models/timeslot.py,sha256=WKIso2br8K4Ev4_ANzQnuUIYPBgo2LYxAttvez4txKI,1972
|
65
|
+
ams/models/zone.py,sha256=b9DsXOsD9Dny-lCMAWwRpRpl7rYVa0ev180YwqFTaiA,1076
|
66
|
+
ams/models/distributed/__init__.py,sha256=3uiMHT2YRq79DXIB1jni6wP7dNoQMjU1bMTUpr4P6Rc,161
|
67
|
+
ams/models/distributed/esd1.py,sha256=A1qCLzaDtJVI-YoXJd6IRYtP_wp_Ajz2lfjFHvzqHkk,2130
|
68
|
+
ams/models/distributed/ev.py,sha256=mpEIGyG9jV1bXkRIXOkCck4hl5np3bfBKvs4ysxukdM,1978
|
69
|
+
ams/models/distributed/pvd1.py,sha256=KAOlXpZgT_w58xaGWjm5ht6ksac6eRhaqBFHK4EPRH8,1960
|
70
|
+
ams/models/renewable/__init__.py,sha256=7dZyRXbvBAHbLJeJssJ1hsOHj9Bgeg77kB5gcX_mBtg,118
|
71
|
+
ams/models/renewable/regc.py,sha256=zoYZWuEWtIPl1rDwveLQdrZlBz1zkfa46xz-dBn8Iys,3683
|
72
|
+
ams/models/static/__init__.py,sha256=lh5yR5Xb2unS4ndng-cLU1TAeoidu2s6VAVFLc3HUDU,96
|
73
|
+
ams/models/static/gen.py,sha256=CZepvqhjmlGWkUwP3goiimvhZx04L2ADzzx1aVbfdDg,6685
|
74
|
+
ams/models/static/pq.py,sha256=Ky6vcc_G7K46azn4-xBJD-6Rht_3y6r7gkSpFNXWIx0,2583
|
75
|
+
ams/opt/__init__.py,sha256=INsl8yxtOzTKqV9pzVxlL6RSGDRaUDwxpZMY1QROrF4,459
|
76
|
+
ams/opt/constraint.py,sha256=ERT9zwjQyGkvDo465Yd0wBexlIhjVmw0MyWq4BWnWoI,5534
|
77
|
+
ams/opt/exprcalc.py,sha256=6g_d4aYEvy9uxikEwhGE6cqL4wElD3KQmtScYSAHW68,3887
|
78
|
+
ams/opt/expression.py,sha256=WrWnYliB61uHA_wQjtYgtAXdpgSN1pNqQmWvzHWSsdE,5569
|
79
|
+
ams/opt/objective.py,sha256=W0dQfW5dHNdWEc2DQtWYNGMuhMY6Pu-HTD0n7-izDZA,5519
|
80
|
+
ams/opt/omodel.py,sha256=hEtfKoSNssSxHgUDdep79pifNTsywytDTjgGgne7nKM,12750
|
81
|
+
ams/opt/optzbase.py,sha256=KEYRPhfTCw1E5EUmjpDXSF1kdyqzdR9Yg10Z2VNJahw,5615
|
82
|
+
ams/opt/param.py,sha256=r_xxUSxXHNFHwjNSYSyKiQ_IjJtTF_-VG4EuVsL97pg,5131
|
83
|
+
ams/opt/var.py,sha256=cpDiELo37E7IoTDlVn_NbkuFNQ88oey23YOF6Gpg6zM,7707
|
84
|
+
ams/pypower/__init__.py,sha256=UjASl4jXev2Htwgf2G4FMaAphHqbRhyLYLPpes5B438,247
|
85
|
+
ams/pypower/_compat.py,sha256=q2CTtumsE_d-vxK7ju0SzbNnRh5NwrGf_R6J65OStDQ,103
|
86
|
+
ams/pypower/eps.py,sha256=1_X3lA8cp0iFDj7WTk37SqDgRarVpr3O1xaMvinQ3rk,66
|
87
|
+
ams/pypower/idx.py,sha256=YGEkHdrGDOmF_wHsQzRfDp8blaymJuWb1xErUyCYgD4,8176
|
88
|
+
ams/pypower/io.py,sha256=KlXKyErbt2i_UzFJDI4obWbUddQXM3sD4fEtl2ePp7k,26368
|
89
|
+
ams/pypower/toggle.py,sha256=7o4vS0fcQXL_Ha8iiMXxnsqAPPPnypnhPcGQ-NXmbO0,50088
|
90
|
+
ams/pypower/utils.py,sha256=UOkNNJNs_zHVqcxFUlNG6QiBpqPnDlgSGqhnEXPukvs,8779
|
91
|
+
ams/pypower/core/__init__.py,sha256=J4mOfUN6heywauKP99R-Ois2vem5tF6cMS3gsGHSfy8,277
|
92
|
+
ams/pypower/core/pips.py,sha256=YD2b3dttyEDhk5Ki9z_KxP3DLg-fJQ-PFovXifLjoxc,32645
|
93
|
+
ams/pypower/core/ppoption.py,sha256=pyWqiXtkKNAQNlqxqbUZ3gUoXpthXjafGpJd1vvlVoc,8231
|
94
|
+
ams/pypower/core/ppver.py,sha256=J_NX8YfgINQT6FiBG6UxQztfk08lGOOtLk6fce8RVE0,304
|
95
|
+
ams/pypower/core/solver.py,sha256=x1Qv_j_Ol7cTJXYh2KNCvP3R9t0HwD3FM_yvT-Vb1W8,84912
|
96
|
+
ams/pypower/make/__init__.py,sha256=z-BBqZG4SUzrCAvwwgY5EBf2zsnpS74NWOGGyg_U2ck,494
|
97
|
+
ams/pypower/make/matrices.py,sha256=7gFnY_5FdVDFy9XBFVFgPsPFc-XPsPjYJ2y7vkp1uOM,23713
|
98
|
+
ams/pypower/make/pdv.py,sha256=0gxiUyh6uoVvv91-td_AZ6-QLBDyD7-km-qkMTWxAiE,18633
|
99
|
+
ams/pypower/routines/__init__.py,sha256=D3gkMZBjo6TzGLyMPNjM1TvTSY-9XIlgqUqNoSr_8b0,204
|
100
|
+
ams/pypower/routines/cpf.py,sha256=VRL8rWGFaOMn3VheKm2DWZzjpY99W1msvWN4yY9kHcE,17371
|
101
|
+
ams/pypower/routines/cpf_callbacks.py,sha256=93f3sdibG7FsXOP9EmqX-iTe0_eZmGtH1JhvtJB1Xig,4480
|
102
|
+
ams/pypower/routines/opf.py,sha256=SNklP0cC8qu-ji1vluEj7DjAtvWDneOEkZWZeMBdd5g,73447
|
103
|
+
ams/pypower/routines/opffcns.py,sha256=o8EpvWH32x3vbN9gV7Xi-D6RHQ5V2eB8NT15cZrwX2w,78144
|
104
|
+
ams/pypower/routines/pflow.py,sha256=q5RFZ5XuB5YQZk1jpJ5aTUB3DfgPJEGsvWyLDNo5PJo,30697
|
105
|
+
ams/routines/__init__.py,sha256=hB0Nr9RWjnp7Jx2Xria0JpRyIlbIIDEcLwXHqF9v0ug,612
|
106
|
+
ams/routines/acopf.py,sha256=VZC3qs1G7zE--6XxE_wXv432nj3SV5hcrR8967ogYlg,3835
|
107
|
+
ams/routines/cpf.py,sha256=xsrUVjtGQ1b7UCXpwwYihqzTeEGJJKnO9LlX1Tz9Tks,1552
|
108
|
+
ams/routines/dcopf.py,sha256=cOkqXnSD70QthATeggZUF5c_1tRskzTq2z9ODmsA1JA,10898
|
109
|
+
ams/routines/dcpf.py,sha256=SswIb7t37ulxe1rjroA7oSa6z01kYjO-x8P1WWOUutM,8237
|
110
|
+
ams/routines/dcpf0.py,sha256=gPPfSUzzJbHz_gAEFVyZ3iriEHvLJ-OGpTzhza8FOkA,6811
|
111
|
+
ams/routines/dopf.py,sha256=yIn4tdxgb_phdvlHn4kMT9dUP0c_0Lu5kFfyCAUG-tk,6241
|
112
|
+
ams/routines/ed.py,sha256=eNo-edm8qNrQCl9aHqBoIPDF6ltH65L7IobghoK7uH4,11646
|
113
|
+
ams/routines/pflow.py,sha256=I4lyXDyprkg_0j3gY5bdkkBA5ImSjnouMzRnuG1yKb8,9435
|
114
|
+
ams/routines/pflow0.py,sha256=xocLw94jcl2hh3WwnS_mdUW6dsm3EVjvZptVb814GdE,3521
|
115
|
+
ams/routines/routine.py,sha256=QoYxjpItxb7fgPajLoMlGH_TFFgIKgg8Ohhf_WP_SIk,35868
|
116
|
+
ams/routines/rted.py,sha256=BWq2XCYP99siBiLNMF0oKiUmxsCAypBPYxTNeCsjz8Y,22197
|
117
|
+
ams/routines/type.py,sha256=lvTWSnCYIbRJXIm3HX6jA0Hv-WWYusTOUPfoW8DITlU,3877
|
118
|
+
ams/routines/uc.py,sha256=kkYicT1zjD_JmL3HQFe4iBedri1OAHO9-skzjiW21Fc,15625
|
119
|
+
ams/utils/__init__.py,sha256=2hAQmWRgmnE-bCGT9cJoW9FkPDMGRiGkbBcUgj-bgjI,122
|
120
|
+
ams/utils/misc.py,sha256=Y6tPKpUKJa7bL9alroJuG2UNW9vdQjnfAmKb2EbIls8,2027
|
121
|
+
ams/utils/paths.py,sha256=D9VNUwtJtHy-8PFzMnxtQ9HpkOXT6vdVOjfOTuoKGKw,6699
|
122
|
+
docs/Makefile,sha256=UKXBFAbKGPt1Xw9J84343v0Mh8ylAZ-tE0uCd74DrQU,725
|
123
|
+
docs/make.bat,sha256=9UgKGb4SdP006622fJiFxeFT1BeycYAs6hDbV1xwPy8,804
|
124
|
+
docs/source/api.rst,sha256=gDix4Vg_SNUqtijlSmfBktpOrWQMdaj4xsBKrO22dfw,1402
|
125
|
+
docs/source/conf.py,sha256=ozLsGWVbFOZZfruXlvL6ou8i-R8kyCYZedtDzSQVRoU,6688
|
126
|
+
docs/source/genmodelref.py,sha256=IhmF7bDw8BXPvLD8V3WjQNrfc-H07r5iS-_4DHbbp-8,1420
|
127
|
+
docs/source/genroutineref.py,sha256=0JyMc2kV5bWrWbSoO6d7o4QgDgG8mVy3JGGQWacJypw,1064
|
128
|
+
docs/source/index.rst,sha256=N5phQS5RIyYs-NZo_5yYB8LjvHzOKLeXzRA-M8i-g3Q,2688
|
129
|
+
docs/source/release-notes.rst,sha256=0U7P6i5rAdL3aevH9A9mQXL0Nqn9C_zrs98ca0L-vu8,12592
|
130
|
+
docs/source/_templates/autosummary/base.rst,sha256=zl3U4baR4a6YjsHyT-x9zCOrHwKZOVUdWn1NPX2u3bc,106
|
131
|
+
docs/source/_templates/autosummary/class.rst,sha256=Hv_igCsLsUpM62_zN0nqj6FSfKnS5xLyu8ZldMbfOAk,668
|
132
|
+
docs/source/_templates/autosummary/module.rst,sha256=YdbpCudOrEU-JbuSlzGvcOI2hn_KrCM6FW5HcGqkaEE,1113
|
133
|
+
docs/source/_templates/autosummary/module_toctree.rst,sha256=sg30OdqFDLyo8Y3hl9V-s2BXb1bzcjjqqWaWi-C3qFM,1126
|
134
|
+
docs/source/examples/index.rst,sha256=u6-pMB5ecSpNb3x1QWC6tJ8ACh3M6MjLBc4CVFf2z_0,876
|
135
|
+
docs/source/getting_started/copyright.rst,sha256=XBfWvLm7T8p-zh1jkDy1kODvTDcH73AEV_vkiN32A2o,715
|
136
|
+
docs/source/getting_started/index.rst,sha256=mcp1NdUwbPoNzpn7Owf5Qzfd6J_--ToU52PjmrbwjBY,1512
|
137
|
+
docs/source/getting_started/install.rst,sha256=gE4L0ApiC_mwbjbYtkGW4ilyIAu_Jn-VIeoYlgRiOIw,7268
|
138
|
+
docs/source/getting_started/overview.rst,sha256=Zy890bDCUVW37NvjhQFUJUae1Zkghr72Az4Qd0PhP_I,1068
|
139
|
+
docs/source/getting_started/testcase.rst,sha256=L3fGjfm7mGj7ChRovYw5Jx6OP8PU5pTerid0_Y4iKVM,2016
|
140
|
+
docs/source/getting_started/verification.rst,sha256=Jxbgf-SmXYLSokylr1LKtGOjAWUc7a5D-uT_mQZ7i7c,243
|
141
|
+
docs/source/getting_started/formats/index.rst,sha256=G3WO-A_B2abKNrxc6dEZ82AhQWSCDMGwQObFvOeKbGo,317
|
142
|
+
docs/source/getting_started/formats/matpower.rst,sha256=kyvEoJGsTj1FfVnPoraljPENgiRa3fmB3KqZ_VSJg90,17425
|
143
|
+
docs/source/getting_started/formats/psse.rst,sha256=zPHCnMa-M3k3aaDmzoZWXBaR3O0l0zupFlr_yaiB5eU,1570
|
144
|
+
docs/source/getting_started/formats/pypower.rst,sha256=7RHy6iC6w37mUIRtHU0oa4fECdkQPEptflUxCwu3nD8,8986
|
145
|
+
docs/source/getting_started/formats/xlsx.png,sha256=WX5x7ZG9hBu5Ft8gmA_u4XQewK_SDWw30WOaXsAS8LY,171220
|
146
|
+
docs/source/getting_started/formats/xlsx.rst,sha256=utsE0AJirT_P7ZvCk63NhB-z19NdbS8OjWQyQ9juskM,761
|
147
|
+
docs/source/images/curent.ico,sha256=pKetB19VTcdXTRH6iACq5YWHZYPcDesd9bfnT2KaaOM,36637
|
148
|
+
docs/source/images/dcopf_time.png,sha256=Dy84QWTNeWY2_5uRFQ6RWSaS0yOBqYKYxzwWgE27dkY,196221
|
149
|
+
docs/source/images/sponsors/CURENT_Logo_NameOnTrans.png,sha256=0t3hcFcIEdwFWqwCW3xivrpbqHihBlrzq-BjrajQXrA,87680
|
150
|
+
docs/source/images/sponsors/CURENT_Logo_Transparent.png,sha256=dCz3400_jBhWG7oJUKJO_Gm4Lejp-hOyFnj60UI2fUI,59336
|
151
|
+
docs/source/images/sponsors/CURENT_Logo_Transparent_Name.png,sha256=nIOUmexImq_Ytu7r8ZMTO1wM47wZ_ICHniShnB7JxSc,837476
|
152
|
+
docs/source/images/sponsors/doe.png,sha256=2jadi7dnUqJoh2awk525ZiBM8fxOxQOdK_09HiPnKWY,26131
|
153
|
+
docs/source/modeling/example.rst,sha256=j8n2bOvT_Mnf5Ce9WkBYc3MiFn7svhG3PGrzRL8OylA,6620
|
154
|
+
docs/source/modeling/index.rst,sha256=TasRAJSglc5KAZaGAj9TLMktOO2TtzZsqG5WvvZXB_U,322
|
155
|
+
docs/source/modeling/model.rst,sha256=j7OSvoXnDht6rGpgwPiJklsCWrebfx4DxIN-G8r6iFo,7086
|
156
|
+
docs/source/modeling/routine.rst,sha256=BkUE3y5L1lA7LP9Nyzc4zzY-tF3t4k7egBE188kybHY,4286
|
157
|
+
docs/source/modeling/system.rst,sha256=NMOPNMOKG1_dRyNPPx-MiCKbbpadxWJxGyU6geRUsvQ,1374
|
158
|
+
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
159
|
+
tests/test_1st_system.py,sha256=5PQgI1DeM5yQTFagOPCMbk0eItTH6-M6FC8TMCv-CRY,1007
|
160
|
+
tests/test_addressing.py,sha256=MIT713KCqMg0h2o4rBDZsGUrpGadmMlXnrrdq-wB77E,1364
|
161
|
+
tests/test_andes_mats.py,sha256=3JQ2xK5B4s42EHxjCcUjJbt1VY3rZPwjkq81ubFlsLQ,1674
|
162
|
+
tests/test_case.py,sha256=uR2bP1g9PO812W9tVmBwWGmyBN5ltMynOZz0ZeI82iE,7808
|
163
|
+
tests/test_cli.py,sha256=TtCGBy2e7Ll_2gJTFo9juZtzhaakho_MqkcqhG2w2dk,870
|
164
|
+
tests/test_export_csv.py,sha256=rZCafNrVbwDo7ZNC4MrL1gIcrU0c6YVw2q-QGL3O4K4,2921
|
165
|
+
tests/test_group.py,sha256=Tq0s9gtenqrv4ws5YNzWxbiF4WgyhtMEAXZfJtew6M4,2699
|
166
|
+
tests/test_interface.py,sha256=lXKR8OAsGIg5dV2Uj0UwGAl69hKnc_7EtCYvpP_0rrU,8157
|
167
|
+
tests/test_io.py,sha256=ABEtSc7-5aHZZrdVorARRhWIxfSBEzkb5fsiSJluGHA,1087
|
168
|
+
tests/test_jumper.py,sha256=bdOknplEGnO_tiJc7p3xQvgTe2b6Dz53bOgbFaXKMAI,537
|
169
|
+
tests/test_known_good.py,sha256=NBrlAxnVMxIHXR2cWps-Kwjh36fiU4Y-eupspZkM0ks,9670
|
170
|
+
tests/test_matp.py,sha256=LkjhqxSFr6oY_ENpduDQ77rhLLBl6RzIHZ2d0m_8i-8,17262
|
171
|
+
tests/test_model.py,sha256=ZgghNYmEeALf8_1sPjq9lIJwuYDQ2SelivJNEYpHxJU,1621
|
172
|
+
tests/test_omodel.py,sha256=0hN8_fh_as-ouaZWKBagqMJkjMWCvIjw5o1CgGjiUrU,4305
|
173
|
+
tests/test_paths.py,sha256=BU6Tjl4Q_WuHbid0ujkiibqx7yas42YJ7eV_avVMwuw,633
|
174
|
+
tests/test_report.py,sha256=B2_ugz5gzF4mDdiba498DrkK9hX4Zfa6KUGW54yCGVE,8069
|
175
|
+
tests/test_repr.py,sha256=g7MRdxLcZRI1PlREFdUG_npp0LkcQiJZfOPw1aq0EFM,570
|
176
|
+
tests/test_routine.py,sha256=gblLHBQ3DJgYiSGsqGdIGnn-CuEZAEnq9CqhqN5m608,6234
|
177
|
+
tests/test_rtn_dcopf.py,sha256=LOfAVFzl2t6oTqTmWhmstu1j9FnpzHxdrplbmb3Y6Mc,3660
|
178
|
+
tests/test_rtn_dcpf.py,sha256=QC6F_4LOZ7mrWOEM3s6a6j-eUDM_n49MQouPIR6fzR0,2555
|
179
|
+
tests/test_rtn_ed.py,sha256=2CO0kg3LEN8q75_4Z0cgGz4DTOPUjRHur6Dbfw2tRLQ,10173
|
180
|
+
tests/test_rtn_pflow.py,sha256=aDL5Ewm6lWqpdHqIIu-DTllhXzt4bMjsLJaKbJa8sXQ,6990
|
181
|
+
tests/test_rtn_rted.py,sha256=AyW5B4A51L_nIVLX1eYeu9ZUboOh1CH2FVj2C1XJjSc,9769
|
182
|
+
tests/test_rtn_uc.py,sha256=vdG2ss3q91CXLZ2sUgzoUr1NU-63ue7nOxAYywMordE,8286
|
183
|
+
tests/test_service.py,sha256=8YIa_PXurwgOzsWvUqoyqS_AzlpdrKHIMxAln5fIqCU,2438
|
184
|
+
ltbams-1.0.2.dist-info/METADATA,sha256=Se5UbYYclnVVOwjH-65lzWRRhxssABxR8SwFxPKQ39w,13415
|
185
|
+
ltbams-1.0.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
186
|
+
ltbams-1.0.2.dist-info/entry_points.txt,sha256=FA56FlhO_yVNeEf810SrorVQb7_Xsmo3_EW-W-ijUfA,37
|
187
|
+
ltbams-1.0.2.dist-info/top_level.txt,sha256=pyKDqG2kj13F9-BYd_wkruRdBSqLXw8Nwc-cmljqrxg,15
|
188
|
+
ltbams-1.0.2.dist-info/RECORD,,
|
tests/test_report.py
CHANGED
@@ -5,6 +5,7 @@ import unittest
|
|
5
5
|
import os
|
6
6
|
|
7
7
|
import ams
|
8
|
+
from ams.shared import skip_unittest_without_MISOCP
|
8
9
|
|
9
10
|
|
10
11
|
import logging
|
@@ -118,12 +119,13 @@ class TestReport(unittest.TestCase):
|
|
118
119
|
self.assertTrue(os.path.exists('pjm5bus_demo_RTEDDG.csv'))
|
119
120
|
os.remove('pjm5bus_demo_RTEDDG.csv')
|
120
121
|
|
122
|
+
@skip_unittest_without_MISOCP
|
121
123
|
def test_RTEDES_report(self):
|
122
124
|
"""
|
123
125
|
Test report with RTEDES solved.
|
124
126
|
"""
|
125
127
|
self.ss.files.no_output = False
|
126
|
-
self.ss.RTEDES.run(
|
128
|
+
self.ss.RTEDES.run()
|
127
129
|
self.assertTrue(self.ss.report())
|
128
130
|
self.assertTrue(os.path.exists(self.expected_report))
|
129
131
|
|
@@ -172,12 +174,13 @@ class TestReport(unittest.TestCase):
|
|
172
174
|
self.assertTrue(os.path.exists('pjm5bus_demo_EDDG.csv'))
|
173
175
|
os.remove('pjm5bus_demo_EDDG.csv')
|
174
176
|
|
177
|
+
@skip_unittest_without_MISOCP
|
175
178
|
def test_EDES_report(self):
|
176
179
|
"""
|
177
180
|
Test report with EDES solved.
|
178
181
|
"""
|
179
182
|
self.ss.files.no_output = False
|
180
|
-
self.ss.EDES.run(
|
183
|
+
self.ss.EDES.run()
|
181
184
|
self.assertTrue(self.ss.report())
|
182
185
|
self.assertTrue(os.path.exists(self.expected_report))
|
183
186
|
|
@@ -190,12 +193,13 @@ class TestReport(unittest.TestCase):
|
|
190
193
|
self.assertTrue(os.path.exists('pjm5bus_demo_EDES.csv'))
|
191
194
|
os.remove('pjm5bus_demo_EDES.csv')
|
192
195
|
|
196
|
+
@skip_unittest_without_MISOCP
|
193
197
|
def test_UC_report(self):
|
194
198
|
"""
|
195
199
|
Test report with UC solved.
|
196
200
|
"""
|
197
201
|
self.ss.files.no_output = False
|
198
|
-
self.ss.UC.run(
|
202
|
+
self.ss.UC.run()
|
199
203
|
self.assertTrue(self.ss.report())
|
200
204
|
self.assertTrue(os.path.exists(self.expected_report))
|
201
205
|
|
@@ -208,12 +212,13 @@ class TestReport(unittest.TestCase):
|
|
208
212
|
self.assertTrue(os.path.exists('pjm5bus_demo_UC.csv'))
|
209
213
|
os.remove('pjm5bus_demo_UC.csv')
|
210
214
|
|
215
|
+
@skip_unittest_without_MISOCP
|
211
216
|
def test_UCDG_report(self):
|
212
217
|
"""
|
213
218
|
Test report with UCDG solved.
|
214
219
|
"""
|
215
220
|
self.ss.files.no_output = False
|
216
|
-
self.ss.UCDG.run(
|
221
|
+
self.ss.UCDG.run()
|
217
222
|
self.assertTrue(self.ss.report())
|
218
223
|
self.assertTrue(os.path.exists(self.expected_report))
|
219
224
|
|
@@ -226,12 +231,13 @@ class TestReport(unittest.TestCase):
|
|
226
231
|
self.assertTrue(os.path.exists('pjm5bus_demo_UCDG.csv'))
|
227
232
|
os.remove('pjm5bus_demo_UCDG.csv')
|
228
233
|
|
234
|
+
@skip_unittest_without_MISOCP
|
229
235
|
def test_UCES_report(self):
|
230
236
|
"""
|
231
237
|
Test report with UCES solved.
|
232
238
|
"""
|
233
239
|
self.ss.files.no_output = False
|
234
|
-
self.ss.UCES.run(
|
240
|
+
self.ss.UCES.run()
|
235
241
|
self.assertTrue(self.ss.report())
|
236
242
|
self.assertTrue(os.path.exists(self.expected_report))
|
237
243
|
|
tests/test_rtn_ed.py
CHANGED
@@ -2,6 +2,7 @@ import unittest
|
|
2
2
|
import numpy as np
|
3
3
|
|
4
4
|
import ams
|
5
|
+
from ams.shared import skip_unittest_without_MISOCP
|
5
6
|
|
6
7
|
|
7
8
|
class TestED(unittest.TestCase):
|
@@ -204,6 +205,7 @@ class TestEDES(unittest.TestCase):
|
|
204
205
|
self.ss.EDES.init()
|
205
206
|
self.assertTrue(self.ss.EDES.initialized, "EDES initialization failed!")
|
206
207
|
|
208
|
+
@skip_unittest_without_MISOCP
|
207
209
|
def test_trip_gen(self):
|
208
210
|
"""
|
209
211
|
Test generator tripping.
|
@@ -215,7 +217,7 @@ class TestEDES(unittest.TestCase):
|
|
215
217
|
loc_offtime = np.array([0, 2])
|
216
218
|
self.ss.EDTSlot.ug.v[loc_offtime, stg_uid] = 0
|
217
219
|
|
218
|
-
self.ss.EDES.run(
|
220
|
+
self.ss.EDES.run()
|
219
221
|
self.assertTrue(self.ss.EDES.converged, "ED did not converge under generator trip!")
|
220
222
|
pg_pv1 = self.ss.EDES.get(src='pg', attr='v', idx=stg)
|
221
223
|
np.testing.assert_almost_equal(np.zeros_like(loc_offtime),
|
@@ -230,7 +232,7 @@ class TestEDES(unittest.TestCase):
|
|
230
232
|
self.ss.StaticGen.set(src='u', idx=stg, attr='v', value=0)
|
231
233
|
self.ss.EDES.update()
|
232
234
|
|
233
|
-
self.ss.EDES.run(
|
235
|
+
self.ss.EDES.run()
|
234
236
|
self.assertTrue(self.ss.EDES.converged, "ED did not converge under generator trip!")
|
235
237
|
pg_pv1 = self.ss.EDES.get(src='pg', attr='v', idx=stg)
|
236
238
|
np.testing.assert_array_less(np.zeros_like(pg_pv1), pg_pv1,
|
@@ -238,12 +240,13 @@ class TestEDES(unittest.TestCase):
|
|
238
240
|
|
239
241
|
self.ss.StaticGen.set(src='u', idx=stg, attr='v', value=1) # reset
|
240
242
|
|
243
|
+
@skip_unittest_without_MISOCP
|
241
244
|
def test_line_trip(self):
|
242
245
|
"""
|
243
246
|
Test line tripping.
|
244
247
|
"""
|
245
248
|
self.ss.Line.set(src='u', attr='v', idx=3, value=0)
|
246
|
-
self.ss.EDES.run(
|
249
|
+
self.ss.EDES.run()
|
247
250
|
self.assertTrue(self.ss.EDES.converged, "EDES did not converge!")
|
248
251
|
plf_l3 = self.ss.EDES.get(src='plf', attr='v', idx=3)
|
249
252
|
np.testing.assert_almost_equal(np.zeros_like(plf_l3),
|
@@ -251,18 +254,19 @@ class TestEDES(unittest.TestCase):
|
|
251
254
|
|
252
255
|
self.ss.Line.alter(src='u', idx=3, value=1)
|
253
256
|
|
257
|
+
@skip_unittest_without_MISOCP
|
254
258
|
def test_set_load(self):
|
255
259
|
"""
|
256
260
|
Test setting and tripping load.
|
257
261
|
"""
|
258
|
-
self.ss.EDES.run(
|
262
|
+
self.ss.EDES.run()
|
259
263
|
pgs = self.ss.EDES.pg.v.sum()
|
260
264
|
|
261
265
|
# --- set load ---
|
262
266
|
self.ss.PQ.set(src='p0', attr='v', idx='PQ_1', value=0.1)
|
263
267
|
self.ss.EDES.update()
|
264
268
|
|
265
|
-
self.ss.EDES.run(
|
269
|
+
self.ss.EDES.run()
|
266
270
|
pgs_pqt = self.ss.EDES.pg.v.sum()
|
267
271
|
self.assertLess(pgs_pqt, pgs, "Load set does not take effect!")
|
268
272
|
|
@@ -270,6 +274,6 @@ class TestEDES(unittest.TestCase):
|
|
270
274
|
self.ss.PQ.alter(src='u', idx='PQ_2', value=0)
|
271
275
|
self.ss.EDES.update()
|
272
276
|
|
273
|
-
self.ss.EDES.run(
|
277
|
+
self.ss.EDES.run()
|
274
278
|
pgs_pqt2 = self.ss.EDES.pg.v.sum()
|
275
279
|
self.assertLess(pgs_pqt2, pgs_pqt, "Load trip does not take effect!")
|