My first thought was to create the dome with Sweep 2 and 4 profiles, then cut off the top. But that top shape always is oblong, never round. So I gave up and did a hail mary with networksrf, but no. This is a common problem. Normally I make the left and right sides one surface and then make two other sides, but I have to have a dome shape for this job.
Here are the curves, exactly where I need them (fillets are optional):
@Stratosfear, thank you for helping. I know that network surface workflow, it’s just lacks control. It’s 90% of what I wanted. @Willem’s solution is really elegant.
I’ve come up with another way of doing this. Create the upper ring body with rail revolve. Then point edit the with gumball scale. You will need to use the adjust closed surface seam command then split and mirror. The lower ring body can be created with revolves or sweeps and matched to boleen trimmed upper body. The finished result is perfectly smooth and easily adjusted allowing for the creation of multiple iterations very quickly. I would imagine you could easily create a grasshopper script for this.