@Carl Love, @Rouben Rostamian, @Oliveira
This is, again, all about using differential elimination, something implemented in Maple in 1996 (diffalg), then improved with DEtools[rifsimp], DifferentialAlgebra and DifferentialThomas - all differential elimination packages. Exploring the potentiality of those packages there are the higher level functionality commands PDEtools[dpolyform] and PDEtools[casesplit], finally on top of those there is the triad dsolve, pdsolve and PDEtools:-Solve - the later combining into one all of solve, dsolve, pdsolve, fsolve, and also the options series and numeric of these commands.
Surprisingly, it is the year 2019, and still today Maple is the only Computer Algebra System (CAS) that has differential elimination implemented. The piramid of funcionality just mentioned is at the root of Maple's top performance with differential equations when compared with any other CAS.
The two paragraphs above turn on the light on what is going on, that experienced mathematicians and computer algebra users get surprised with this reply by Rouben today. The explanation may look abstract but tell the story; the corresponding help pages the details.
The other two things I wanted to mention: your comment, Rouben, in a previous Mapleprimes reply, about rewriting the help page for PDEtools:-casesplit (regarding usage, this command is the most important one of all those mentioned) is for me, not a clear guideline, I suppose because I wrote these command (but for the original diffalg and rifsimp). It would help if any of you would like to rewrite part or all of that help page according to what you think would be best and post it so that I could see these commands "through your eyes," then see how to integrate your suggestions in these pages.
Finally, Carl, the idea is a simple one: what you call "a scalar" is a function with zero derivative; i.e. replace omega by omega(x) and add the equation diff(omega(x), x) = 0 to the system being solved. All these commands mentioned also handle inequations, not just equations, and accept all the optional arguments you can pass to PDEtools:-casesplit; take a look at its help page you will realize you can compute very tricky things with simple instructions - one of my favorite ones: the option 'independentof' of the PDEtools:-Solve command.
Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft