diff --git a/INSTRUCTIONS.md b/INSTRUCTIONS.md
new file mode 100644
index 0000000000000000000000000000000000000000..a2a056bf94f7377ee22992245f05bd2bca947e09
--- /dev/null
+++ b/INSTRUCTIONS.md
@@ -0,0 +1,69 @@
+# Instructions to create the AWI Basemap
+
+Detailled instructions on how to create the AWI Basemap.
+
+> Note: All commands and scripts are expected to be executed in `~/process/`. If used otherwise, don't forget to adjust the paths.
+
+`Section 0` quickly describes the necessary software. `Section 1` lists the data that needs to be downloaded. `Section 2` describes all the necesaary adjustments to the scripts. And the rest is just run and wait.
+
+# 0. Software requirements
+
+The process described below is entirely based on open source GIS software. Most of the steps could also be done within the graphical user interface of QGIS. Others rely on commandline usage of the GDAL package (ogr2ogr) which comes with the QGIS installation. To run the scripts, you need the following:
+
+- python 3.x
+- gdal
+- gdal-python
+
+The scripts where designed for and tested with the OSGeo4W installation of the above mentioned packages.
+
+# 1. Download data
+
+Before processing and combining all input layers to the basemap, we need to download some geodata.
+
+##### General Bathymetric Chart of the Oceans (GEBCO)
+GEBCO is the DEM basis for the basemap. Download GEBCO in its global netCDF version to avoid the GeoTIFF tiles. Details on the GEBCO dataset can be found [here](https://gitlab.awi.de/sdreutte/basemap/-/blob/master/data/gebco.md).
+Download GEBCO here: https://www.gebco.net/data_and_products/gridded_bathymetry_data/
+The netCDF grid `GEBCO_2020.nc` should be placed in `~/data/gebco/`.
+
+##### Global Land Ice Measurements from Space (GLIMS)
+To overlay the map with global glaciers, GLIMS stores the necessary data. Download the latest GLIMS dataset as ESRI Shapefile Polygon. Details on the GLIMS dataset can be found [here](https://gitlab.awi.de/sdreutte/basemap/-/blob/master/data/glims.md).
+Download GLIMS here: http://www.glims.org/download/latest
+The SHP file `glims_polygons.shp` (and all auxiliary files) should be placed in `~data/glims/`.
+
+##### Greenland Ice Mapping Project (GIMP)
+To overlay the map with the Greenland ice sheet, GIMP stores the necessary data. Download the latest GIMP Ice Mask dataset as GeoTIFF. To access the GIMP dataset, a NASA Earthdata account is needed. Details on the GIMP dataset can be found [here](https://gitlab.awi.de/sdreutte/basemap/-/blob/master/data/gimp.md).
+Download GIMP here: https://nsidc.org/data/nsidc-0714/versions/1
+The geoTIFF grid `GimpIceMask_90m_v1.1.tif` should be placed in `~data/gimp/`.
+
+##### SCAR Antarctic Digital Database (ADD)
+To overlay the map with the Antarctic ice sheet and shelf ice, the ADD stores the necessary data. Download the coastline data and the rock outcrop data (medium resolution version is sufficient. Details on the ADD dataset can be found [here](https://gitlab.awi.de/sdreutte/basemap/-/blob/master/data/add.md).
+Download ADD coastlines here: https://data.bas.ac.uk/download/f18d638d4-3c71-442f-9415-01d17842d98d
+And ADD rock outcrops here: https://data.bas.ac.uk/download/fe90d6aec-b53e-40c1-ad52-c05e03a58c1d
+The GPKG files `add_coastline_medium_res_polygon_v7.3.gpkg` and `add_rock_outcrop_medium_res_polygon_v7.3.gpkg` should be placed in `~data/add/`.
+
+# 2. Adjust scripts
+
+Most of the necessary adjustments are happening in `~/process/config.py`. There are two minor things that need adjustment in other scripts.
+
+## 2.1 `~/process/config.py`
+
+##### Input Files
+After downloading the input data you need to make sure the input files in the configuration fit the filenames of the downloaded datasets. New versions of the datasets might lead to new filenames. Go through the `INPUT FILES` section in the configuration and check them all.
+
+##### General Create Options
+The default settings for resolution (degree/meter), the z factor for shading and the extent of the polar grids are set here. If you want different settings, adjust the variables in this section. However, read the notes, expecially on resolution.
+
+##### Operational Parameters
+If your Python 3.x installation has a different executable than OSGeo4W (`python3`), adjust this here.
+
+## 2.2 `~/process/1_process_add.py`
+
+Some of the vector processes require the GPKG layer names in their SQL commands. In ADD there is an inconsistency with the layer bames, which is why the layer name varibale for rock outcrops needs to be overwritten at the beginning of the process. In case this gets fixed or other incositencies arise in newer versions, make sure these are taken care of here.
+
+## 2.3 `~/process/run.bat`
+
+Again, if your Python 3.x executable is different to `python3`, adjust this at the beginning of the run script.
+
+# 3. Run
+
+Now run `~/process/run.bat` (or run all python scripts manually in order) and check the results, once finished.
diff --git a/README.md b/README.md
index 6d361c89f17cdabc5f1ad25397b4acc114173819..3020aa7daae8b42abe9d029231010cb413e189d9 100644
--- a/README.md
+++ b/README.md
@@ -8,65 +8,26 @@ The above mentioned websites use a global basemap with a colored and shaded digi
 
 At this point, the **AWI Basemap**s is available in three color sets. All three are based on the AWI blues (RGB bright: 7/172/231, RGB dark: 0/62/110). Yet, the "default" color palette reduces these blues to half their saturation, the "bright" color palette uses the blues directly, and the "dark" color palette uses the blues with a quarter of their saturation.
 
-
-<!---
 ## Instructions
 
-`INSTRUCTIONS.md` holds the instructions for manually creating the **AWI Basemap** with QGIS tools, as well as instructions on the usage of the scripts.
--->
+`INSTRUCTIONS.md` holds the instructions on the usage of the scripts to create the AWI Basemaps.
 
 ## Data
 
 In `data`, all the necessary data sources are listed. As data is not stored in this git, textfiles give information on where to download the data and in which format it needs to be available for the process.
 
+## Preview
+
+In `preview`, you can get a glimps on the final output.
+
 ## Process
 
 In `process`, all the required scripts are stored.
 
-
 ## Styles
 
-In `styles`, all the required color palettes and QGIS layer style files (QML) are stored.
+In `styles`, all the required color palettes and auxiliary QGIS layer style files (QML) are stored.
 
 ## Sources
 
 References and citations for data sources are listed in `SOURCES.md`.
-
-<!--
-## Results
-
-This is how the results look like:
-
-##### World
-
-Default:
-![AWI Basemap World Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_World.png)
-
-Bright:
-![AWI Basemap World Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_World_bright.png)
-
-Dark:
-![AWI Basemap World Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_World_dark.png)
-
-##### Arctic
-
-Default:
-![AWI Basemap Arctic Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_Arctic.png)
-
-Bright:
-![AWI Basemap Arctic Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_Arctic_bright.png)
-
-Dark:
-![AWI Basemap Arctic Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_Arctic_dark.png)
-
-##### Antarctic
-
-Default:
-![AWI Basemap Antarctic Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_Antarctic.png)
-
-Bright:
-![AWI Basemap Antarctic Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_BasemapAntarctic_bright.png)
-
-Dark:
-![AWI Basemap Antarctic Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/images/AWI_Basemap_Antarctic_dark.png)
--->
\ No newline at end of file
diff --git a/SOURCES.md b/SOURCES.md
index 8e0e168bec674f87206338a116ced84899f456a2..3396e73a278b3e068dfa0cf591e0684a17775535 100644
--- a/SOURCES.md
+++ b/SOURCES.md
@@ -1,13 +1,12 @@
-**General Bathymetric Chart of the Oceans (GEBCO_2020)**
+**General Bathymetric Chart of the Oceans (GEBCO_2020)**  
 GEBCO Compilation Group (2020) GEBCO 2020 Grid (doi:10.5285/a29c5465-b138-234d-e053-6c86abc040b9)
 
-**Global Land Ice Measurements from Space (GLIMS version 20200630)**
+**Global Land Ice Measurements from Space (GLIMS version 20200630)**  
 GLIMS and NSIDC (2005, updated 2020): Global Land Ice Measurements from Space glacier database.  Compiled and made available by the international GLIMS community and the National Snow and Ice Data Center, Boulder CO, U.S.A. DOI:10.7265/N5V98602
 
-**Greenland Ice Mapping Project (GIMP version 1.1)**
+**Greenland Ice Mapping Project (GIMP version 1.1)**  
 Howat, I. 2017. MEaSUREs Greenland Ice Mapping Project (GIMP) Land Ice and Ocean Classification Mask, Version 1. [GimpIceMask_90m_v1.1]. Boulder, Colorado USA. NASA National Snow and Ice Data Center Distributed Active Archive Center. doi: https://doi.org/10.5067/B8X58MQBFUPA. [2020-11-19].
 
-**SCAR Antarctic Digital Database (ADD v7.3)**
-Gerrish, L., Fretwell, P., & Cooper, P. (2020). Medium resolution vector polygons of the Antarctic coastline (7.3) [Data set]. UK Polar Data Centre, Natural Environment Research Council, UK Research & Innovation. https://doi.org/10.5285/ed0a7b70-5adc-4c1e-8d8a-0bb5ee659d18
-
+**SCAR Antarctic Digital Database (ADD v7.3)**  
+Gerrish, L., Fretwell, P., & Cooper, P. (2020). Medium resolution vector polygons of the Antarctic coastline (7.3) [Data set]. UK Polar Data Centre, Natural Environment Research Council, UK Research & Innovation. https://doi.org/10.5285/ed0a7b70-5adc-4c1e-8d8a-0bb5ee659d18  
 Gerrish, L., Fretwell, P., & Cooper, P. (2020). Medium resolution vector polygons of Antarctic rock outcrop (7.3) [Data set]. UK Polar Data Centre, Natural Environment Research Council, UK Research & Innovation. https://doi.org/10.5285/077e1f04-7068-4327-a4f2-71d863f70064
diff --git a/preview/AWI_Basemap_Antarctic.png b/preview/AWI_Basemap_Antarctic.png
new file mode 100644
index 0000000000000000000000000000000000000000..8faf028cc10ea3b726bcebb12db5245328591560
Binary files /dev/null and b/preview/AWI_Basemap_Antarctic.png differ
diff --git a/preview/AWI_Basemap_Antarctic_bright.png b/preview/AWI_Basemap_Antarctic_bright.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e014dccf7f8c7e914ffdc5fad79514682c69391
Binary files /dev/null and b/preview/AWI_Basemap_Antarctic_bright.png differ
diff --git a/preview/AWI_Basemap_Antarctic_dark.png b/preview/AWI_Basemap_Antarctic_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..05f6d05467f7f3b064b11046e272504e5fbc4e9e
Binary files /dev/null and b/preview/AWI_Basemap_Antarctic_dark.png differ
diff --git a/preview/AWI_Basemap_Arctic.png b/preview/AWI_Basemap_Arctic.png
new file mode 100644
index 0000000000000000000000000000000000000000..d25556682698dcac8af6e01e1be41c20edb69ae6
Binary files /dev/null and b/preview/AWI_Basemap_Arctic.png differ
diff --git a/preview/AWI_Basemap_Arctic_bright.png b/preview/AWI_Basemap_Arctic_bright.png
new file mode 100644
index 0000000000000000000000000000000000000000..c13e9599b03fd0c4a19bb401d217a6dbc6787398
Binary files /dev/null and b/preview/AWI_Basemap_Arctic_bright.png differ
diff --git a/preview/AWI_Basemap_Arctic_dark.png b/preview/AWI_Basemap_Arctic_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..75306aeb90b09dbf86bc67bc16f5a03ec9a45945
Binary files /dev/null and b/preview/AWI_Basemap_Arctic_dark.png differ
diff --git a/preview/AWI_Basemap_World.png b/preview/AWI_Basemap_World.png
new file mode 100644
index 0000000000000000000000000000000000000000..e86059dd17c371822d393988443de3c280b7e37b
Binary files /dev/null and b/preview/AWI_Basemap_World.png differ
diff --git a/preview/AWI_Basemap_World_bright.png b/preview/AWI_Basemap_World_bright.png
new file mode 100644
index 0000000000000000000000000000000000000000..d8d7d8a57b6a13e23fef8183bf1dcc925fe26936
Binary files /dev/null and b/preview/AWI_Basemap_World_bright.png differ
diff --git a/preview/AWI_Basemap_World_dark.png b/preview/AWI_Basemap_World_dark.png
new file mode 100644
index 0000000000000000000000000000000000000000..dce1d265d591c6f36a4ff8161524d17100d69048
Binary files /dev/null and b/preview/AWI_Basemap_World_dark.png differ
diff --git a/preview/PREVIEW.md b/preview/PREVIEW.md
new file mode 100644
index 0000000000000000000000000000000000000000..0e1611f4add97d9da0f23fea5ecdd012e6ec934b
--- /dev/null
+++ b/preview/PREVIEW.md
@@ -0,0 +1,36 @@
+# Preview
+
+Here are some previews of the final results:
+
+##### World
+
+Default:
+![AWI Basemap World Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_World.png)
+
+Bright:
+![AWI Basemap World Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_World_bright.png)
+
+Dark:
+![AWI Basemap World Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_World_dark.png)
+
+##### Arctic
+
+Default:
+![AWI Basemap Arctic Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_Arctic.png)
+
+Bright:
+![AWI Basemap Arctic Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_Arctic_bright.png)
+
+Dark:
+![AWI Basemap Arctic Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_Arctic_dark.png)
+
+##### Antarctic
+
+Default:
+![AWI Basemap Antarctic Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_Antarctic.png)
+
+Bright:
+![AWI Basemap Antarctic Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_BasemapAntarctic_bright.png)
+
+Dark:
+![AWI Basemap Antarctic Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/preview/AWI_Basemap_Antarctic_dark.png)
diff --git a/process/1_process_add.py b/process/1_process_add.py
index e31e3aff238de5706de52ba774c272cc0e894db9..fe109d265c68e12c6c47967799b84a6b89427c0e 100644
--- a/process/1_process_add.py
+++ b/process/1_process_add.py
@@ -40,22 +40,32 @@ from config import *
 
 
 #=============================================================================
-#    PROCESS
+#    GLOBAL VARIABLES
 #=============================================================================
 
+# projection of ADD data
 EPSG_ADD = 'EPSG:3031'
 
-# name of geometry column
-#geometry = 'geometry'
+
+#=============================================================================
+#    PROCESS
+#=============================================================================
 
 # layer names
 add_coastline_in_name = os.path.splitext(os.path.basename(ADD_COASTLINE_IN))[0]
 add_ice_sheet_name = os.path.splitext(os.path.basename(ADD_ICE_SHEET))[0]
 add_shelf_ice_name = os.path.splitext(os.path.basename(ADD_SHELF_ICE))[0]
-#add_rock_outcrop_in_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP_IN))[0]
-add_rock_outcrop_in_name = 'add_rock_outcrop_medium_res_polygon_v7' # inconsistancy with add 7.3 layer names
+add_rock_outcrop_in_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP_IN))[0]
+# inconsistancy with add 7.3 layer names, variable needs to be overwritten
+add_rock_outcrop_in_name = 'add_rock_outcrop_medium_res_polygon_v7'
 add_rock_outcrop_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP))[0]
 
+# heading
+print()
+print('============================================================')
+print('              ANTARCTIC DIGITAL DATANASE / ADD              ')
+
+
 msg = 'Reprojecting and extracting land mask from ADD coastlines...'
 cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -wrapdateline -nln "{add_ice_sheet_name}" -nlt  MULTIPOLYGON -f GPKG -overwrite {ADD_ICE_SHEET} {ADD_COASTLINE_IN} -dialect SQLite -sql "SELECT ST_Buffer(ST_Multi(geom),0.0) from \'{add_coastline_in_name}\' WHERE surface=\'land\'"'
 run(msg,cmd)
diff --git a/process/1_process_add_backup1.py b/process/1_process_add_backup1.py
deleted file mode 100644
index 6617b7d42a86c6705430e0c57f7edb415d413afb..0000000000000000000000000000000000000000
--- a/process/1_process_add_backup1.py
+++ /dev/null
@@ -1,77 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-####################################################################
-#                                                                  #
-#                           AWI Basemap                            #
-#             PROCESS ANTARCTIC DIGITAL DATANASE DATA              #
-#                                                                  #
-####################################################################
-
-This script is processing the Antarctic Digital Database (ADD) input
-for the AWI Basemap. Input layers are the ADD coastlines and the ADD
-rock outcrops. Both layers are reprojected to a global CRS
-(EPSG_WORLD), coastlines are separated by shelf ice and ice sheet,
-and the rock outcrop geometries are fixed.
-
-"""
-
-
-#=============================================================================
-#    SCRIPT INFO
-#=============================================================================
-
-__author__ = 'Simon Dreutter'
-__version__ = '0.1'
-__date__ = '2020-12-17'
-__email__ = 'simon.dreutter@awi.de'
-__status__ = 'Developement'
-
-
-#=============================================================================
-#    IMPORT
-#=============================================================================
-
-# import AWI Basemap configuration
-from config import *
-
-
-#=============================================================================
-#    PROCESS
-#=============================================================================
-
-EPSG_ADD = 'EPSG:3031'
-
-msg = 'Reprojecting and extracting land mask from ADD coastlines...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -nln "add_coastline_land" -where "\"surface\" = \'land\'" -wrapdateline -f GPKG {ADD_COASTLINE_LAND} {ADD_COASTLINE_IN}'
-run(msg,cmd)
-
-msg = 'Reprojecting and extracting ice mask from ADD coastlines...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -nln "add_coastline_ice" -where "\"surface\" = \'ice shelf\' OR \"surface\" = \'rumple\' OR \"surface\" = \'ocean\' OR \"surface\" = \'ice tongue\'" -wrapdateline -f GPKG {ADD_SHELF_ICE} {ADD_COASTLINE_IN}'
-run(msg,cmd)
-
-msg = 'Reprojecting ADD rock outcrops...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -nln "add_rock_outcrop" -wrapdateline -f GPKG {ADD_ROCK_OUTCROP} {ADD_ROCK_OUTCROP_IN}'
-run(msg,cmd)
-
-msg = 'Fixing ADD rock outcrops geometries...'
-cmd = f'ogr2ogr -dialect sqlite -sql "SELECT ST_Buffer(geom, 0.0) AS geom,* FROM \"add_rock_outcrop\"" -nln "add_rock_outcrop_fixed" -f GPKG {ADD_ROCK_OUTCROP_FIXED} {ADD_ROCK_OUTCROP}'
-run(msg,cmd)
-
-print()
-print('ADD done!')
-print()
-print('Now do not forget to manually cut the rock outcrops from the ADD land layer!')
-print()
-input('Press Enter to exit!')
-print()
-
-
-#=============================================================================
-#    TODO
-#=============================================================================
-
-"""
-- find a scripted solution for 'Difference'
-- once found, add cleanup
-"""
\ No newline at end of file
diff --git a/process/1_process_add_backup2.py b/process/1_process_add_backup2.py
deleted file mode 100644
index 174c7af0f20d26dd384c5f60c5a69d9166676d77..0000000000000000000000000000000000000000
--- a/process/1_process_add_backup2.py
+++ /dev/null
@@ -1,94 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-####################################################################
-#                                                                  #
-#                           AWI Basemap                            #
-#             PROCESS ANTARCTIC DIGITAL DATANASE DATA              #
-#                                                                  #
-####################################################################
-
-This script is processing the Antarctic Digital Database (ADD) input
-for the AWI Basemap. Input layers are the ADD coastlines and the ADD
-rock outcrops. Both layers are reprojected to a global CRS
-(EPSG_WORLD), coastlines are separated by shelf ice and ice sheet,
-and the rock outcrop geometries are fixed.
-
-"""
-
-
-#=============================================================================
-#    SCRIPT INFO
-#=============================================================================
-
-__author__ = 'Simon Dreutter'
-__version__ = '0.1'
-__date__ = '2020-12-17'
-__email__ = 'simon.dreutter@awi.de'
-__status__ = 'Developement'
-
-
-#=============================================================================
-#    IMPORT
-#=============================================================================
-
-# import standard libraries
-import os
-
-# import AWI Basemap configuration
-from config import *
-
-
-#=============================================================================
-#    PROCESS
-#=============================================================================
-
-EPSG_ADD = 'EPSG:3031'
-
-# name of geometry column
-geometry = 'geometry'
-
-# layer names
-add_coastline_in_name = os.path.splitext(os.path.basename(ADD_COASTLINE_IN))[0]
-add_coastline_land_name = os.path.splitext(os.path.basename(ADD_COASTLINE_LAND))[0]
-add_shelf_ice_name = os.path.splitext(os.path.basename(ADD_SHELF_ICE))[0]
-#add_rock_outcrop_in_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP_IN))[0]
-add_rock_outcrop_in_name = 'add_rock_outcrop_medium_res_polygon_v7' # inconsistancy with add layer names
-add_rock_outcrop_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP))[0]
-add_rock_outcrop_fixed_name = os.path.splitext(os.path.basename(ADD_ROCK_OUTCROP_FIXED))[0]
-
-msg = 'Reprojecting and extracting land mask from ADD coastlines...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -wrapdateline -nln "{add_coastline_land_name}" -nlt  MULTIPOLYGON -f "ESRI Shapefile" -overwrite {ADD_COASTLINE_LAND} {ADD_COASTLINE_IN} -dialect SQLite -sql "SELECT ST_Multi(geom) from \'{add_coastline_in_name}\' WHERE surface=\'land\'"'
-run(msg,cmd)
-
-msg = 'Reprojecting and extracting ice mask from ADD coastlines...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -wrapdateline -nln "{add_shelf_ice_name}" -nlt  MULTIPOLYGON -f GPKG -overwrite {ADD_SHELF_ICE} {ADD_COASTLINE_IN} -dialect SQLite -sql "SELECT ST_Multi(geom) from \'{add_coastline_in_name}\' WHERE surface IN (\'ice shelf\',\'rumple\',\'ocean\',\'ice tongue\')"'
-run(msg,cmd)
-
-msg = 'Reprojecting and fixing ADD rock outcrops...'
-cmd = f'ogr2ogr -s_srs {EPSG_ADD} -t_srs {EPSG_WORLD} -wrapdateline -nln "{add_rock_outcrop_name}" -nlt  MULTIPOLYGON -f "ESRI Shapefile" -overwrite {ADD_ROCK_OUTCROP} {ADD_ROCK_OUTCROP_IN} -dialect SQLite -sql "SELECT ST_Buffer(ST_Multi(geom),0.0) from \'{add_rock_outcrop_in_name}\'"'
-run(msg,cmd)
-
-msg = 'Cutting rock outcrops from ice sheet...'
-cmd = f'ogr2ogr -dialect SQLite -sql "select ST_Difference(a.{geometry}, ST_Simplify(b.{geometry},500)) as {geometry} from {add_coastline_land_name} as a, \'{ADD_ROCK_OUTCROP}\'.{add_rock_outcrop_name} as b" -overwrite -f GPKG {ADD_ICE_SHEET} {ADD_COASTLINE_LAND}'
-run(msg,cmd)
-
-
-#msg = 'Fixing ADD rock outcrops geometries...'
-#cmd = f'ogr2ogr -dialect sqlite -sql "SELECT ST_Buffer({geometry}, 0.0) AS {geometry},* FROM \"{add_rock_outcrop_name}\"" -nln "{add_rock_outcrop_fixed_name}" -overwrite -f "ESRI Shapefile" {ADD_ROCK_OUTCROP_FIXED} {ADD_ROCK_OUTCROP}'
-#run(msg,cmd)
-
-#msg = 'Cutting rock outcrops from ice sheet...'
-#cmd = f'ogr2ogr -dialect SQLite -sql "select ST_Difference(a.{geometry}, ST_Simplify(b.{geometry},500)) as {geometry} from {add_coastline_land_name} as a, \'{ADD_ROCK_OUTCROP_FIXED}\'.{add_rock_outcrop_fixed_name} as b" -overwrite -f "ESRI Shapefile" {ADD_ICE_SHEET} {ADD_COASTLINE_LAND}'
-#run(msg,cmd)
-
-
-
-#=============================================================================
-#    TODO
-#=============================================================================
-
-"""
-- find a scripted solution for 'Difference'
-- once found, add cleanup
-"""
\ No newline at end of file
diff --git a/process/2_process_gimp.py b/process/2_process_gimp.py
index 79e34021202849429f961cd9275fe0c425e40d1c..8e9d7518bc2a8df62b82a7bbe071b05f516a2131 100644
--- a/process/2_process_gimp.py
+++ b/process/2_process_gimp.py
@@ -44,9 +44,13 @@ from config import *
 # layer names
 gimp_name = os.path.splitext(os.path.basename(GIMP))[0]
 
