I'll add to BrettFromLA's answer, elaborating on how the virtual worlds, in this case cities and buildings, are made.
VFX in movies. To get a computer generated frame for your movie, you need a 3D model of the scene you want to have and a piece of software that will visualize/"render" the scene. I'll only talk about the 3D models.
3D models. The 3D models can be modelled manually or (semi-)automatically. Typically, you get a mixture of both approaches, e.g. a character's face would be modelled manually by an artist, but the hair will be generated semi-automatically, with the artist setting the hair density, type, and others, the modelling software then generating the hair, and the artist then in turn styling/brushing the hair as needed. Ideally, the artist retain the required artistic control while having the software do all of the hard work (imagine modelling thousands of hairs).
In a similar fashion, one can semi-automatically create and then manually adjust trees and plants, terrains, flowing water, buildings, cities, or other. Typically, the process is called Procedural Modelling (you model something using a pre-defined algorithm/procedure). The software packages available for these different domains differ, as do the controls and parameters available to the artist.
Buildings and Cities. For cities, the goal is to have the computer generate a city layout and a large number of buildings in a similar style or set of styles. The one piece of software that I know that can do this is CityEngine.
I'd say that for a movie, the city layout is typically hand-made, as the area covered and the shots don't warrant the use of an procedural algorithm. However, if an algorithm were to be used, it would typically start from a point and grow streets and major roads in one or more patterns (e.g. Manhattan grid or more unstructured, old European city center style, city radials/belt roads).
Buildings are generated from a set of rules that tell CityEngine how to generate the structure/composition of your building. For example, one would start with a building foot-print, which would get extruded to get a 3D object (say a cube). The rules would then ask CityEngine to split this cube into the roof and the vertical walls. For each of them, the artist would write a further rule, for example to split each wall into floors, each floor into windows and non-windows, and so on, until they have the building's structure down. Then, they'd instruct CityEngine to use a 3D model or a texture/image for each piece of the wall that was generated. There are some more visual examples in CityEngine's documentation.
While I cannot say what software was used for The Day After Tomorrow (2004), I know CityEngine was used for Independence Day: Resurgence (2016), as per this YouTube video, which contains more details.
Tsunami. - For the water/tsunami, I'd wager a fluid simulation of some sort was used. Jos Stam is a good starting point for the more curious.
Papers.. I'll list three relevant papers, if anyone is super-courious. These are all fairly old and probably not state-of-the art anymore, but you can look up other, newer papers that cited them on Google Scholar.
Disclosure: I was an intern at the company that develops CityEngine a couple of years ago.