Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 17084)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 17085)
@@ -304,10 +304,6 @@
 					./modules/SpcNodesx/SpcNodesx.h\
 					./modules/SpcNodesx/SpcNodesx.cpp\
-					./modules/PositiveDegreeDayx/PositiveDegreeDayx.h\
-					./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp\
-					./modules/Delta18oParameterizationx/Delta18oParameterizationx.h\
-					./modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp\
-					./modules/SmbGradientsx/SmbGradientsx.h\
-					./modules/SmbGradientsx/SmbGradientsx.cpp\
+					./modules/SurfaceMassBalancex/SurfaceMassBalancex.h\
+					./modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp\
 					./modules/MeshPartitionx/MeshPartitionx.h\
 					./modules/Reducevectorgtofx/Reducevectorgtofx.cpp\
Index: /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp	(revision 17085)
@@ -109,4 +109,7 @@
 			iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum);
 			break;
+		case SMBhenningEnum:
+			iomodel->FetchDataToInput(elements,SurfaceforcingsMassBalanceEnum,0.);
+			break;
 		default:
 			_error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
Index: /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/classes/Materials/Matpar.cpp	(revision 17085)
@@ -52,4 +52,7 @@
 			break;
 		case SMBgradientsEnum:
+			/*Nothing to add*/
+			break;
+		case SMBhenningEnum:
 			/*Nothing to add*/
 			break;
Index: /issm/trunk-jpl/src/c/cores/masstransport_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/masstransport_core.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/cores/masstransport_core.cpp	(revision 17085)
@@ -14,5 +14,5 @@
 	/*parameters: */
 	int    i;
-	int    numoutputs,meshtype,smb_model;
+	int    numoutputs,meshtype;
 	bool   save_results;
 	bool   issmbgradients,ispdd,isdelta18o,isFS,isfreesurface,dakota_analysis;
@@ -25,5 +25,4 @@
 	/*recover parameters: */
 	femmodel->parameters->FindParam(&save_results,SaveResultsEnum);
-	femmodel->parameters->FindParam(&smb_model,SurfaceforcingsEnum);
 	femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum);
 	femmodel->parameters->FindParam(&isfreesurface,MasstransportIsfreesurfaceEnum);
@@ -41,25 +40,8 @@
 	}
 
-	switch(smb_model){
-		case SMBEnum:
-			/*Nothing to be done*/
-			break;
-		case SMBpddEnum:
-			femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
-			if(isdelta18o){
-				if(VerboseSolution()) _printf0_("   call Delta18oParametrization module\n");
-				Delta18oParameterizationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
-			} 
-			if(VerboseSolution()) _printf0_("   call positive degree day module\n");
-			PositiveDegreeDayx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
-			break;
-		case SMBgradientsEnum:
-			if(VerboseSolution())_printf_("	call smb gradients module\n\n");
-			SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
-			break;
-		default:
-			_error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
-	}
+	/*Calculate new Surface Mass Balance (SMB)*/
+	SurfaceMassBalancex(femmodel);
 
+	/*Transport mass or free surface*/
 	if(isFS && isfreesurface){
 		if(VerboseSolution()) _printf0_("   call free surface computational core\n");
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 17085)
@@ -115,4 +115,7 @@
 			/*Nothing to add to parameters*/
 			break;