+# heading
+print()
+print('============================================================')
+print('            GREENLAND ICE MAPPING PROJECT / GIMP            ')
+
 msg = 'Reprojecting and downsampling GIMP raster...'
 cmd = f'gdalwarp -t_srs {EPSG_WORLD} -dstnodata 0.0 -tr {GIMP_RESOLUTION} {GIMP_RESOLUTION} -r near -of GTiff {GIMP_IN} {GIMP_RASTER}'
-#{GDAL_CREATE_OPTIONS}
 run(msg,cmd)
 
 msg = 'Polygonizing GIMP raster...'
diff --git a/process/3_process_glims.py b/process/3_process_glims.py
index 24371a23f15a17f8956a3c33a880fd02922ea809..49ecb459ba7e51bfb629694ce8c65a54bf211c84 100644
--- a/process/3_process_glims.py
+++ b/process/3_process_glims.py
@@ -10,8 +10,8 @@
 
 This script is processing the Global Land Ice Measurements from
 Space (GLIMS) input for the AWI Basemap. The GLIMS geometries are
-fixed and the global dataset is clipped for the Arctic and the
-Antarctic.
+fixed (with zero buffer) and the global dataset is clipped for the
+Arctic and the Antarctic.
 
 """
 
@@ -48,6 +48,11 @@ glims_world_name = os.path.splitext(os.path.basename(GLIMS_WORLD))[0]
 glims_arctic_name = os.path.splitext(os.path.basename(GLIMS_ARCTIC))[0]
 glims_antarctic_name = os.path.splitext(os.path.basename(GLIMS_ANTARCTIC))[0]
 
+# heading
+print()
+print('============================================================')
+print('      GLOBAL LAND ICE MEASUREMENTS FROM SPACE / GLIMS       ')
+
 msg = 'Fixing GLIMS geometries...'
 cmd = f'ogr2ogr {GLIMS_WORLD} {GLIMS_IN} -dialect sqlite -sql "SELECT ST_Buffer(geometry, 0.0) AS geometry,* FROM \"{glims_in_name}\"" -nln "{glims_world_name}" -f "GPKG"'
 run(msg,cmd)
diff --git a/process/4_process_gebco.py b/process/4_process_gebco.py
index c553dcc24e2c7059c50232fef7d5cd9ac4108c3a..b2696d79462adce2e7eee026465043bf1b0a9297 100644
--- a/process/4_process_gebco.py
+++ b/process/4_process_gebco.py
@@ -42,49 +42,54 @@ from config import *
 #    PROCESS
 #=============================================================================
 
+# number of pixels for interpolation (fill NoData at poles)
+interpolation = 1 / RESOLUTION_M * 5000         # TEMPORARY
+
+# heading
+print()
+print('============================================================')
+print('      GENERAL BATHYMETRIC CHART OF THE OCEANS / GEBCO       ')
+
 msg = 'Resampling GEBCO...'
-cmd = f'gdalwarp {WARP_OPTIONS} -s_srs {EPSG_WORLD} -t_srs {EPSG_WORLD} -tr {RESOLUTION_DEG} {RESOLUTION_DEG} -r cubic -of GTiff {GEBCO_IN} {GEBCO_WORLD}'
-# {GDAL_CREATE_OPTIONS}
-#run(msg,cmd)
+cmd = f'gdalwarp -s_srs {EPSG_WORLD} -t_srs {EPSG_WORLD} -tr {RESOLUTION_DEG} {RESOLUTION_DEG} -r cubic -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_IN} {GEBCO_WORLD}'
+run(msg,cmd)
 
 msg = 'Clipping GEBCO for the Arctic...'
-cmd = f'gdal_translate -projwin -180.0 90.0 180.0 {ARCTIC_EXTENT_LAT} -of VRT {GEBCO_IN} {GEBCO_ARCTIC_CLIP_VRT}'
+cmd = f'gdal_translate -projwin -180.0 90.0 180.0 {ARCTIC_EXTENT_LAT} -a_srs {EPSG_WORLD} -of VRT {GEBCO_IN} {GEBCO_ARCTIC_CLIP_VRT}'
 run(msg,cmd)
 
 msg = 'Reprojecting GEBCO for the Arctic...'
 cmd = f'gdalwarp -s_srs {EPSG_WORLD} -t_srs {EPSG_ARCTIC} -r near -of VRT {GEBCO_ARCTIC_CLIP_VRT} {GEBCO_ARCTIC_FULL_VRT}'
-#{WARP_OPTIONS}
 run(msg,cmd)
 
 msg = 'Resampling Arctic to target resolution...'
-cmd = f'gdalwarp {WARP_OPTIONS} -s_srs {EPSG_ARCTIC} -t_srs {EPSG_ARCTIC} -tr {RESOLUTION_M} {RESOLUTION_M} -r cubic -of GTiff {GEBCO_ARCTIC_FULL_VRT} {TMP_POLAR}'
+cmd = f'gdalwarp -s_srs {EPSG_ARCTIC} -t_srs {EPSG_ARCTIC} -tr {RESOLUTION_M} {RESOLUTION_M} -r cubic -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_ARCTIC_FULL_VRT} {TMP_POLAR}'
 #{GEBCO_ARCTIC}
 run(msg,cmd)
 
 # TEMPORARY
 msg = 'Filling North Pole gap...'
-cmd = f'{PYTHON} -m gdal_fillnodata -md {INTERPOLATION} -b 1 -of GTiff {TMP_POLAR} {GEBCO_ARCTIC}'
+cmd = f'{PYTHON} -m gdal_fillnodata -md {interpolation} -b 1 -of GTiff {TMP_POLAR} {GEBCO_ARCTIC}'
 run(msg,cmd)
 cleanup(TMP_POLAR)
 # /TEMPORARY
 
 msg = 'Clipping GEBCO for the Antarctic...'
-cmd = f'gdal_translate -projwin -180.0 {ANTARCTIC_EXTENT_LAT} 180.0 -90.0 -of VRT {GEBCO_IN} {GEBCO_ANTARCTIC_CLIP_VRT}'
+cmd = f'gdal_translate -projwin -180.0 {ANTARCTIC_EXTENT_LAT} 180.0 -90.0 -a_srs {EPSG_WORLD} -of VRT {GEBCO_IN} {GEBCO_ANTARCTIC_CLIP_VRT}'
 run(msg,cmd)
 
 msg = 'Reprojecting GEBCO for the Antarctic...'
 cmd = f'gdalwarp -s_srs {EPSG_WORLD} -t_srs {EPSG_ANTARCTIC} -r near -of VRT {GEBCO_ANTARCTIC_CLIP_VRT} {GEBCO_ANTARCTIC_FULL_VRT}'
-#{WARP_OPTIONS}
 run(msg,cmd)
 
 msg = 'Resampling Antarctic to target resolution...'
-cmd = f'gdalwarp {WARP_OPTIONS} -s_srs {EPSG_ANTARCTIC} -t_srs {EPSG_ANTARCTIC} -tr {RESOLUTION_M} {RESOLUTION_M} -r cubic -of GTiff {GEBCO_ANTARCTIC_FULL_VRT} {TMP_POLAR}'
+cmd = f'gdalwarp -s_srs {EPSG_ANTARCTIC} -t_srs {EPSG_ANTARCTIC} -tr {RESOLUTION_M} {RESOLUTION_M} -r cubic -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_ANTARCTIC_FULL_VRT} {TMP_POLAR}'
 #{GEBCO_ANTARCTIC}
 run(msg,cmd)
 
 # TEMPORARY
 msg = 'Filling South Pole gap...'
-cmd = f'{PYTHON} -m gdal_fillnodata -md {INTERPOLATION} -b 1 -of GTiff {TMP_POLAR} {GEBCO_ANTARCTIC}'
+cmd = f'{PYTHON} -m gdal_fillnodata -md {interpolation} -b 1 -of GTiff {TMP_POLAR} {GEBCO_ANTARCTIC}'
 run(msg,cmd)
 cleanup(TMP_POLAR)
 # /TEMPORARY
@@ -101,13 +106,19 @@ cleanup(GEBCO_ANTARCTIC_FULL_VRT)
 
 """
 The current solution for creating the polar stereographic GEBCO grids (VRT)
