A Cast modifier on a rounded cuboid should do that for you..

- CtrlR cut the default cube in half, V cut the loop
- X delete the bottom half, F fill the hole
- SX etc. scale to shape in Edit Mode, top edges only, if your reference indicates..
- CtrlR cut in loops to even up density.
Add a Cast modifier:

- Factor
0 is the original, and 1 is the hemisphere.
This one's followed up with a level of Subdivision Surface.
In the example, I've adjusted the topology of the bottom surface to suit a bit better, and added a Smooth modifier aimed at the bottom surface only, to make the result a bit more reasonable after deformation, bevelling and subdiv. .. but that's optional. You could take that further, or not do it at all.

