diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh
index 504a3ac99410efe02e654f149bfbdc5bbc6f699f..afaba2901bc69a39406db3b9915a4db76c91b51a 100755
--- a/ShellB3/shallbethree.sh
+++ b/ShellB3/shallbethree.sh
@@ -844,6 +844,10 @@ export LZOVER=2.10
 export XZVER=5.2.3
 export DB48VER=4.8.30
 
+# pyshp-1.2.11.tar.gz Cartopy-0.14.2.tar.gz
+export PYSHPVER=1.2.11
+export CARTOPYVER=0.14.2
+
 # used by pygrib builder
 export GRIBAPI_DIR=$BASE
 export JASPER_DIR=$BASE
@@ -3775,6 +3779,12 @@ mk_wheel(){
   pip_install src/optional/wheel-*.tar.gz || oops 'wheel did not install'
 }
 
+mk_cartopy(){
+  resume_tracker && return 0
+  pip_install src/optional/pyshp-*.tar.gz || oops "pyshp did not install"
+  pip_install src/optional/Cartopy-*.tar.gz || oops "Cartopy did not install"
+}
+
 mk_process32(){
   resume_tracker && return 0
   if [ ${PYFSVERMAJOR} -gt 2 ] ; then
@@ -6469,7 +6479,11 @@ mk_scmi() {
     && mk_cffi \
     && mk_configobj \
     && mk_pykdtree \
-    && mk_pyresample
+    && mk_pyresample \
+    && mk_shapely \
+    && mk_inotify \
+    && mk_gdal \
+    && mk_cartopy
     echo scmi >>trim
 }
 
diff --git a/ShellB3/src/optional/Cartopy-0.14.2.tar.gz b/ShellB3/src/optional/Cartopy-0.14.2.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..768cf27b8e3b16d280b9a6b6ac1aac6b6741dcfe
--- /dev/null
+++ b/ShellB3/src/optional/Cartopy-0.14.2.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a7059587b91989ac42649f3d02aefbb4d3fd53ebb10ada34c007235820a000e7
+size 8387645
diff --git a/ShellB3/src/optional/pyshp-1.2.11.tar.gz b/ShellB3/src/optional/pyshp-1.2.11.tar.gz
new file mode 100644
index 0000000000000000000000000000000000000000..9c3272dba86ec41a40893dc1f04659fe36497461
--- /dev/null
+++ b/ShellB3/src/optional/pyshp-1.2.11.tar.gz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b4be2ec3d816067972e9ecc38526e9c45e9ee9b49b7fd94acfab9c0fc84fa63
+size 192763