-produces holes on the north and south pole. Another solution needs to be
-found. Normal clip and warp however produces issues:
+produces holes on the north and south pole, which are then interpolated. This
+likely comes from creating polar stereographic grids with such large extents
+(low latitudes). Everything larger than down to 70°N / up to 70°S creates a
+hole.
+The interpolation (gdal_fillnodata), however, extrapolates
+the grid around the minmax latitude circle.
+Another solution needs to be found. Normal clip and warp, however, produces
+issues:
 
 - Nearest Neighbor: raster artifacts
 - Cubic (and others): dateline blur
 
 What to do?
 
-- get rid of interpolation (because of the ugly extrapolation)
-"""
\ No newline at end of file
+- somehow get rid of interpolation
+"""
diff --git a/process/5_create_shading_layers.py b/process/5_create_shading_layers.py
index f579b801ffaad07f8d4dc9f293f13d031f1da8e5..1c26dd6c07f4763d13835f90d10a29471d7d5b04 100644
--- a/process/5_create_shading_layers.py
+++ b/process/5_create_shading_layers.py
@@ -4,11 +4,11 @@
 ####################################################################
 #                                                                  #
 #                           AWI Basemap                            #
-#                      CREATE SHADING LAYERS                       #
+#                      COMPUTE SHADING LAYERS                      #
 #                                                                  #
 ####################################################################
 
