Index: /issm/trunk-jpl/jenkins/pine_island-mac-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-dakota	(revision 25699)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-dakota	(revision 25700)
@@ -21,4 +21,5 @@
 	--with-scalapack-dir=${ISSM_DIR}/externalpackages/petsc/install \
 	--with-mumps-dir=${ISSM_DIR}/externalpackages/petsc/install \
+	--with-hdf5-dir=${ISSM_DIR}/externalpackages/petsc/install \
 	--with-petsc-dir=${ISSM_DIR}/externalpackages/petsc/install \
 	--with-gsl-dir=${ISSM_DIR}/externalpackages/gsl/install \
@@ -37,15 +38,22 @@
 #List of external pakages to be installed and their installation scripts
 EXTERNALPACKAGES="
-	autotools	install.sh
-	cmake		install.sh
-	petsc		install-3.14-mac.sh
-	gsl			install.sh
-	boost		install-1.7-mac.sh
-	dakota		install-6.2-mac.sh
-	triangle	install-mac.sh
-	chaco		install.sh
-	m1qn3		install.sh
-	semic		install.sh
-	shell2junit	install.sh
+	autotools		install.sh
+	cmake			install.sh
+	petsc			install-3.14-mac.sh
+	gsl				install.sh
+	boost			install-1.7-mac.sh
+	dakota			install-6.2-mac.sh
+	curl			install-7.67.sh
+	netcdf			install-4.7-parallel.sh
+	proj			install-6.2.sh
+	gdal			install-3-python-netcdf.sh
+	gshhg			install.sh
+	gmt				install-6.0-mac.sh
+	gmsh			install-4.sh
+	triangle		install-mac.sh
+	chaco			install.sh
+	m1qn3			install.sh
+	semic			install.sh
+	shell2junit		install.sh
 "
 
Index: /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth	(revision 25699)
+++ /issm/trunk-jpl/jenkins/pine_island-mac-solid_earth	(revision 25700)
@@ -27,5 +27,7 @@
 	--with-dakota-dir=${ISSM_DIR}/externalpackages/dakota/install \
 	--with-triangle-dir=${ISSM_DIR}/externalpackages/triangle/install \
-	--with-boost-dir=${ISSM_DIR}/externalpackages/boost/install
+	--with-chaco-dir=${ISSM_DIR}/externalpackages/chaco/install \
+	--with-m1qn3-dir=${ISSM_DIR}/externalpackages/m1qn3/install \
+	--with-semic-dir=${ISSM_DIR}/externalpackages/semic/install \
 '
 
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-dakota
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 25699)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-dakota	(revision 25700)
@@ -38,15 +38,23 @@
 
 EXTERNALPACKAGES="
-	autotools	install-debian-linux.sh
-	cmake		install.sh
-	petsc		install-3.14-linux.sh
-	gsl			install.sh
-	boost		install-1.7-linux.sh
-	dakota		install-6.2-linux.sh
-	triangle	install-linux.sh
-	chaco		install.sh
-	m1qn3		install.sh
-	semic		install.sh
-	shell2junit	install.sh
+	autotools		install-debian-linux.sh
+	cmake			install.sh
+	petsc			install-3.14-linux.sh
+	gsl				install.sh
+	boost			install-1.7-linux.sh
+	dakota			install-6.2-linux.sh
+	boost			install-1.7-linux.sh
+	curl			install-7.67.sh
+	netcdf			install-4.7-parallel.sh
+	proj			install-6.2.sh
+	gdal			install-3-python-netcdf.sh
+	gshhg			install.sh
+	gmt				install-6.0-linux.sh
+	gmsh			install-4.sh
+	triangle		install-linux.sh
+	chaco			install.sh
+	m1qn3			install.sh
+	semic			install.sh
+	shell2junit		install.sh
 "
 
Index: /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth
===================================================================
--- /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 25699)
+++ /issm/trunk-jpl/jenkins/ross-debian_linux-solid_earth	(revision 25700)
@@ -27,5 +27,7 @@
 	--with-dakota-dir=${ISSM_DIR}/externalpackages/dakota/install \
 	--with-triangle-dir=${ISSM_DIR}/externalpackages/triangle/install \