+		case SMBhenningEnum:
+			/*Nothing to add to parameters*/
+			break;
 		default:
 			_error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/SurfaceMassBalancex.Plo
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/SurfaceMassBalancex.Plo	(revision 17085)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/SurfaceMassBalancex.Plo	(revision 17085)
@@ -0,0 +1,1 @@
+# dummy
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMCore_a-SurfaceMassBalancex.Po
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMCore_a-SurfaceMassBalancex.Po	(revision 17085)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMCore_a-SurfaceMassBalancex.Po	(revision 17085)
@@ -0,0 +1,1384 @@
+modules/SurfaceMassBalancex/libISSMCore_a-SurfaceMassBalancex.o: \
+ modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp \
+ modules/SurfaceMassBalancex/./SurfaceMassBalancex.h \
+ modules/SurfaceMassBalancex/./../../classes/classes.h \
+ modules/SurfaceMassBalancex/./../../classes/./Contour.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./MemOps/MemOps.h \
+ /usr/include/c++/4.6/cassert /usr/include/assert.h \
+ /usr/include/features.h /usr/include/x86_64-linux-gnu/bits/predefs.h \
+ /usr/include/x86_64-linux-gnu/sys/cdefs.h \
+ /usr/include/x86_64-linux-gnu/bits/wordsize.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs.h \
+ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/Abs.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/BigPrimeNumber.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/BinaryRand.h \
+ /usr/include/c++/4.6/cstdlib \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/os_defines.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/cpu_defines.h \
+ /usr/include/stdlib.h /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h \
+ /usr/include/x86_64-linux-gnu/bits/waitflags.h \
+ /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/endian.h \
+ /usr/include/x86_64-linux-gnu/bits/byteswap.h /usr/include/xlocale.h \
+ /usr/include/x86_64-linux-gnu/sys/types.h \
+ /usr/include/x86_64-linux-gnu/bits/types.h \
+ /usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/time.h \
+ /usr/include/x86_64-linux-gnu/sys/select.h \
+ /usr/include/x86_64-linux-gnu/bits/select.h \
+ /usr/include/x86_64-linux-gnu/bits/sigset.h \
+ /usr/include/x86_64-linux-gnu/bits/time.h \
+ /usr/include/x86_64-linux-gnu/bits/select2.h \
+ /usr/include/x86_64-linux-gnu/sys/sysmacros.h \
+ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \
+ /usr/include/x86_64-linux-gnu/bits/stdlib.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/Exchange.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/extrema.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/HeapSort.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/OppositeAngle.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/../Numerics/constants.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Elements/elements.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Elements/../Numerics/types.h \
+ ../.././config.h /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio.h \
+ /usr/include/x86_64-linux-gnu/bits/stdio2.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Enum/./EnumDefinitions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Exceptions/exceptions.h \
+ /usr/include/c++/4.6/exception /usr/include/c++/4.6/string \
+ /usr/include/c++/4.6/bits/stringfwd.h \
+ /usr/include/c++/4.6/bits/char_traits.h \
+ /usr/include/c++/4.6/bits/stl_algobase.h \
+ /usr/include/c++/4.6/bits/functexcept.h \
+ /usr/include/c++/4.6/bits/exception_defines.h \
+ /usr/include/c++/4.6/bits/cpp_type_traits.h \
+ /usr/include/c++/4.6/ext/type_traits.h \
+ /usr/include/c++/4.6/ext/numeric_traits.h \
+ /usr/include/c++/4.6/bits/stl_pair.h /usr/include/c++/4.6/bits/move.h \
+ /usr/include/c++/4.6/bits/concept_check.h \
+ /usr/include/c++/4.6/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.6/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.6/bits/stl_iterator.h \
+ /usr/include/c++/4.6/debug/debug.h /usr/include/c++/4.6/bits/postypes.h \
+ /usr/include/c++/4.6/cwchar /usr/include/x86_64-linux-gnu/bits/wchar.h \
+ /usr/include/x86_64-linux-gnu/bits/wchar2.h \
+ /usr/include/c++/4.6/bits/allocator.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++allocator.h \
+ /usr/include/c++/4.6/ext/new_allocator.h /usr/include/c++/4.6/new \
+ /usr/include/c++/4.6/bits/localefwd.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h \
+ /usr/include/c++/4.6/clocale /usr/include/locale.h \
+ /usr/include/x86_64-linux-gnu/bits/locale.h /usr/include/c++/4.6/iosfwd \
+ /usr/include/c++/4.6/cctype /usr/include/ctype.h \
+ /usr/include/c++/4.6/bits/ostream_insert.h \
+ /usr/include/c++/4.6/bits/cxxabi_forced.h \
+ /usr/include/c++/4.6/bits/stl_function.h \
+ /usr/include/c++/4.6/backward/binders.h \
+ /usr/include/c++/4.6/bits/range_access.h \
+ /usr/include/c++/4.6/bits/basic_string.h \
+ /usr/include/c++/4.6/ext/atomicity.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/gthr.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/sched.h \
+ /usr/include/x86_64-linux-gnu/bits/timex.h \
+ /usr/include/x86_64-linux-gnu/bits/setjmp.h /usr/include/unistd.h \
+ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
+ /usr/include/x86_64-linux-gnu/bits/environments.h \
+ /usr/include/x86_64-linux-gnu/bits/confname.h /usr/include/getopt.h \
+ /usr/include/x86_64-linux-gnu/bits/unistd.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/atomic_word.h \
+ /usr/include/c++/4.6/initializer_list \
+ /usr/include/c++/4.6/bits/basic_string.tcc /usr/include/c++/4.6/iostream \
+ /usr/include/c++/4.6/ostream /usr/include/c++/4.6/ios \
+ /usr/include/c++/4.6/bits/ios_base.h \
+ /usr/include/c++/4.6/bits/locale_classes.h \
+ /usr/include/c++/4.6/bits/locale_classes.tcc \
+ /usr/include/c++/4.6/streambuf /usr/include/c++/4.6/bits/streambuf.tcc \
+ /usr/include/c++/4.6/bits/basic_ios.h \
+ /usr/include/c++/4.6/bits/locale_facets.h /usr/include/c++/4.6/cwctype \
+ /usr/include/wctype.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/ctype_base.h \
+ /usr/include/c++/4.6/bits/streambuf_iterator.h \
+ /usr/include/c++/4.6/x86_64-linux-gnu/./bits/ctype_inline.h \
+ /usr/include/c++/4.6/bits/locale_facets.tcc \
+ /usr/include/c++/4.6/bits/basic_ios.tcc \
+ /usr/include/c++/4.6/bits/ostream.tcc /usr/include/c++/4.6/istream \
+ /usr/include/c++/4.6/bits/istream.tcc /usr/include/c++/4.6/sstream \
+ /usr/include/c++/4.6/bits/sstream.tcc /usr/include/c++/4.6/iomanip \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/io.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Disk/diskio.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Print/Print.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/IssmComm.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/issmmpi.h \
+ /usr/include/c++/4.6/cstddef \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpi.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpio.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpi.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpicxx.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/commops.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/io/Comm/IssmComm.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../mpi/issmmpi.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/exp.h \
+ /usr/include/c++/4.6/cstring /usr/include/string.h \
+ /usr/include/x86_64-linux-gnu/bits/string3.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../Numerics/recast.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../MemOps/MemOps.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Matrix/matrix.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Matrix/../Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/numerics.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./Verbosity.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./GaussPoints.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./isnan.h \
+ /usr/include/math.h /usr/include/x86_64-linux-gnu/bits/huge_val.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_valf.h \
+ /usr/include/x86_64-linux-gnu/bits/huge_vall.h \
+ /usr/include/x86_64-linux-gnu/bits/inf.h \
+ /usr/include/x86_64-linux-gnu/bits/nan.h \
+ /usr/include/x86_64-linux-gnu/bits/mathdef.h \
+ /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
+ /usr/include/x86_64-linux-gnu/bits/mathinline.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./recast.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./constants.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./OptArgs.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./OptPars.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/././types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Sorting/sorting.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./String/sharedstring.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./Threads/issm_threads.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./TriMesh/trimesh.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/./LatLong/latlong.h \
+ modules/SurfaceMassBalancex/./../../classes/./../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./../datastructures/./DataSet.h \
+ /usr/include/c++/4.6/vector /usr/include/c++/4.6/bits/stl_construct.h \
+ /usr/include/c++/4.6/bits/stl_uninitialized.h \
+ /usr/include/c++/4.6/bits/stl_vector.h \
+ /usr/include/c++/4.6/bits/stl_bvector.h \
+ /usr/include/c++/4.6/bits/vector.tcc \
+ modules/SurfaceMassBalancex/./../../classes/./../datastructures/./Object.h \
+ modules/SurfaceMassBalancex/./../../classes/./Vertices.h \
+ modules/SurfaceMassBalancex/./../../classes/./Vertex.h \
+ modules/SurfaceMassBalancex/./../../classes/././classes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/toolkits.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/petscincludes.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscmat.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscvec.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscis.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsys.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscconf.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscfix.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscversion.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscmath.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscerror.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscviewertypes.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscoptions.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petsclog.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsys.h \
+ /usr/include/memory.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/xmmintrin.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/mmintrin.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/mm_malloc.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdint.h /usr/include/stdint.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/limits.h \
+ /usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/syslimits.h \
+ /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/local_lim.h \
+ /usr/include/linux/limits.h \
+ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
+ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
+ /usr/include/x86_64-linux-gnu/sys/param.h /usr/include/linux/param.h \
+ /usr/include/x86_64-linux-gnu/asm/param.h \
+ /usr/include/asm-generic/param.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsftypes.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscviewer.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscksp.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscpc.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscdmtypes.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscdrawtypes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/petscpatches.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/./SolverEnum.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/../../toolkitsenums.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/../../../shared/io/Comm/IssmComm.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/petscobjects.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./../petscincludes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./../../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscSolver.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./mpi/issmmpi.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./metis/metisincludes.h \
+ /u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/metis.h \
+ /usr/include/inttypes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./metis/patches/metispatches.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./triangle/triangleincludes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/toolkitobjects.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Vector.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../../shared/Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../petsc/petscincludes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/issmtoolkit.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmAbsMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../toolkitsenums.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmAbsVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmDenseMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmSeqVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../gsl/gslincludes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../gsl/../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../ToolkitOptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmToolkitUtils.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmSeqVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/MemOps/MemOps.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmSolver.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiDenseMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../mumps/mumpsincludes.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../mumps/../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././Bucket.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../toolkitsenums.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmMpiVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/MemOps/MemOps.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/io/io.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../mpi/issmmpi.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiSparseMat.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././SparseRow.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiVec.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Matrix.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Solver.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/././Matrix.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/././Vector.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./toolkitsenums.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./issm/issmtoolkit.h \
+ modules/SurfaceMassBalancex/./../../classes/./../toolkits/./ToolkitOptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./Nodes.h \
+ modules/SurfaceMassBalancex/./../../classes/./Contours.h \
+ modules/SurfaceMassBalancex/./../../classes/././Contour.h \
+ modules/SurfaceMassBalancex/./../../classes/./Node.h \
+ modules/SurfaceMassBalancex/./../../classes/././DofIndexing.h \
+ modules/SurfaceMassBalancex/./../../classes/././../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/././Update.h \
+ modules/SurfaceMassBalancex/./../../classes/././../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Profiler.h \
+ modules/SurfaceMassBalancex/./../../classes/./DependentObject.h \
+ modules/SurfaceMassBalancex/./../../classes/./IndependentObject.h \
+ modules/SurfaceMassBalancex/./../../classes/./Segment.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/Numerics/constants.h \
+ modules/SurfaceMassBalancex/./../../classes/./Massfluxatgate.h \
+ modules/SurfaceMassBalancex/./../../classes/././Definition.h \
+ modules/SurfaceMassBalancex/./../../classes/././Elements/Element.h \
+ modules/SurfaceMassBalancex/./../../classes/././Elements/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/././Elements/../../toolkits/toolkits.h \
+ modules/SurfaceMassBalancex/./../../classes/././Elements/../Update.h \
+ modules/SurfaceMassBalancex/./../../classes/././Elements/Elements.h \
+ modules/SurfaceMassBalancex/./../../classes/././FemModel.h \
+ modules/SurfaceMassBalancex/./../../classes/././../toolkits/toolkits.h \
+ modules/SurfaceMassBalancex/./../../classes/./Misfit.h \
+ modules/SurfaceMassBalancex/./../../classes/./../modules/SurfaceAreax/SurfaceAreax.h \
+ modules/SurfaceMassBalancex/./../../classes/./../modules/SurfaceAreax/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./../classes/Params/Parameters.h \
+ modules/SurfaceMassBalancex/./../../classes/./../classes/Params/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./../classes/Params/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/Constraints.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/Constraint.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/../../toolkits/toolkits.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcStatic.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcTransient.h \
+ modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcDynamic.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Loads.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Load.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/../Update.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Friction.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Numericalflux.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/./Load.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Riftfront.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Penpair.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/../Node.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/../Elements/Element.h \
+ modules/SurfaceMassBalancex/./../../classes/./Loads/Pengrid.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/Elements.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/Element.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/Penta.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/./Element.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/./ElementHook.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/./PentaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/../../shared/Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/../../shared/Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/PentaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/Seg.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/./SegRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/SegRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/Tria.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/./TriaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/TriaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Elements/ElementHook.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/Option.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/Options.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/./GenericOption.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/./../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/./../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/././OptionUtilities.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/././../../shared/Exceptions/exceptions.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/././../../shared/Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/./././Option.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/GenericOption.h \
+ modules/SurfaceMassBalancex/./../../classes/./Options/OptionUtilities.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/Inputs.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/Input.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/BoolInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/./Input.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/DoubleInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/IntInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/PentaInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/PentaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/TriaInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/TriaRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/SegInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/SegRef.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/ControlInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/DatasetInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./Inputs/TransientInput.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/Results.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/ExternalResult.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../Node.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/GenericExternalResult.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/./ExternalResult.h \
+ modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/Materials.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/Material.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/../Update.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/Matice.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/./Material.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/../Hook.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Materials/Matpar.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/GenericParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/./Param.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/./../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/./../Node.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/BoolParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DoubleMatParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DoubleTransientMatParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DoubleMatArrayParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DoubleParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DoubleVecParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/IntParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/IntVecParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/IntMatParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/FileParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/Parameters.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/Param.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/MatrixParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/VectorParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/StringArrayParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/StringParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/TransientParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./Params/DataSetParam.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/matrixobjects.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/./ElementMatrix.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/./../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/./../../toolkits/toolkits.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/./../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./matrix/./ElementVector.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/gaussobjects.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/./Gauss.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussSeg.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/./../../shared/Numerics/types.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/././Gauss.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussTria.h \
+ modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussPenta.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/krigingobjects.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./Variogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./../../datastructures/datastructures.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./GaussianVariogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/././Variogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./ExponentialVariogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./SphericalVariogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./PowerVariogram.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./Quadtree.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./Observation.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./Observations.h \
+ modules/SurfaceMassBalancex/./../../classes/./kriging/./../../shared/shared.h \
+ modules/SurfaceMassBalancex/./../../classes/./Hook.h \
+ modules/SurfaceMassBalancex/./../../classes/./DofIndexing.h \
+ modules/SurfaceMassBalancex/./../../classes/./IoModel.h \
+ modules/SurfaceMassBalancex/./../../classes/./../shared/Enum/Enum.h \
+ modules/SurfaceMassBalancex/./../../classes/./Update.h \
+ modules/SurfaceMassBalancex/./../../classes/./FemModel.h \
+ modules/SurfaceMassBalancex/./../../classes/./GiaDeflectionCoreArgs.h \
+ modules/SurfaceMassBalancex/./../../classes/./RiftStruct.h \
+ modules/SurfaceMassBalancex/../../shared/shared.h \
+ modules/SurfaceMassBalancex/../../toolkits/toolkits.h
+
+modules/SurfaceMassBalancex/./SurfaceMassBalancex.h:
+
+modules/SurfaceMassBalancex/./../../classes/classes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Contour.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./MemOps/MemOps.h:
+
+/usr/include/c++/4.6/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/features.h:
+
+/usr/include/x86_64-linux-gnu/bits/predefs.h:
+
+/usr/include/x86_64-linux-gnu/sys/cdefs.h:
+
+/usr/include/x86_64-linux-gnu/bits/wordsize.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs.h:
+
+/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/Abs.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/BigPrimeNumber.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/BinaryRand.h:
+
+/usr/include/c++/4.6/cstdlib:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++config.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/os_defines.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/cpu_defines.h:
+
+/usr/include/stdlib.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stddef.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitflags.h:
+
+/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/endian.h:
+
+/usr/include/x86_64-linux-gnu/bits/byteswap.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/x86_64-linux-gnu/sys/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/types.h:
+
+/usr/include/x86_64-linux-gnu/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/x86_64-linux-gnu/sys/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/select.h:
+
+/usr/include/x86_64-linux-gnu/bits/sigset.h:
+
+/usr/include/x86_64-linux-gnu/bits/time.h:
+
+/usr/include/x86_64-linux-gnu/bits/select2.h:
+
+/usr/include/x86_64-linux-gnu/sys/sysmacros.h:
+
+/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
+
+/usr/include/alloca.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdlib.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/Exchange.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/extrema.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/HeapSort.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/OppositeAngle.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Bamg/../Numerics/constants.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Elements/elements.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Elements/../Numerics/types.h:
+
+../.././config.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdarg.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio.h:
+
+/usr/include/x86_64-linux-gnu/bits/stdio2.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Enum/./EnumDefinitions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Exceptions/exceptions.h:
+
+/usr/include/c++/4.6/exception:
+
+/usr/include/c++/4.6/string:
+
+/usr/include/c++/4.6/bits/stringfwd.h:
+
+/usr/include/c++/4.6/bits/char_traits.h:
+
+/usr/include/c++/4.6/bits/stl_algobase.h:
+
+/usr/include/c++/4.6/bits/functexcept.h:
+
+/usr/include/c++/4.6/bits/exception_defines.h:
+
+/usr/include/c++/4.6/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.6/ext/type_traits.h:
+
+/usr/include/c++/4.6/ext/numeric_traits.h:
+
+/usr/include/c++/4.6/bits/stl_pair.h:
+
+/usr/include/c++/4.6/bits/move.h:
+
+/usr/include/c++/4.6/bits/concept_check.h:
+
+/usr/include/c++/4.6/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.6/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.6/bits/stl_iterator.h:
+
+/usr/include/c++/4.6/debug/debug.h:
+
+/usr/include/c++/4.6/bits/postypes.h:
+
+/usr/include/c++/4.6/cwchar:
+
+/usr/include/x86_64-linux-gnu/bits/wchar.h:
+
+/usr/include/x86_64-linux-gnu/bits/wchar2.h:
+
+/usr/include/c++/4.6/bits/allocator.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++allocator.h:
+
+/usr/include/c++/4.6/ext/new_allocator.h:
+
+/usr/include/c++/4.6/new:
+
+/usr/include/c++/4.6/bits/localefwd.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/c++locale.h:
+
+/usr/include/c++/4.6/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/x86_64-linux-gnu/bits/locale.h:
+
+/usr/include/c++/4.6/iosfwd:
+
+/usr/include/c++/4.6/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.6/bits/ostream_insert.h:
+
+/usr/include/c++/4.6/bits/cxxabi_forced.h:
+
+/usr/include/c++/4.6/bits/stl_function.h:
+
+/usr/include/c++/4.6/backward/binders.h:
+
+/usr/include/c++/4.6/bits/range_access.h:
+
+/usr/include/c++/4.6/bits/basic_string.h:
+
+/usr/include/c++/4.6/ext/atomicity.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/gthr.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/sched.h:
+
+/usr/include/x86_64-linux-gnu/bits/timex.h:
+
+/usr/include/x86_64-linux-gnu/bits/setjmp.h:
+
+/usr/include/unistd.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
+
+/usr/include/x86_64-linux-gnu/bits/environments.h:
+
+/usr/include/x86_64-linux-gnu/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/x86_64-linux-gnu/bits/unistd.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/atomic_word.h:
+
+/usr/include/c++/4.6/initializer_list:
+
+/usr/include/c++/4.6/bits/basic_string.tcc:
+
+/usr/include/c++/4.6/iostream:
+
+/usr/include/c++/4.6/ostream:
+
+/usr/include/c++/4.6/ios:
+
+/usr/include/c++/4.6/bits/ios_base.h:
+
+/usr/include/c++/4.6/bits/locale_classes.h:
+
+/usr/include/c++/4.6/bits/locale_classes.tcc:
+
+/usr/include/c++/4.6/streambuf:
+
+/usr/include/c++/4.6/bits/streambuf.tcc:
+
+/usr/include/c++/4.6/bits/basic_ios.h:
+
+/usr/include/c++/4.6/bits/locale_facets.h:
+
+/usr/include/c++/4.6/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/ctype_base.h:
+
+/usr/include/c++/4.6/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.6/x86_64-linux-gnu/./bits/ctype_inline.h:
+
+/usr/include/c++/4.6/bits/locale_facets.tcc:
+
+/usr/include/c++/4.6/bits/basic_ios.tcc:
+
+/usr/include/c++/4.6/bits/ostream.tcc:
+
+/usr/include/c++/4.6/istream:
+
+/usr/include/c++/4.6/bits/istream.tcc:
+
+/usr/include/c++/4.6/sstream:
+
+/usr/include/c++/4.6/bits/sstream.tcc:
+
+/usr/include/c++/4.6/iomanip:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/io.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Disk/diskio.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Print/Print.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/IssmComm.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/issmmpi.h:
+
+/usr/include/c++/4.6/cstddef:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpi.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpio.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpi.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/mpich/install/include/mpicxx.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/commops.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../../shared/io/Comm/IssmComm.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./io/./Comm/../../../toolkits/mpi/./commops/../../mpi/issmmpi.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/exp.h:
+
+/usr/include/c++/4.6/cstring:
+
+/usr/include/string.h:
+
+/usr/include/x86_64-linux-gnu/bits/string3.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../Numerics/recast.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Exp/../MemOps/MemOps.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Matrix/matrix.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Matrix/../Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/numerics.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./Verbosity.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./GaussPoints.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./isnan.h:
+
+/usr/include/math.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_val.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_valf.h:
+
+/usr/include/x86_64-linux-gnu/bits/huge_vall.h:
+
+/usr/include/x86_64-linux-gnu/bits/inf.h:
+
+/usr/include/x86_64-linux-gnu/bits/nan.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathdef.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
+
+/usr/include/x86_64-linux-gnu/bits/mathinline.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./recast.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./constants.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./OptArgs.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/./OptPars.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Numerics/././types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Sorting/sorting.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./String/sharedstring.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./Threads/issm_threads.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./TriMesh/trimesh.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/./LatLong/latlong.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../datastructures/./DataSet.h:
+
+/usr/include/c++/4.6/vector:
+
+/usr/include/c++/4.6/bits/stl_construct.h:
+
+/usr/include/c++/4.6/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.6/bits/stl_vector.h:
+
+/usr/include/c++/4.6/bits/stl_bvector.h:
+
+/usr/include/c++/4.6/bits/vector.tcc:
+
+modules/SurfaceMassBalancex/./../../classes/./../datastructures/./Object.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Vertices.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Vertex.h:
+
+modules/SurfaceMassBalancex/./../../classes/././classes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/toolkits.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/petscincludes.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscmat.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscvec.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscis.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsys.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscconf.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscfix.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscversion.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscmath.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscerror.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscviewertypes.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscoptions.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petsclog.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsys.h:
+
+/usr/include/memory.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/xmmintrin.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/mmintrin.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/mm_malloc.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include/stdint.h:
+
+/usr/include/stdint.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/limits.h:
+
+/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
+
+/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
+
+/usr/include/x86_64-linux-gnu/sys/param.h:
+
+/usr/include/linux/param.h:
+
+/usr/include/x86_64-linux-gnu/asm/param.h:
+
+/usr/include/asm-generic/param.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscsftypes.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscviewer.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscksp.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscpc.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscdmtypes.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/petscdrawtypes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/petscpatches.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/./SolverEnum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/../../toolkitsenums.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/patches/../../../shared/io/Comm/IssmComm.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/petscobjects.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./../petscincludes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./../../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./petsc/objects/./PetscSolver.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./mpi/issmmpi.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./metis/metisincludes.h:
+
+/u/astrid-r1b/morlighe/issmjpl/cron/trunk-jpl/externalpackages/petsc/install/include/metis.h:
+
+/usr/include/inttypes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./metis/patches/metispatches.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./triangle/triangleincludes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/toolkitobjects.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Vector.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../../shared/Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../petsc/petscincludes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/issmtoolkit.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmAbsMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../toolkitsenums.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmAbsVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmDenseMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmSeqVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../gsl/gslincludes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../gsl/../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../ToolkitOptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmToolkitUtils.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmSeqVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../shared/MemOps/MemOps.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmSolver.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiDenseMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../mumps/mumpsincludes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./../mumps/../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././Bucket.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../toolkitsenums.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././IssmMpiVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/MemOps/MemOps.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../../shared/io/io.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././../mpi/issmmpi.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiSparseMat.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/././SparseRow.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./../issm/./IssmMpiVec.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Matrix.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/./Solver.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/././Matrix.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./objects/././Vector.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./toolkitsenums.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./issm/issmtoolkit.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../toolkits/./ToolkitOptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Nodes.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Contours.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Contour.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Node.h:
+
+modules/SurfaceMassBalancex/./../../classes/././DofIndexing.h:
+
+modules/SurfaceMassBalancex/./../../classes/././../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Update.h:
+
+modules/SurfaceMassBalancex/./../../classes/././../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Profiler.h:
+
+modules/SurfaceMassBalancex/./../../classes/./DependentObject.h:
+
+modules/SurfaceMassBalancex/./../../classes/./IndependentObject.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Segment.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/Numerics/constants.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Massfluxatgate.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Definition.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Elements/Element.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Elements/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Elements/../../toolkits/toolkits.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Elements/../Update.h:
+
+modules/SurfaceMassBalancex/./../../classes/././Elements/Elements.h:
+
+modules/SurfaceMassBalancex/./../../classes/././FemModel.h:
+
+modules/SurfaceMassBalancex/./../../classes/././../toolkits/toolkits.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Misfit.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../modules/SurfaceAreax/SurfaceAreax.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../modules/SurfaceAreax/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../classes/Params/Parameters.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../classes/Params/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../classes/Params/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/Constraints.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/Constraint.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/../../toolkits/toolkits.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcStatic.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcTransient.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Constraints/SpcDynamic.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Loads.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Load.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/../Update.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Friction.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Numericalflux.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/./Load.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Riftfront.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Penpair.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/../Node.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/../Elements/Element.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Loads/Pengrid.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/Elements.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/Element.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/Penta.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/./Element.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/./ElementHook.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/./PentaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/../../shared/Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/../../shared/Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/PentaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/Seg.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/./SegRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/SegRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/Tria.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/./TriaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/TriaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Elements/ElementHook.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/Option.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/Options.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/./GenericOption.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/./../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/./../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/././OptionUtilities.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/././../../shared/Exceptions/exceptions.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/././../../shared/Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/./././Option.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/GenericOption.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Options/OptionUtilities.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/Inputs.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/Input.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/BoolInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/./Input.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/DoubleInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/IntInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/PentaInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/PentaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/TriaInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/TriaRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/SegInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/../Elements/SegRef.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/ControlInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/DatasetInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Inputs/TransientInput.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/Results.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/ExternalResult.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../Node.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/GenericExternalResult.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/./ExternalResult.h:
+
+modules/SurfaceMassBalancex/./../../classes/./ExternalResults/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/Materials.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/Material.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/../Update.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/Matice.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/./Material.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/../Hook.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Materials/Matpar.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/GenericParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/./Param.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/./../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/./../Node.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/BoolParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DoubleMatParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DoubleTransientMatParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DoubleMatArrayParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DoubleParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DoubleVecParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/IntParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/IntVecParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/IntMatParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/FileParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/Parameters.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/Param.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/MatrixParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/VectorParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/StringArrayParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/StringParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/TransientParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Params/DataSetParam.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/matrixobjects.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/./ElementMatrix.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/./../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/./../../toolkits/toolkits.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/./../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./matrix/./ElementVector.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/gaussobjects.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/./Gauss.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussSeg.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/./../../shared/Numerics/types.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/././Gauss.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussTria.h:
+
+modules/SurfaceMassBalancex/./../../classes/./gauss/./GaussPenta.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/krigingobjects.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./Variogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./../../datastructures/datastructures.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./GaussianVariogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/././Variogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./ExponentialVariogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./SphericalVariogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./PowerVariogram.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./Quadtree.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./Observation.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./Observations.h:
+
+modules/SurfaceMassBalancex/./../../classes/./kriging/./../../shared/shared.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Hook.h:
+
+modules/SurfaceMassBalancex/./../../classes/./DofIndexing.h:
+
+modules/SurfaceMassBalancex/./../../classes/./IoModel.h:
+
+modules/SurfaceMassBalancex/./../../classes/./../shared/Enum/Enum.h:
+
+modules/SurfaceMassBalancex/./../../classes/./Update.h:
+
+modules/SurfaceMassBalancex/./../../classes/./FemModel.h:
+
+modules/SurfaceMassBalancex/./../../classes/./GiaDeflectionCoreArgs.h:
+
+modules/SurfaceMassBalancex/./../../classes/./RiftStruct.h:
+
+modules/SurfaceMassBalancex/../../shared/shared.h:
+
+modules/SurfaceMassBalancex/../../toolkits/toolkits.h:
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMRose_a-SurfaceMassBalancex.r2cpp.Po
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMRose_a-SurfaceMassBalancex.r2cpp.Po	(revision 17085)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/.deps/libISSMRose_a-SurfaceMassBalancex.r2cpp.Po	(revision 17085)
@@ -0,0 +1,1 @@
+# dummy
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 17085)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 17085)
@@ -0,0 +1,171 @@
+/*!\file SurfaceMassBalancex
+ * \brief: calculates SMB 
+ */
+
+#include "./SurfaceMassBalancex.h"
+#include "../../shared/shared.h"
+#include "../../toolkits/toolkits.h"
+
+void SurfaceMassBalancex(FemModel* femmodel){/*{{{*/
+
+	/*Intermediaties*/
+	int  smb_model;
+	bool isdelta18o;
+
+	/*First, get SMB model from parameters*/
+	femmodel->parameters->FindParam(&smb_model,SurfaceforcingsEnum);
+
+	/*branch to correct module*/
+	switch(smb_model){
+		case SMBEnum:
+			/*Nothing to be done*/
+			break;
+		case SMBpddEnum:
+			femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum);
+			if(isdelta18o){
+				if(VerboseSolution()) _printf0_("   call Delta18oParametrization module\n");
+				Delta18oParameterizationx(femmodel);
+			} 
+			if(VerboseSolution()) _printf0_("   call positive degree day module\n");
+			PositiveDegreeDayx(femmodel);
+			break;
+		case SMBgradientsEnum:
+			if(VerboseSolution())_printf_("	call smb gradients module\n");
+			SmbGradientsx(femmodel);
+			break;
+		case SMBhenningEnum:
+			if(VerboseSolution())_printf_("  call smb Henning module\n");
+			SmbHenningx(femmodel);
+		default:
+			_error_("Surface mass balance model "<<EnumToStringx(smb_model)<<" not supported yet");
+	}
+
+}/*}}}*/
+
+void SmbGradientsx(FemModel* femmodel){/*{{{*/
+
+	// void SurfaceMassBalancex(hd,agd,ni){
+	//    INPUT parameters: ni: working size of arrays
+	//    INPUT: surface elevation (m): hd(NA)
+	//    OUTPUT: mass-balance (m/yr ice): agd(NA)
+
+	for(int i=0;i<femmodel->elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+		element->SmbGradients();
+	}
+
+}/*}}}*/
+void Delta18oParameterizationx(FemModel* femmodel){/*{{{*/
+
+	for(int i=0;i<femmodel->elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+		element->Delta18oParameterization();
+	}
+
+}/*}}}*/
+void PositiveDegreeDayx(FemModel* femmodel){/*{{{*/
+
+	// void PositiveDegreeDayx(hd,vTempsea,vPrec,agd,Tsurf,ni){
+	//    note "v" prefix means 12 monthly means, ie time dimension
+	//    INPUT parameters: ni: working size of arrays
+	//    INPUT: surface elevation (m): hd(NA)
+	//    monthly mean surface sealevel temperature (degrees C): vTempsea(NA
+	//    ,NTIME) 
+	//    monthly mean precip rate (m/yr water equivalent): vPrec(NA,NTIME)
+	//    OUTPUT: mass-balance (m/yr ice): agd(NA)
+	//    mean annual surface temperature (degrees C): Tsurf(NA)
+
+	int    i, it, jj, itm;
+	IssmDouble DT = 0.02, sigfac, snormfac;
+	IssmDouble signorm = 5.5;      // signorm : sigma of the temperature distribution for a normal day 
+	IssmDouble siglim;       // sigma limit for the integration which is equal to 2.5 sigmanorm
+	IssmDouble signormc = signorm - 0.5;     // sigma of the temperature distribution for cloudy day
+	IssmDouble siglimc, siglim0, siglim0c;
+	IssmDouble tstep, tsint, tint, tstepc;
+	int    NPDMAX = 1504, NPDCMAX = 1454;
+	//IssmDouble pdds[NPDMAX]={0}; 
+	//IssmDouble pds[NPDCMAX]={0};
+	IssmDouble pddt, pd ; // pd : snow/precip fraction, precipitation falling as snow
+	IssmDouble PDup, PDCUT = 2.0;    // PDcut: rain/snow cutoff temperature (C)
+	IssmDouble tstar; // monthly mean surface temp
+
+	IssmDouble *pdds    = NULL;
+	IssmDouble *pds     = NULL;
+	Element    *element = NULL;
+
+	pdds=xNew<IssmDouble>(NPDMAX+1); 
+	pds=xNew<IssmDouble>(NPDCMAX+1); 
+
+	/* initialize PDD (creation of a lookup table)*/
+	tstep    = 0.1;
+	tsint    = tstep*0.5;
+	sigfac   = -1.0/(2.0*pow(signorm,2));
+	snormfac = 1.0/(signorm*sqrt(2.0*acos(-1.0)));
+	siglim   = 2.5*signorm;
+	siglimc  = 2.5*signormc;
+	siglim0  = siglim/DT + 0.5;
+	siglim0c = siglimc/DT + 0.5;
+	PDup     = siglimc+PDCUT;
+
+	itm = reCast<int,IssmDouble>((2*siglim/DT + 1.5));
+
+	if(itm >= NPDMAX) _error_("increase NPDMAX in massBalance.cpp");
+	for(it = 0; it < itm; it++){  
+		//    tstar = REAL(it)*DT-siglim;
+		tstar = it*DT-siglim;
+		tint = tsint;
+		pddt = 0.;
+		for ( jj = 0; jj < 600; jj++){
+			if (tint > (tstar+siglim)){break;}
+			pddt = pddt + tint*exp(sigfac*(pow((tint-tstar),2)))*tstep;
+			tint = tint+tstep;
+		}
+		pdds[it] = pddt*snormfac;
+	}
+	pdds[itm+1] = siglim + DT;
+
+	//*********compute PD(T) : snow/precip fraction. precipitation falling as snow
+	tstepc   = 0.1;
+	tsint    = PDCUT-tstepc*0.5;
+	signormc = signorm - 0.5;
+	sigfac   = -1.0/(2.0*pow(signormc,2));
+	snormfac = 1.0/(signormc*sqrt(2.0*acos(-1.0)));
+	siglimc  = 2.5*signormc ;
+	itm = reCast<int,IssmDouble>((PDCUT+2.*siglimc)/DT + 1.5);
+	if(itm >= NPDCMAX) _error_("increase NPDCMAX in p35com");
+	for(it = 0; it < itm; it++ ){
+		tstar = it*DT-siglimc;
+		//    tstar = REAL(it)*DT-siglimc;
+		tint = tsint;          // start against upper bound
+		pd = 0.;
+		for (jj = 0; jj < 600; jj++){
+			if (tint<(tstar-siglimc)) {break;}
+			pd = pd + exp(sigfac*(pow((tint-tstar),2)))*tstepc;
+			tint = tint-tstepc;
+		}
+		pds[it] = pd*snormfac;  // gaussian integral lookup table for snow fraction
+	}
+	pds[itm+1] = 0.;
+	//     *******END initialize PDD
+
+	for(i=0;i<femmodel->elements->Size();i++){
+		element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+		element->PositiveDegreeDay(pdds,pds,signorm);
+	}
+
+	/*free ressouces: */
+	xDelete<IssmDouble>(pdds);
+	xDelete<IssmDouble>(pds);
+}/*}}}*/
+void SmbHenningx(FemModel* femmodel){/*{{{*/
+
+	// void SurfaceMassBalancex(hd,agd,ni){
+	//    INPUT parameters: ni: working size of arrays
+	//    INPUT: surface elevation (m): hd(NA)
+	//    OUTPUT: mass-balance (m/yr ice): agd(NA)
+
+	for(int i=0;i<femmodel->elements->Size();i++){
+		Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
+	}
+
+}/*}}}*/
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h	(revision 17085)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.h	(revision 17085)
@@ -0,0 +1,17 @@
+/*!\file:  SurfaceMassBalancex.h
+ * \brief header file for SMB
+ */ 
+
+#ifndef _SurfaceMassBalancex_H
+#define _SurfaceMassBalancex_H
+
+#include "../../classes/classes.h"
+
+/* local prototypes: */
+void SurfaceMassBalancex(FemModel* femmodel);
+void SmbGradientsx(FemModel* femmodel);
+void Delta18oParameterizationx(FemModel* femmodel);
+void PositiveDegreeDayx(FemModel* femmodel);
+void SmbHenningx(FemModel* femmodel);
+
+#endif  /* _SurfaceMassBalancex_H*/
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 17084)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 17085)
@@ -24,5 +24,4 @@
 #include "./CreateNodalConstraintsx/CreateNodalConstraintsx.h"
 #include "./CreateJacobianMatrixx/CreateJacobianMatrixx.h"