-This scipt creates the hillshade layers for the World, the Arctic
+This scipt computes the hillshade layers for the World, the Arctic
 and the Antarctic basemap. The hillshades are computed with a
 synthetic light source from 315° Azimuth and 45° Altitude and with
 and exaggeration / z factor of 10. The combined shading is used to
@@ -41,14 +41,19 @@ from config import *
 #    PROCESS
 #=============================================================================
 
+# heading
+print()
+print('============================================================')
+print('                   COMPUTE SHADING LAYERS                   ')
+
 msg = 'Creating World Hillshade...'
-cmd = f'gdaldem hillshade {GEBCO_WORLD} {GEBCO_WORLD_HILLSHADE} -of GTiff -b 1 -z {Z_FACTOR} -s 111120.0 -az 315.0 -alt 45.0 -compute_edges -combined {GDAL_CREATE_OPTIONS}'
+cmd = f'gdaldem hillshade -b 1 -z {Z_FACTOR} -s 111120.0 -az 315.0 -alt 45.0 -compute_edges -combined -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_WORLD} {GEBCO_WORLD_HILLSHADE}'
 run(msg,cmd)
 
 msg = 'Creating Arctic Hillshade...'
-cmd = f'gdaldem hillshade {GEBCO_ARCTIC} {GEBCO_ARCTIC_HILLSHADE} -of GTiff -b 1 -z {Z_FACTOR} -s 1.0 -az 315.0 -alt 45.0 -compute_edges -combined {GDAL_CREATE_OPTIONS}'
+cmd = f'gdaldem hillshade -b 1 -z {Z_FACTOR} -s 1.0 -az 315.0 -alt 45.0 -compute_edges -combined -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_ARCTIC} {GEBCO_ARCTIC_HILLSHADE}'
 run(msg,cmd)
 
 msg = 'Creating Antarctic Hillshade...'
