Skip to content

Guymer/rsl

Repository files navigation

Rising Sea Levels (RSL)

This project aims to map the effects of rising sea levels on Great Britain.

Workflow

  1. Download for yourself the "OS Terrain 50" dataset, in the "ASCII Grid and GML (Grid)" file format, from the Ordnance Survey to provide the "terr50_gagg_gb.zip" file that is used here
  2. Convert the ZIP file of the "OS Terrain 50" dataset to a BIN file (by running convertZIPtoBIN.py)
  3. Compile the FORTRAN programs (by running Makefile)
  4. Create an elevation map of Great Britain (by running convertBINtoPPM)
  5. Flood Great Britain (by running createFlood)
  6. Convert all generated PPM images to PNG images (by running convertPPMtoPNG.sh)
  7. Convert the sequence of PNG images to a MP4 video (by running convertPNGtoMP4.py)
  8. Convert the sequence of PNG images to a WEBP animation (by running convertPNGtoWEBP.py)

Method

The method that is used here has been stolen from Where Can Pregnant Women Go? (WCPWG) as it is exactly the same numerical problem.

Dependencies

RSL requires the following Python modules to be installed and available in your PYTHONPATH.

Additionally, due to the dependency on my FORTRAN library, you will also require the following Python modules to be installed and available in your PYTHONPATH:

RSL uses some Global Self-Consistent Hierarchical High-Resolution Geography resources and some Natural Earth resources via the cartopy module. If they do not exist on your system then cartopy will download them for you in the background. Consequently, a working internet connection may be required the first time you run RSL.

Bugs

  • If you look at the image with a sea level of 0m (shown below) then you will notice that there are some large lakes in East Anglia that are not there in real life. In real life they are below sea level, with Holme Fen being the lowest point in GB. However, in real life there are numerous dykes that keep the sea out so that these low-lying areas are not flooded. The "OS Terrain 50" dataset is gridded on 50m by 50m pixels, therefore, I conclude that the reason why I am incorrectly flooding these areas with a sea level of 0m is because the dykes that keep the water out are less than 50m by 50m in real life.

GB with a sea level of 0m