-#include "./Delta18oParameterizationx/Delta18oParameterizationx.h"
 #include "./DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h"
 #include "./ElementConnectivityx/ElementConnectivityx.h"
@@ -75,5 +74,4 @@
 #include "./ConstraintsStatex/ConstraintsStatex.h"
 #include "./PointCloudFindNeighborsx/PointCloudFindNeighborsx.h"
-#include "./PositiveDegreeDayx/PositiveDegreeDayx.h"
 #include "./PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h"
 #include "./Reduceloadx/Reduceloadx.h"
@@ -85,5 +83,5 @@
 #include "./Scotchx/Scotchx.h"
 #include "./Shp2Kmlx/Shp2Kmlx.h"
-#include "./SmbGradientsx/SmbGradientsx.h"
+#include "./SurfaceMassBalancex/SurfaceMassBalancex.h"
 #include "./Solverx/Solverx.h"
 #include "./SystemMatricesx/SystemMatricesx.h"
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17084)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 17085)
@@ -297,5 +297,5 @@
 	SurfaceforcingsBPosEnum,
 	SurfaceforcingsBNegEnum,
-	SMBlapserate,
+	SMBhenningEnum,
 	/*TO BE REMOVED*/
 	SurfaceforcingsIspddEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 17085)
@@ -301,4 +301,5 @@
 		case SurfaceforcingsBPosEnum : return "SurfaceforcingsBPos";
 		case SurfaceforcingsBNegEnum : return "SurfaceforcingsBNeg";