-cmd = f'gdaldem hillshade {GEBCO_ANTARCTIC} {GEBCO_ANTARCTIC_HILLSHADE} -of GTiff -b 1 -z {Z_FACTOR} -s 1.0 -az 315.0 -alt 45.0 -compute_edges -combined {GDAL_CREATE_OPTIONS}'
+cmd = f'gdaldem hillshade -b 1 -z {Z_FACTOR} -s 1.0 -az 315.0 -alt 45.0 -compute_edges -combined -of GTiff {GDAL_CREATE_OPTIONS} {GEBCO_ANTARCTIC} {GEBCO_ANTARCTIC_HILLSHADE}'
 run(msg,cmd)
diff --git a/process/6_burn_vector_layers.py b/process/6_burn_vector_layers.py
index 1822d09468369d169af4b8ac5a7f75257407c9a8..6fc3bc50d30a14253ac5eadd660d7e9e7fb20cb7 100644
--- a/process/6_burn_vector_layers.py
+++ b/process/6_burn_vector_layers.py
@@ -56,6 +56,11 @@ v_rock_outcrops = 3000.0
 v_shelf_ice = 20000.0
 v_ice_sheet = 30000.0
 
+# heading
+print()
+print('============================================================')
+print('                     BURN VECTOR LAYERS                     ')
+
 msg = 'Burning Antarctic ice shelfs in World raster...'
 cmd = f'gdal_rasterize -l {add_shelf_ice_name} -burn {v_shelf_ice} {ADD_SHELF_ICE} {GEBCO_WORLD}'
 run(msg,cmd)
@@ -65,7 +70,7 @@ cmd = f'gdal_rasterize -l {add_ice_sheet_name} -burn {v_ice_sheet} {ADD_ICE_SHEE
 run(msg,cmd)
 
 msg = 'Burning Antarctic rock outcrops in World raster...'
