Index: /issm/trunk-jpl/externalpackages/android/android-ndk/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/android/android-ndk/install.sh	(revision 13692)
+++ /issm/trunk-jpl/externalpackages/android/android-ndk/install.sh	(revision 13693)
@@ -1,4 +1,3 @@
 #!/bin/bash
-set -eu
 
 # This installs the Android NDK (Native Development Kit)
Index: /issm/trunk-jpl/externalpackages/android/android-sdk/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/android/android-sdk/install.sh	(revision 13692)
+++ /issm/trunk-jpl/externalpackages/android/android-sdk/install.sh	(revision 13693)
@@ -1,4 +1,3 @@
 #!/bin/bash
-set -eu 
 
 # This installs the Android SDK (Software Development Kit)
Index: /issm/trunk-jpl/externalpackages/distribute/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/distribute/install.sh	(revision 13692)
+++ /issm/trunk-jpl/externalpackages/distribute/install.sh	(revision 13693)
@@ -4,3 +4,3 @@
 #Download from ISSM server
 $ISSM_DIR/scripts/DownloadExternalPackage.py 'http://python-distribute.org/distribute_setup.py' 'distribute_setup.py'
-python distribute_setup.py
+sudo python distribute_setup.py
Index: /issm/trunk-jpl/externalpackages/numpy/install-macosx-lion.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/numpy/install-macosx-lion.sh	(revision 13692)
+++ /issm/trunk-jpl/externalpackages/numpy/install-macosx-lion.sh	(revision 13693)
@@ -6,9 +6,19 @@
 export FFLAGS=-ff2c
 
+#clean up
+rm -rf numpy
+rm -rf numpy-1.7.0b2
+
 #download numpy first
-git clone https://github.com/numpy/numpy.git
+#export GIT_SSL_NO_VERIFY=true 
+#git clone https://github.com/numpy/numpy.git
+$ISSM_DIR/scripts/DownloadExternalPackage.py 'http://issm.jpl.nasa.gov/files/externalpackages/numpy-1.7.0b2.tar.gz' 'numpy-1.7.0b2.tar.gz'
 
 #install numpy
-cd numpy
+tar -zxvf numpy-1.7.0b2.tar.gz
+cd numpy-1.7.0b2
 python setup.py build
 python setup.py install
+cd ..
+python -c "import numpy; print 'Installed NumPy', numpy.__version__"
+python -c "import numpy; numpy.test()"
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 13692)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 13693)
@@ -304,6 +304,4 @@
 					./modules/SmbGradientsx/SmbGradientsx.h\
 					./modules/SmbGradientsx/SmbGradientsx.cpp\
-					./modules/UpdateConstraintsx/UpdateConstraintsx.h\
-					./modules/UpdateConstraintsx/UpdateConstraintsx.cpp\
 					./modules/MeshPartitionx/MeshPartitionx.h\
 					./modules/Reducevectorgtofx/Reducevectorgtofx.cpp\
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 13693)
@@ -364,2 +364,22 @@
 }
 /*}}}*/
+/*FUNCTION void FemModel::UpdateConstraintsx(void){{{*/
+void FemModel::UpdateConstraintsx(void){
+
+	IssmDouble time;
+	int    analysis_type;
+
+	/*retrieve parameters: */
+	parameters->FindParam(&analysis_type,AnalysisTypeEnum);
+	parameters->FindParam(&time,TimeEnum);
+
+	/*start module: */
+	if(VerboseModule()) _pprintLine_("   Updating constraints for time: " << time);
+
+	/*First, update dof constraints in nodes, using constraints: */
+	SpcNodesx(nodes,constraints,parameters,analysis_type); 
+
+	/*Now, update degrees of freedoms: */
+	NodesDofx(nodes,parameters,analysis_type);
+
+}
Index: /issm/trunk-jpl/src/c/classes/FemModel.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 13692)
+++ /issm/trunk-jpl/src/c/classes/FemModel.h	(revision 13693)
@@ -64,5 +64,5 @@
 		/*Modules: {{{*/
 		int UpdateVertexPositionsx(void);
-
+		void UpdateConstraintsx(void);
 		/*}}}*/
 
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 13692)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 13693)
@@ -121,5 +121,4 @@
 #include "./ThicknessAlongGradientx/ThicknessAlongGradientx.h"
 #include "./ThicknessAcrossGradientx/ThicknessAcrossGradientx.h"
-#include "./UpdateConstraintsx/UpdateConstraintsx.h"
 #include "./UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h"
 #include "./VerticesDofx/VerticesDofx.h"
Index: /issm/trunk-jpl/src/c/solvers/solver_adjoint_linear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_adjoint_linear.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_adjoint_linear.cpp	(revision 13693)
@@ -24,5 +24,5 @@
 	/*Recover parameters: */
 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	SystemMatricesx(&Kff, &Kfs, &pf, &df, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
Index: /issm/trunk-jpl/src/c/solvers/solver_linear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_linear.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_linear.cpp	(revision 13693)
@@ -22,5 +22,5 @@
 	/*Recover parameters: */
 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	SystemMatricesx(&Kff, &Kfs, &pf, &df, NULL,femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
Index: /issm/trunk-jpl/src/c/solvers/solver_newton.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_newton.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_newton.cpp	(revision 13693)
@@ -38,5 +38,5 @@
 	femmodel->parameters->FindParam(&max_nonlinear_iterations,DiagnosticMaxiterEnum);
 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	count=1;
Index: /issm/trunk-jpl/src/c/solvers/solver_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_nonlinear.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_nonlinear.cpp	(revision 13693)
@@ -39,5 +39,5 @@
 	femmodel->parameters->FindParam(&max_nonlinear_iterations,DiagnosticMaxiterEnum);
 	femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	/*Were loads requested as output? : */
Index: /issm/trunk-jpl/src/c/solvers/solver_stokescoupling_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_stokescoupling_nonlinear.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_stokescoupling_nonlinear.cpp	(revision 13693)
@@ -41,5 +41,5 @@
 	femmodel->parameters->FindParam(&min_mechanical_constraints,DiagnosticRiftPenaltyThresholdEnum);
 	femmodel->parameters->FindParam(&max_nonlinear_iterations,DiagnosticMaxiterEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	count=1;
Index: /issm/trunk-jpl/src/c/solvers/solver_thermal_nonlinear.cpp
===================================================================
--- /issm/trunk-jpl/src/c/solvers/solver_thermal_nonlinear.cpp	(revision 13692)
+++ /issm/trunk-jpl/src/c/solvers/solver_thermal_nonlinear.cpp	(revision 13693)
@@ -49,5 +49,5 @@
 	InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,true,ResetPenaltiesEnum);
 	InputUpdateFromConstantx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,false,ConvergedEnum);
-	UpdateConstraintsx(femmodel->nodes,femmodel->constraints,femmodel->parameters);
+	femmodel->UpdateConstraintsx();
 
 	for(;;){