-	--with-boost-dir=${ISSM_DIR}/externalpackages/boost/install
+	--with-chaco-dir=${ISSM_DIR}/externalpackages/chaco/install \
+	--with-m1qn3-dir=${ISSM_DIR}/externalpackages/m1qn3/install \
+	--with-semic-dir=${ISSM_DIR}/externalpackages/semic/install \
 '
 
Index: /issm/trunk-jpl/test/NightlyRun/test408.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test408.m	(revision 25699)
+++ /issm/trunk-jpl/test/NightlyRun/test408.m	(revision 25700)
@@ -20,10 +20,14 @@
 
 %Fields and tolerances to track changes
-field_names     ={'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1','TotalSmb1',...
+field_names={...
+	'Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','GroundedArea1','FloatingArea1','TotalFloatingBmb1','TotalGroundedBmb1','TotalSmb1',...
 	'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','GroundedArea2','FloatingArea2','TotalFloatingBmb2','TotalGroundedBmb2','TotalSmb2',...
-	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3','FloatingArea3','TotalFloatingBmb3','TotalGroundedBmb3','TotalSmb3'};
-field_tolerances={1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
-	1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+	'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','GroundedArea3','FloatingArea3','TotalFloatingBmb3','TotalGroundedBmb3','TotalSmb3'...
+};
+field_tolerances={...
+	2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
+	2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,...
+	2e-13,2e-13,2e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13...
+};
 field_values={...
 	(md.results.TransientSolution(1).Vx),...
@@ -63,3 +67,3 @@
 	(md.results.TransientSolution(3).TotalGroundedBmb),...
 	(md.results.TransientSolution(3).TotalSmb),...
-	};
+};
Index: /issm/trunk-jpl/test/NightlyRun/test408.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 25699)
+++ /issm/trunk-jpl/test/NightlyRun/test408.py	(revision 25700)
@@ -31,40 +31,50 @@
 
 #Fields and tolerances to track changes