-cmd = f'gdal_rasterize -l {add_rock_outcrop_name} -burn {v_rock_outcrops} {ADD_ROCK_OUTCROP} {GEBCO_WORLD}'
+cmd = f'gdal_rasterize -l {add_rock_outcrop_name} -burn {v_rock_outcrops} -at {ADD_ROCK_OUTCROP} {GEBCO_WORLD}'
 run(msg,cmd)
 
 msg = 'Burning Greenland ice sheet in World raster...'
@@ -93,9 +98,17 @@ cmd = f'gdal_rasterize -l {add_ice_sheet_name} -burn {v_ice_sheet} {ADD_ICE_SHEE
 run(msg,cmd)
 
 msg = 'Burning Antarctic rock outcrops in Antarctic raster...'
-cmd = f'gdal_rasterize -l {add_rock_outcrop_name} -burn {v_rock_outcrops} {ADD_ROCK_OUTCROP} {GEBCO_ANTARCTIC}'
+cmd = f'gdal_rasterize -l {add_rock_outcrop_name} -burn {v_rock_outcrops} -at {ADD_ROCK_OUTCROP} {GEBCO_ANTARCTIC}'
 run(msg,cmd)
 
 msg = 'Burning glaciers in Antarctic raster...'
 cmd = f'gdal_rasterize -l {glims_antarctic_name} -burn {v_ice_sheet} {GLIMS_ANTARCTIC} {GEBCO_ANTARCTIC}'
 run(msg,cmd)
+
+cleanup(ADD_SHELF_ICE)
+cleanup(ADD_ICE_SHEET)
+cleanup(ADD_ROCK_OUTCROP)
+cleanup(GIMP)
+cleanup(GLIMS_WORLD)
+cleanup(GLIMS_ARCTIC)
+cleanup(GLIMS_ANTARCTIC)
diff --git a/process/7_create_basemaps.py b/process/7_create_basemaps.py
index 87ffbbed3314319998c217d326d5fc120638fa4b..2368094a414808cf4d354dad5bd628ff30f0d358 100644
--- a/process/7_create_basemaps.py
+++ b/process/7_create_basemaps.py
@@ -38,6 +38,17 @@ __status__ = 'Developement'
 from config import *
 
 
+#=============================================================================
+#    GLOBAL VARIABLES
+#=============================================================================
+
+# GDAL creation options for final result
+GDAL_CREATE_OPTIONS_FINAL = '-co TILED=YES -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co COPY_SRC_OVERVIEWS=FALSE -co COMPRESS=NONE -co BIGTIFF=IF_NEEDED'
+
+# Method to create overviews
+OVERVIEW_METHOD = 'cubic'
+
+
 #=============================================================================
 #    FUNCTIONS
 #=============================================================================
@@ -56,10 +67,11 @@ def create_basemap(map_params):
     cleanup(TMP_RGB)
     
     msg = f'Finalizing AWI Basemap {name}...'
-    cmd = f'gdal_translate -a_srs {epsg} -co TILED=YES -co BLOCKXSIZE=512 -co BLOCKYSIZE=512 -co COPY_SRC_OVERVIEWS=FALSE -co COMPRESS=NONE -stats -of GTiff {TMP_SHADED} {output}'
+    cmd = f'gdal_translate -a_srs {epsg} -stats -of GTiff {GDAL_CREATE_OPTIONS_FINAL} {TMP_SHADED} {output}'
     run(msg,cmd)
     
     cleanup(TMP_SHADED)
+    cleanup(f'{TMP_SHADED}.aux.xml')
     
     msg = f'Creating pyramids for AWI Basemap {name}...'
     cmd = f'gdaladdo -r {OVERVIEW_METHOD} --config COMPRESS_OVERVIEW NONE --config INTERLEAVE_OVERVIEW PIXEL --config BIGTIFF_OVERVIEW IF_NEEDED --config GDAL_TIFF_OVR_BLOCKSIZE 512 {output} 2 4 8 16 32 64'
@@ -70,6 +82,11 @@ def create_basemap(map_params):
 #    PROCESS
 #=============================================================================
 
