One of the open source codes from their research group is called Clawpack and is a good starting point for understanding things, and for cross-validation if you code something yourself.
But keep in mind, there are many different physical formulations of the wave equations that complicate matters quite a bit, especially beyond 1D. A shallow water wave has different physics from a deep water wave, which is again different from a sound wave. These require different numerical treatment. And e.g. if you go to large scale atmospheric (Rossby) waves, you need to solve on a sphere which is topologically a bit involved. It's a very rich field of study.
[1] https://www.cambridge.org/core/books/finite-volume-methods-f...