-field_names = ['Vx1', 'Vy1', 'Vel1', 'Pressure1', 'Bed1', 'Surface1', 'Thickness1', 'GroundedArea1', 'FloatingArea1', 'TotalFloatingBmb1', 'TotalGroundedBmb1', 'TotalSmb1', 'Vx2', 'Vy2', 'Vel2', 'Pressure2', 'Bed2', 'Surface2', 'Thickness2', 'GroundedArea2', 'FloatingArea2', 'TotalFloatingBmb2', 'TotalGroundedBmb2', 'TotalSmb2', 'Vx3', 'Vy3', 'Vel3', 'Pressure3', 'Bed3', 'Surface3', 'Thickness3', 'GroundedArea3', 'FloatingArea3', 'TotalFloatingBmb3', 'TotalGroundedBmb3', 'TotalSmb3']
-field_tolerances = [1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13]
-field_values = [md.results.TransientSolution[0].Vx,
-                md.results.TransientSolution[0].Vy,
-                md.results.TransientSolution[0].Vel,
-                md.results.TransientSolution[0].Pressure,
-                md.results.TransientSolution[0].Base,
-                md.results.TransientSolution[0].Surface,
-                md.results.TransientSolution[0].Thickness,
-                md.results.TransientSolution[0].GroundedArea,
-                md.results.TransientSolution[0].FloatingArea,
-                md.results.TransientSolution[0].TotalFloatingBmb,
-                md.results.TransientSolution[0].TotalGroundedBmb,
-                md.results.TransientSolution[0].TotalSmb,
-                md.results.TransientSolution[1].Vx,
-                md.results.TransientSolution[1].Vy,
-                md.results.TransientSolution[1].Vel,
-                md.results.TransientSolution[1].Pressure,
-                md.results.TransientSolution[1].Base,
-                md.results.TransientSolution[1].Surface,
-                md.results.TransientSolution[1].Thickness,
-                md.results.TransientSolution[1].GroundedArea,
-                md.results.TransientSolution[1].FloatingArea,
-                md.results.TransientSolution[1].TotalFloatingBmb,
-                md.results.TransientSolution[1].TotalGroundedBmb,
-                md.results.TransientSolution[1].TotalSmb,
-                md.results.TransientSolution[2].Vx,
-                md.results.TransientSolution[2].Vy,
-                md.results.TransientSolution[2].Vel,
-                md.results.TransientSolution[2].Pressure,
-                md.results.TransientSolution[2].Base,
-                md.results.TransientSolution[2].Surface,
-                md.results.TransientSolution[2].Thickness,
-                md.results.TransientSolution[2].GroundedArea,
-                md.results.TransientSolution[2].FloatingArea,
-                md.results.TransientSolution[2].TotalFloatingBmb,
-                md.results.TransientSolution[2].TotalGroundedBmb,
-                md.results.TransientSolution[2].TotalSmb]
+field_names = [
+    'Vx1', 'Vy1', 'Vel1', 'Pressure1', 'Bed1', 'Surface1', 'Thickness1', 'GroundedArea1', 'FloatingArea1', 'TotalFloatingBmb1', 'TotalGroundedBmb1', 'TotalSmb1', 
+    'Vx2', 'Vy2', 'Vel2', 'Pressure2', 'Bed2', 'Surface2', 'Thickness2', 'GroundedArea2', 'FloatingArea2', 'TotalFloatingBmb2', 'TotalGroundedBmb2', 'TotalSmb2', 
+    'Vx3', 'Vy3', 'Vel3', 'Pressure3', 'Bed3', 'Surface3', 'Thickness3', 'GroundedArea3', 'FloatingArea3', 'TotalFloatingBmb3', 'TotalGroundedBmb3', 'TotalSmb3'
+]
+field_tolerances = [
+    2e-13, 2e-13, 2e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 
+    2e-13, 2e-13, 2e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 
+    2e-13, 2e-13, 2e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 1e-13, 
+]
+field_values = [
+    md.results.TransientSolution[0].Vx,
+    md.results.TransientSolution[0].Vy,
+    md.results.TransientSolution[0].Vel,
+    md.results.TransientSolution[0].Pressure,
+    md.results.TransientSolution[0].Base,
+    md.results.TransientSolution[0].Surface,
+    md.results.TransientSolution[0].Thickness,
+    md.results.TransientSolution[0].GroundedArea,
+    md.results.TransientSolution[0].FloatingArea,
+    md.results.TransientSolution[0].TotalFloatingBmb,
+    md.results.TransientSolution[0].TotalGroundedBmb,
+    md.results.TransientSolution[0].TotalSmb,
+    md.results.TransientSolution[1].Vx,
+    md.results.TransientSolution[1].Vy,
+    md.results.TransientSolution[1].Vel,
+    md.results.TransientSolution[1].Pressure,
+    md.results.TransientSolution[1].Base,
+    md.results.TransientSolution[1].Surface,
+    md.results.TransientSolution[1].Thickness,
+    md.results.TransientSolution[1].GroundedArea,
+    md.results.TransientSolution[1].FloatingArea,
+    md.results.TransientSolution[1].TotalFloatingBmb,
+    md.results.TransientSolution[1].TotalGroundedBmb,
+    md.results.TransientSolution[1].TotalSmb,
+    md.results.TransientSolution[2].Vx,
+    md.results.TransientSolution[2].Vy,
+    md.results.TransientSolution[2].Vel,
+    md.results.TransientSolution[2].Pressure,
+    md.results.TransientSolution[2].Base,
+    md.results.TransientSolution[2].Surface,
+    md.results.TransientSolution[2].Thickness,
+    md.results.TransientSolution[2].GroundedArea,
+    md.results.TransientSolution[2].FloatingArea,
+    md.results.TransientSolution[2].TotalFloatingBmb,
+    md.results.TransientSolution[2].TotalGroundedBmb,
+    md.results.TransientSolution[2].TotalSmb
+]
