Hi Muhammad,

Thanks for your feedback, and for your work on matpower-pip.

Regarding backward compatibility, the plan for MATPOWER 8 is to retain complete 
backward compatibility in multiple ways.

First, all of the legacy code is still included and can be used by disabling 
the new object-oriented core architecture (OOP core).
Second, the new OOP core can be used internally by the legacy runpf(), runcpf() 
and runopf() functions. This should be fully compatible, and will enable a few 
new options.
To fully exploit the new architecture for customization and building out new 
capabilities, one would use the new functions run_pf(), run_cpf() and run_opf() 
(note the underscores in the function names).

As far as supporting aliasing on import, I don’t see anything like that for 
MATLAB, and even worse, Octave does not yet support import at all, which is one 
reason I’m leaning pretty hard toward C. For that reason, I’m also not planning 
to put the top-level run_*pf() functions inside the package.

Thanks, again,

    Ray


On Nov 1, 2022, at 10:42 PM, Muhammad Yasirroni 
<muhammadyasirr...@gmail.com<mailto:muhammadyasirr...@gmail.com>> wrote:

matpower-pip maintainer here.

Current development is using Octave 5.2.0-w64. But, as mentioned earlier, the 
latest Ubuntu comes with Octave 6.2. Thus, I might end up using Octave 6.2.

Since I also use Python, using package naming might be nicer from my point of 
view.

So I also vote A, but does this version retain backward compatibility? At least 
for basic usage snippets.

_
For package naming, I prefer to use C, but if Octave supports aliasing like 
what Python does (import matpower as mp), I prefer D.

On Tue, Nov 1, 2022 at 4:39 PM Richard Lincoln 
<r.w.linc...@gmail.com<mailto:r.w.linc...@gmail.com>> wrote:
Until recently I was stuck with GNU Octave 4.4 when compiling to WebAssembly 
for https://matpower.app<https://matpower.app/>. However, I can now compile 
Octave 7.2 with the latest version of Emscripten (3.1.24). I typically use 
Ubuntu 20.04 LTS (focal) for development and Docker base images. It comes with 
Octave 5.2. However, the latest LTS release is 22.04 (jammy) and it comes with 
Octave 6.4:

https://packages.ubuntu.com/search?keywords=octave&searchon=names&suite=all&section=all

I my experience, Octave is very stable and there are many options available 
(snaps, flatpak, PPAs) for installing the latest version. I vote A, requiring 
Octave 6.2 or later.

The MATLAB language has a particularly terse syntax. Other than perhaps Perl, I 
can't think of a popular language that allows so much to be expressed with so 
few characters. For this reason I think mp should be the package name and vote 
C. The only naming conflicts that come to mind might be something related to 
OpenMP or message passing or multiple precision arithmetic.

Richard

On Mon, 31 Oct 2022 at 23:59, Ray Daniel Zimmerman 
<r...@cornell.edu<mailto:r...@cornell.edu>> wrote:
Hi MATPOWER Developers,

I need your feedback on a quick question.

I’m working on finalizing things for a beta release of what amounts to a nearly 
complete re-write of MATPOWER for version 8.0. More on that soon.

Since this new version defines tons of new classes, I thought it would be nice 
to put them all inside a package, probably named mp or matpower, to avoid 
namespace pollution. For those who don’t know, a package is simply a folder 
whose name begins with a ‘+’, like ‘+mp’. If that folder is in your path, any 
class inside it, such as myclass.m can be accessed as mp.myclass.

The issue is that, for Octave users, putting the new MATPOWER classes inside a 
package will require Octave 6.2.0 (released Feb 2021) or later, otherwise we 
could support Octave 5.2.0 (released Jan 2020) or later.

So the question for you MATPOWER/Octave users is …

What is your preference?
A. Require Octave 6.2.0 or later and put the new classes in its own package.  OR
B. Support Octave 5.2.0 and leave all of the new classes in the main namespace.

And a secondary question, for anyone who has an opinion, is …

Which is the better name for the package, should we choose to go that route?
C. mp - short and convenient to use  OR
D. matpower - longer, but better at avoiding name collisions

This is a major update with massive changes and my goal is to introduce a 
framework that will provide a solid foundation for MATPOWER development for 
years/decades to come.

Any feedback or comments are appreciated. Oh, and I’ll probably post this to 
the MATPOWER-L discussion group too, just to get a response from a larger 
audience if possible. So sorry for the duplicates for those on both lists.

Thanks,

    Ray



--
Best Regards,
Muhammad Yasirroni, S.T.
Research Assistant in Electrical Engineering (Electrical Power System)
Department of Electrical Engineering and Information Technology,
Engineering Faculty,  Universitas Gadjah Mada, D.I.Yogyakarta, Indonesia


Reply via email to