+		case SMBhenningEnum : return "SMBhenning";
 		case SurfaceforcingsIspddEnum : return "SurfaceforcingsIspdd";
 		case SurfaceforcingsIssmbgradientsEnum : return "SurfaceforcingsIssmbgradients";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17084)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 17085)
@@ -307,4 +307,5 @@
 	      else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum;
 	      else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum;
+	      else if (strcmp(name,"SMBhenning")==0) return SMBhenningEnum;
 	      else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;
 	      else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;
@@ -382,9 +383,9 @@
 	      else if (strcmp(name,"AdolcParam")==0) return AdolcParamEnum;
 	      else if (strcmp(name,"BoolInput")==0) return BoolInputEnum;
-	      else if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
          else stage=4;
    }
    if(stage==4){
-	      if (strcmp(name,"Contour")==0) return ContourEnum;
+	      if (strcmp(name,"BoolParam")==0) return BoolParamEnum;
+	      else if (strcmp(name,"Contour")==0) return ContourEnum;
 	      else if (strcmp(name,"ControlInput")==0) return ControlInputEnum;
 	      else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum;
@@ -505,9 +506,9 @@
 	      else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum;
 	      else if (strcmp(name,"ThicknessAbsGradient")==0) return ThicknessAbsGradientEnum;
-	      else if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;
          else stage=5;
    }
    if(stage==5){
-	      if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;
+	      if (strcmp(name,"ThicknessAlongGradient")==0) return ThicknessAlongGradientEnum;
+	      else if (strcmp(name,"ThicknessAcrossGradient")==0) return ThicknessAcrossGradientEnum;
 	      else if (strcmp(name,"IntMatParam")==0) return IntMatParamEnum;
 	      else if (strcmp(name,"RheologyBbarAbsGradient")==0) return RheologyBbarAbsGradientEnum;
@@ -628,9 +629,9 @@
 	      else if (strcmp(name,"TriangleInterp")==0) return TriangleInterpEnum;
 	      else if (strcmp(name,"BilinearInterp")==0) return BilinearInterpEnum;
-	      else if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
          else stage=6;
    }
    if(stage==6){
-	      if (strcmp(name,"XY")==0) return XYEnum;
+	      if (strcmp(name,"NearestInterp")==0) return NearestInterpEnum;
+	      else if (strcmp(name,"XY")==0) return XYEnum;
 	      else if (strcmp(name,"XYZ")==0) return XYZEnum;
 	      else if (strcmp(name,"Dense")==0) return DenseEnum;