+# heading
+print()
+print('============================================================')
+print('                      CREATE BASEMAPS                       ')
+
 maps = [
     ('World [default]',     GEBCO_WORLD,     GEBCO_WORLD_HILLSHADE,     CP_DEFAULT, EPSG_WORLD,     BASEMAP_WORLD            ),
     ('Arctic [default]',    GEBCO_ARCTIC,    GEBCO_ARCTIC_HILLSHADE,    CP_DEFAULT, EPSG_ARCTIC,    BASEMAP_ARCTIC           ),
@@ -100,33 +117,3 @@ cleanup(GEBCO_ANTARCTIC_HILLSHADE)
 """
 Metadata
 """
-
-#=============================================================================
-#    BACKUP
-#=============================================================================
-
-"""
-msg = 'Creating World RGB...'
-cmd = f'gdaldem color-relief {GEBCO_WORLD} {CP_DEFAULT} {GEBCO_WORLD_RGB} -of GTiff -b 1 -compute_edges {GDAL_CREATE_OPTIONS}')
-run(msg,cmd)
-
-msg = 'Creating AWI Basemap World...'
-cmd = f'python3 -m gdal_calc --calc "uint8(((A/255.)*(((B*0.75)+(255.*0.25))/255.))*255)" --format GTiff --type Byte -A {GEBCO_WORLD_RGB} --A_band 1 -B {GEBCO_WORLD_HILLSHADE} --B_band 1 {GDAL_CREATE_OPTIONS_PY} --allBands=A --overwrite --outfile {BASEMAP_WORLD}')
-run(msg,cmd)
-
-msg = 'Creating Arctic RGB...'
-cmd = f'gdaldem color-relief {GEBCO_ARCTIC} {CP_DEFAULT} {GEBCO_ARCTIC_RGB} -of GTiff -b 1 -compute_edges {GDAL_CREATE_OPTIONS}')
-run(msg,cmd)
-
-msg = 'Creating AWI Basemap Arctic...'
-cmd = f'python3 -m gdal_calc --calc "uint8(((A/255.)*(((B*0.75)+(255.*0.25))/255.))*255)" --format GTiff --type Byte -A {GEBCO_ARCTIC_RGB} --A_band 1 -B {GEBCO_ARCTIC_HILLSHADE} --B_band 1 {GDAL_CREATE_OPTIONS_PY} --allBands=A --overwrite --outfile {BASEMAP_ARCTIC}')
-run(msg,cmd)
-
-msg = 'Creating Antarctic RGB...'
-cmd = f'gdaldem color-relief {GEBCO_ANTARCTIC} {CP_DEFAULT} {GEBCO_ANTARCTIC_RGB} -of GTiff -b 1 -compute_edges {GDAL_CREATE_OPTIONS}')
-run(msg,cmd)
-
-msg = 'Creating AWI Basemap Antarctic...'
-cmd = f'python3 -m gdal_calc --calc "uint8(((A/255.)*(((B*0.75)+(255.*0.25))/255.))*255)" --format GTiff --type Byte -A {GEBCO_ANTARCTIC_RGB} --A_band 1 -B {GEBCO_ANTARCTIC_HILLSHADE} --B_band 1 {GDAL_CREATE_OPTIONS_PY} --allBands=A --overwrite --outfile {BASEMAP_ANTARCTIC}')
-run(msg,cmd)
-"""
diff --git a/process/config.py b/process/config.py
index c714132f553cfec4a0c766519cf9aee825541260..1d9928ef6ab37ad6ebcdedddb5847fbf9c73afae 100644
--- a/process/config.py
+++ b/process/config.py
@@ -9,7 +9,7 @@
 ####################################################################
 
 This script holds the configuration for the AWI Basemap creation
-process. Adjust the settings the below and the other basemap python
+process. Adjust the settings below and the other basemap python
 scripts will source these settings. The following can be adjusted
 here:
 
@@ -47,6 +47,9 @@ import os
 #    INPUT FOLDERS
 #=============================================================================
 
+# These folders are part of the processing infrastructure. Only change the
+# variables if the directory names or locations have been changed.
+
 # path to data directory
 PATH_DATA = os.path.abspath(os.path.join('..','data'))
 
@@ -64,6 +67,10 @@ PATH_RESULT = os.path.abspath(os.path.join('..','result'))
 #    INPUT FILES
 #=============================================================================
 
+# These file paths are using the current version of the input files' names. If
+# any of the input files are updated in the data directory, their filenames
+# need to updated in this section.
+
 # input filepath to ADD Coastlines
 ADD_COASTLINE_IN = os.path.join(PATH_ADD,'add_coastline_medium_res_polygon_v7.3.gpkg')
 # input filepath to ADD Rock Outcrops
@@ -88,28 +95,37 @@ CP_DARK = os.path.abspath(os.path.join('..','styles','color_palettes','basemap_d
 #    GENERAL CREATE OPTIONS
 #=============================================================================
 
+# Here are some general options for the resulting grids like resolution and
+# shading exaggeration. Adjusting the resolution of the output grid will
+# directly affect file sizes. The maximum resolution for the World map is the
+# original GEBCO resolution (15 arc seconds / 0.00416... degree). For the
+# Polar maps, higher resolutions than 500m can be achieved theoretically, but
+# this will result in some ugly artifacts (from warping) in the lower
+# latitudes.
+#
+# The best tradeoff between file size, resolution and artifacts is
+#   World: 30 arc seconds / 0.0083... degree
+#   Polar: 1000 meter
+#
+# The extent of the Polar maps should be kept to an acceptable minium (larger
+# number) to reduce file size and atrifacts from warping in the lower
+# latitudes.
+
 # Final AWI Basemap (World) resolution
 # 15 arc seconds (original GEBCO resolution)
 #RESOLUTION_DEG = 0.004166666666666666
 # 30 arc seconds
 RESOLUTION_DEG = 0.008333333333333333
 
-#RESOLUTION_DEG = 0.025                         # DEBUGGING
-
 # Final AWI Basemap (Arctic and Antarctic) resolution
 # pendant to 15 arc seconds
-RESOLUTION_M = 500.0
+#RESOLUTION_M = 500.0
 # pendant to 30 arc seconds
-#RESOLUTION_M = 1000.0
-
-# number of pixels for interpolation (fill NoData at poles)
-INTERPOLATION = 1 / RESOLUTION_M * 5000         # DEBUGGING
+RESOLUTION_M = 1000.0
 
 # GIMP Resolution
-# 7.5 arc seconds (half the original GEBCO resolution)
-GIMP_RESOLUTION = 0.0020833333333333333
-
-#GIMP_RESOLUTION = 0.01                         # DEBUGGING
+# half the GEBCO resolution
+GIMP_RESOLUTION = RESOLUTION_DEG / 2
 
 # Hillshade z factor / vertical exaggeration
 Z_FACTOR = 10.0
@@ -125,6 +141,16 @@ ANTARCTIC_EXTENT_LAT= -30.0
 #    TEMPORARY FILES
 #=============================================================================
 
+# These are file paths to temporary files that will be created (and cleaned
+# up) during the process. The varibales care used throughout the different
+# scripts.
+# The varibales marked as "DEBUGGING" are for the GEBCO process which needs to
+# be tweaked to avoid the gap at the south and north poles. This is likely due
+# to projecting to polar stereographic with such low latitudes (large
+# extents). Once a nicer solution is found, the variables will be adjusted.
+# This should, however, not influence the general process, but is just an
+# internal change.
+
 # ADD:
 # ADD land with cut rock outcrops
 ADD_ICE_SHEET = os.path.join(PATH_ADD,'add_ice_sheet.gpkg')
@@ -157,27 +183,24 @@ GLIMS_ANTARCTIC = os.path.join(PATH_GLIMS,'glims_antarctic.gpkg')
 # GEBCO World
 GEBCO_WORLD = os.path.join(PATH_GEBCO,'GEBCO_world.tif')
 GEBCO_WORLD_HILLSHADE = os.path.join(PATH_GEBCO,'GEBCO_world_hillshade.tif')
-#GEBCO_WORLD_RGB = os.path.join(PATH_GEBCO,'GEBCO_world_rgb.tif')
 
 # GEBCO Arctic
-GEBCO_ARCTIC_CLIP = os.path.join(PATH_GEBCO,'GEBCO_arctic_clip.tif')
+#GEBCO_ARCTIC_CLIP = os.path.join(PATH_GEBCO,'GEBCO_arctic_clip.tif') # DEBUGGING
 GEBCO_ARCTIC_CLIP_VRT = os.path.join(PATH_GEBCO,'GEBCO_arctic_clip.vrt') # DEBUGGING
-GEBCO_ARCTIC_FULL = os.path.join(PATH_GEBCO,'GEBCO_arctic_full.tif') # DEBUGGING
+#GEBCO_ARCTIC_FULL = os.path.join(PATH_GEBCO,'GEBCO_arctic_full.tif') # DEBUGGING
 GEBCO_ARCTIC_FULL_VRT = os.path.join(PATH_GEBCO,'GEBCO_arctic_full.vrt') # DEBUGGING
 GEBCO_ARCTIC = os.path.join(PATH_GEBCO,'GEBCO_arctic.tif')
 GEBCO_ARCTIC_HILLSHADE = os.path.join(PATH_GEBCO,'GEBCO_arctic_hillshade.tif')
-#GEBCO_ARCTIC_RGB = os.path.join(PATH_GEBCO,'GEBCO_arctic_rgb.tif')
 
 # GEBCO Antarctic
-GEBCO_ANTARCTIC_CLIP = os.path.join(PATH_GEBCO,'GEBCO_antarctic_clip.tif')
+#GEBCO_ANTARCTIC_CLIP = os.path.join(PATH_GEBCO,'GEBCO_antarctic_clip.tif') # DEBUGGING
 GEBCO_ANTARCTIC_CLIP_VRT = os.path.join(PATH_GEBCO,'GEBCO_antarctic_clip.vrt') # DEBUGGING
-GEBCO_ANTARCTIC_FULL = os.path.join(PATH_GEBCO,'GEBCO_antarctic_full.tif') # DEBUGGING
+#GEBCO_ANTARCTIC_FULL = os.path.join(PATH_GEBCO,'GEBCO_antarctic_full.tif') # DEBUGGING
 GEBCO_ANTARCTIC_FULL_VRT = os.path.join(PATH_GEBCO,'GEBCO_antarctic_full.vrt') # DEBUGGING
 GEBCO_ANTARCTIC = os.path.join(PATH_GEBCO,'GEBCO_antarctic.tif')
 GEBCO_ANTARCTIC_HILLSHADE = os.path.join(PATH_GEBCO,'GEBCO_antarctic_hillshade.tif')
-#GEBCO_ANTARCTIC_RGB = os.path.join(PATH_GEBCO,'GEBCO_antarctic_rgb.tif')
 
-# Temporary files
+# temporary files
 TMP_POLAR = os.path.join(PATH_GEBCO,'tmp_polar.tif') # DEBUGGING
 TMP_RGB = os.path.join(PATH_GEBCO,'tmp_rgb.tif')
 TMP_SHADED = os.path.join(PATH_GEBCO,'tmp_shaded.tif')
@@ -205,50 +228,55 @@ BASEMAP_ANTARCTIC_DARK = os.path.join(PATH_RESULT,'AWI_Basemap_Antarctic_dark.ti
 #    PROJECTIONS
 #=============================================================================
 
+# The EPSG codes for the three map projections only need to be changed, if a
+# different projection is required for the Map Viewers.
+
 # EPSG code for World Basemap
-EPSG_WORLD = 'EPSG:4326'
+EPSG_WORLD = 'EPSG:4326' # WGS84 / Geographic
 
 # EPSG code for Arctic Basemap
-EPSG_ARCTIC = 'EPSG:3995'
+EPSG_ARCTIC = 'EPSG:3995' # WGS 84 / Arctic Polar Stereographic
 
 # EPSG code for Antarctic Basemap
-EPSG_ANTARCTIC = 'EPSG:3031'
+EPSG_ANTARCTIC = 'EPSG:3031' # WGS 84 / Antarctic Polar Stereographic
 
 
 #=============================================================================
 #    OPERATIONAL PARAMETERS
 #=============================================================================
 
+# The following settings are operational parameters for the process. If, e.g.
+# your Python (v3.x) installation has a different executable, like "python3"
+# as it comes with the OSGeo4W Python installation, some scripts need to know
+# that and the command needs to be changed here.
+# And if the temporary GeoTIFFs created by GDAL shall be created with
+# different create options, they can be adjusted below. The create options for
+# the final results, however, are specified in the last python script.
+
 # Python executable
 PYTHON = 'python3'
 
 # GDAL creation options
+GDAL_CREATE_OPTIONS = '-co COMPRESS=NONE -co BIGTIFF=IF_NEEDED'
 #GDAL_CREATE_OPTIONS = '-co COMPRESS=DEFLATE -co PREDICTOR=2 -co ZLEVEL=9 -co BIGTIFF=YES'
-GDAL_CREATE_OPTIONS = ''
 
 # GDAL creation options for python modules
+GDAL_CREATE_OPTIONS_PY = '--co COMPRESS=NONE --co BIGTIFF=IF_NEEDED'
 #GDAL_CREATE_OPTIONS_PY = '--co COMPRESS=DEFLATE --co PREDICTOR=2 --co ZLEVEL=9 --co BIGTIFF=YES'
-GDAL_CREATE_OPTIONS_PY = ''
-
-# Warp options for gdalwarp
-SOURCE_EXTRA = 1500
-MEM = 750
-GDAL_CACHEMAX = 9000
-WARP_OPTIONS = f'-wo SOURCE_EXTRA={SOURCE_EXTRA} -wm {MEM} -multi -wo NUM_THTEADS=ALL_CGUS -et 0'
-
-# Method to create overviews
-OVERVIEW_METHOD = 'cubic'
 
 
 #=============================================================================
 #    RUN FUNCTION
 #=============================================================================
 
+# function to run a shell command and print a message to stdout
 def run(msg,cmd):
-    print('===================================================')
+    print('============================================================')
     print()
     print(msg)
     print()
+    print(cmd)
+    print()
     os.system(cmd)
     print()
 
@@ -257,15 +285,17 @@ def run(msg,cmd):
 #    CLEANUP
 #=============================================================================
 
+# list of temporary files that shall not be deleted
 DONT_DELETE = [
-    GEBCO_WORLD,
-    GEBCO_WORLD_HILLSHADE,
-    GEBCO_ARCTIC,
-    GEBCO_ARCTIC_HILLSHADE,
-    GEBCO_ANTARCTIC,
-    GEBCO_ANTARCTIC_HILLSHADE
+#    GEBCO_WORLD,
+#    GEBCO_WORLD_HILLSHADE,
+#    GEBCO_ARCTIC,
+#    GEBCO_ARCTIC_HILLSHADE,
+#    GEBCO_ANTARCTIC,
+#    GEBCO_ANTARCTIC_HILLSHADE
 ]
 
+# function to cleanup temporary files if they are not in the DONT_DELETE list
 def cleanup(dataset):
     if dataset not in DONT_DELETE:
         if os.path.isfile(dataset):
diff --git a/process/run.bat b/process/run.bat
index f3a8a787b97f17b2853730867c124ab1a7390cf9..42d0bb7a489e9b6c5b4ac20fed58770510eac2be 100644
--- a/process/run.bat
+++ b/process/run.bat
@@ -1,9 +1,18 @@
 @echo off
 
-python3 1_process_add.py
-python3 2_process_gimp.py
-python3 3_process_glims.py
-python3 4_process_gebco.py
-python3 5_create_shading_layers.py
-python3 6_burn_vector_layers.py
-python3 7_create_basemaps.py
+rem PYTHON executable
+set PYTHON=python3
+
+%PYTHON% 1_process_add.py
+%PYTHON% 2_process_gimp.py
+%PYTHON% 3_process_glims.py
+%PYTHON% 4_process_gebco.py
+%PYTHON% 5_create_shading_layers.py
+%PYTHON% 6_burn_vector_layers.py
+%PYTHON% 7_create_basemaps.py
+
+echo.
+echo All done!
+echo.
+set /p DONE=Press Enter to exit!
+echo.
\ No newline at end of file
diff --git a/styles/STYLES.md b/styles/STYLES.md
new file mode 100644
index 0000000000000000000000000000000000000000..061bc34a0bb62c0ea0eadf29218dbe040a234997
--- /dev/null
+++ b/styles/STYLES.md
@@ -0,0 +1,27 @@
+# Styles
+
+As mentioned in the README/Description, the AWI Basemap colors are based on the AWI blues (RGB bright: 7/172/231, RGB dark: 0/62/110). While the default version tones down the blues in their saturation (half), the bright version uses them directly. The dark version uses the blues in a quarter saturation to get an unobtrusive map, great to be used as a background to bring all kinds of primary datasets in the foreground. The land on the other side is held in a grey gradient for all versions. Ice covered areas are shown in white while Antarctic shelf ice is visualized with a light grey.
+
+## This is how the color bars look like:
+
+![AWI Basemap Color Bar Default](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/styles/basemap_default_colorbar.png)
+
+![AWI Basemap Color Bar Bright](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/styles/basemap_bright_colorbar.png)
+
+![AWI Basemap Color Bar Dark](https://gitlab.awi.de/sdreutte/basemap/-/raw/master/styles/basemap_dark_colorbar.png)
+
+## RGB
+
+| Elevation | Default RGB | Bright RGB  | Dark RGB    |
+|:---------:|:-----------:|:-----------:|:-----------:|
+| -12000    | 32/50/64    | 0/36/64     | 48/57/64    |
+| -6000     | 55/86/110   | 0/62/110    | 82/98/110   |
+| -1000     | 101/179/204 | 7/172/231   | 153/191/204 |
+| -10       | 206/233/242 | 191/239/255 | 225/234/237 |
+| -4        | 255/255/255 | 255/255/255 | 255/255/255 |
+| 5         | 230/230/230 | 230/230/230 | 230/230/230 |
+| 100       | 204/204/204 | 204/204/204 | 204/204/204 |
+| 1000      | 179/179/179 | 179/179/179 | 179/179/179 |
+| 10000     | 153/153/153 | 153/153/153 | 153/153/153 |
+| 20000     | 242/242/242 | 242/242/242 | 242/242/242 |
+| 30000     | 255/255/255 | 255/255/255 | 255/255/255 |
diff --git a/styles/basemap_bright_colorbar.png b/styles/basemap_bright_colorbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..be4e7c8d250961597e71b6cc67cd3d0e5124b558
Binary files /dev/null and b/styles/basemap_bright_colorbar.png differ
diff --git a/styles/basemap_dark_colorbar.png b/styles/basemap_dark_colorbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..757e0a88fbdcacf78a352a85abc6a941e4516917
Binary files /dev/null and b/styles/basemap_dark_colorbar.png differ
diff --git a/styles/basemap_default_colorbar.png b/styles/basemap_default_colorbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff680dfb034ae49e617515fa9b322e4fc77d085d
Binary files /dev/null and b/styles/basemap_default_colorbar.png differ