Index: sm/trunk-jpl/CMakeLists.txt
===================================================================
--- /issm/trunk-jpl/CMakeLists.txt	(revision 17585)
+++ 	(revision )
@@ -1,57 +1,0 @@
-# CMake version check. Version 2.6 is considered standard.
-cmake_minimum_required (VERSION 2.6) 
-
-# Project Information {{{
-# Project Name
-project(ISSM) 
-set(ISSM_VERSION_MAJOR 4)
-set(ISSM_VERSION_MINOR 1)
-# }}}
-# Contact Information {{{
-set(ISSM_EMAIL "issm@jpl.nasa.gov")
-set(ISSM_WEBSITE "http://issm.jpl.nasa.gov")
-# }}}
-
-# CMake Modules {{{
-include(CheckLanguage)
-include(./m4/issm_options.cmake)
-# }}}
-
-# Language Checks {{{
-
-# 'C' language check.
-include(CheckLanguage)
-
-check_language(C)
-if(CMAKE_C_COMPILER)
-   enable_language(C)
-else(CMAKE_C_COMPILER)
-   message(FATAL_ERROR "No C support found!")
-endif(CMAKE_C_COMPILER)
-
-# 'C++' language check.
-check_language(CXX)
-if(CMAKE_CXX_COMPILER)
-   enable_language(CXX)
-else(CMAKE_CXX_COMPILER)
-   message(FATA_ERROR "No C++ support found!")
-endif(CMAKE_CXX_COMPILER)
-
-# 'Fortran' language check.
-#check_language(Fortran)
-#if(CMAKE_Fortran_COMPILER)
-#   enable_language(Fortran)
-#else(CMAKE_Fortran_COMPILER)
-#   message(FATA_ERROR "No Fortran support")
-#endif(CMAKE_Fortran_COMPILER)
-# }}}
-
-# Subdirectories {{{
-add_subdirectory(src) 
-# }}}
-
-# Options {{{
-option(SHARED_LIBS "Set whether to produce shared libraries, or not. Default is no."
-       OFF)
-# Questionable whether all options should be contained within this file or included from some other file.
-# }}}
Index: sm/trunk-jpl/m4/issm_options.cmake
===================================================================
--- /issm/trunk-jpl/m4/issm_options.cmake	(revision 17585)
+++ 	(revision )
@@ -1,37 +1,0 @@
-# ISSM Options {{{
-option(DAKOTA "DAKOTA" OFF)
-option(PETSC "PETSC" OFF)
-option(MUMPS "MUMPS" OFF)
-#option(GSL "GSL" OFF)
-option(TRANSIENT "TRANSIENT" ON)
-option(STEADYSTATE "STEADYSTATE" ON)
-option(PROGNOSTIC "PROGNOSTIC" ON)
-option(THERMAL "THERMAL" ON)
-option(GIA "GIA" OFF)
-option(CONTROL "CONTROL" ON)
-option(HYDROLOGY "HYDROLOGY" ON)
-option(DIAGNOSTIC "DIAGNOSTIC" ON)
-option(BALANCED "BALANCED" ON)
-option(SLOPE "SLOPE" ON)
-option(GROUNDINGLINE "GROUNDINGLINE" ON)
-option(RIFTS "RIFTS" ON)
-option(ANDROID "ANDROID" OFF)
-option(THREED "THREED" ON)
-option(MPI "MPI" OFF)
-option(METIS "METIS" OFF)
-option(KRIGING "KRIGING" OFF)
-# }}}
-
-if(NOT GSL_DIR)
-    message(FATAL_ERROR "Non GSL build not supported")
-else(NOT GSL_DIR)
-    find_path(GSL lib ${GSL_DIR})
-
-    if(GSL)
-        message("Found GSL: ${GSL_DIR}")
-        set(GSL_INC_DIR ${GSL_DIR}/include)
-        set(GSL_LIB_DIR ${GSL_DIR}/lib)
-    else(GSL)
-        message(FATAL_ERROR "GSL installation directory not found!")
-    endif(GSL)
-endif(NOT GSL_DIR)
Index: sm/trunk-jpl/src/CMakeLists.txt
===================================================================
--- /issm/trunk-jpl/src/CMakeLists.txt	(revision 17585)
+++ 	(revision )
@@ -1,8 +1,0 @@
-# Subdirectories {{{
-add_subdirectory(c)
-#add_subdirectory(m)
-#add_subdirectory(wrappers)
-#Android Dir {{{
-# add_subdirectory(android)
-#}}}
-# }}}
Index: sm/trunk-jpl/src/c/CMakeLists.txt
===================================================================
--- /issm/trunk-jpl/src/c/CMakeLists.txt	(revision 17585)
+++ 	(revision )
@@ -1,728 +1,0 @@
-# config.h {{{
-set(CPP_FLAGS -DHAVE_CONFIG_H)
-# }}}
-# Include Directory {{{
-include_directories(AFTER $ENV{ISSM_DIR}/ 
-                          $ENV{ISSM_DIR}/src/c 
-                          $ENV{ISSM_DIR}/src/c/main 
-                          $ENV{ISSM_DIR}/src/c/datastructure 
-                          $ENV{ISSM_DIR}/src/c/classes 
-                          $ENV{ISSM_DIR}/src/c/classes/Options 
-                          $ENV{ISSM_DIR}/src/c/classes/ExternalResults 
-                          $ENV{ISSM_DIR}/src/c/classes/Elements 
-                          $ENV{ISSM_DIR}/src/c/classes/Inputs 
-                          $ENV{ISSM_DIR}/src/c/classes/Materials 
-                          $ENV{ISSM_DIR}/src/c/classes/Constraints 
-                          $ENV{ISSM_DIR}/src/c/classes/Loads 
-                          $ENV{ISSM_DIR}/src/c/classes/matrix 
-                          $ENV{ISSM_DIR}/src/c/classes/Params 
-                          $ENV{ISSM_DIR}/src/c/classes/Params 
-                          $ENV{ISSM_DIR}/src/c/shared 
-                          $ENV{ISSM_DIR}/src/c/shared/MemOps 
-                          $ENV{ISSM_DIR}/src/c/shared/Matrix 
-                          $ENV{ISSM_DIR}/src/c/shared/io 
-                          $ENV{ISSM_DIR}/src/c/shared/io/Disk 
-                          $ENV{ISSM_DIR}/src/c/shared/io/Print 
-                          $ENV{ISSM_DIR}/src/c/shared/io/Comm 
-                          $ENV{ISSM_DIR}/src/c/shared/LatLong 
-                          $ENV{ISSM_DIR}/src/c/shared/Enum 
-                          $ENV{ISSM_DIR}/src/c/shared/Numerics 
-                          $ENV{ISSM_DIR}/src/c/shared/Exceptions 
-                          $ENV{ISSM_DIR}/src/c/shared/Sorting 
-                          $ENV{ISSM_DIR}/src/c/shared/Elements 
-                          $ENV{ISSM_DIR}/src/c/shared/String 
-                          $ENV{ISSM_DIR}/src/c/toolkits 
-                          $ENV{ISSM_DIR}/src/c/toolkits/metis 
-                          $ENV{ISSM_DIR}/src/c/toolkits/issm 
-                          $ENV{ISSM_DIR}/src/c/toolkits/adolc 
-                          $ENV{ISSM_DIR}/src/c/toolkits/triangle 
-                          $ENV{ISSM_DIR}/src/c/toolkits/objects 
-                          $ENV{ISSM_DIR}/src/c/modules 
-                          $ENV{ISSM_DIR}/src/c/modules/ModelProcessorx 
-                          $ENV{ISSM_DIR}/src/c/modules/ParseToolkitsOptionsx 
-                          $ENV{ISSM_DIR}/src/c/modules/NodesDofx 
-                          $ENV{ISSM_DIR}/src/c/modules/NodalValuex 
-                          $ENV{ISSM_DIR}/src/c/modules/VerticesDofx 
-                          $ENV{ISSM_DIR}/src/c/modules/VertexCoordinatesx 
-                          $ENV{ISSM_DIR}/src/c/modules/OutputResultsx 
-                          $ENV{ISSM_DIR}/src/c/modules/InputDuplicatex 
-                          $ENV{ISSM_DIR}/src/c/modules/InputScalex 
-                          $ENV{ISSM_DIR}/src/c/modules/SurfaceAreax 
-                          $ENV{ISSM_DIR}/src/c/modules/CreateNodalConstraintsx 
-                          $ENV{ISSM_DIR}/src/c/modules/UpdateDynamicConstraintsx 
-                          $ENV{ISSM_DIR}/src/c/modules/IoModelToConstraintsx 
-                          $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromConstantx 
-                          $ENV{ISSM_DIR}/src/c/modules/GetSolutionFromInputsx 
-                          $ENV{ISSM_DIR}/src/c/modules/GetVectorFromInputsx 
-                          $ENV{ISSM_DIR}/src/c/modules/InputUpdateFromVectorx 
-                          $ENV{ISSM_DIR}/src/c/modules/ConfigureObjectsx 
-                          $ENV{ISSM_DIR}/src/c/modules/ComputeBasalStressx 
-                          $ENV{ISSM_DIR}/src/c/modules/ComputeStrainRatex 
-                          $ENV{ISSM_DIR}/src/c/modules/SpcNodesx 
-                          $ENV{ISSM_DIR}/src/c/modules/PositiveDegreeDayx 
-                          $ENV{ISSM_DIR}/src/c/modules/Delta18oParameterizationx 
-                          $ENV{ISSM_DIR}/src/c/modules/SmbGradientsx 
-                          $ENV{ISSM_DIR}/src/c/modules/MeshPartitionx 
-                          $ENV{ISSM_DIR}/src/c/modules/Reducevectorgtofx 
-                          $ENV{ISSM_DIR}/src/c/modules/Reduceloadx 
-                          $ENV{ISSM_DIR}/src/c/modules/ConstraintsStatex 
-                          $ENV{ISSM_DIR}/src/c/modules/ResetConstraintsx 
-                          $ENV{ISSM_DIR}/src/c/modules/ResetCoordinateSystemx 
-                          $ENV{ISSM_DIR}/src/c/modules/Solverx 
-                          $ENV{ISSM_DIR}/src/c/modules/VecMergex 
-                          $ENV{ISSM_DIR}/src/c/modules/Mergesolutionfromftogx 
-                          $ENV{ISSM_DIR}/src/c/cores 
-                          $ENV{ISSM_DIR}/src/c/solutionsequences 
-                          $ENV{ISSM_DIR}/src/c/solutionsequences)
-# }}}
-
-# Core Sources {{{
-set(core_sources   	./datastructures/DataSet.cpp
-					./classes/gauss/GaussTria.cpp
-					./classes/FemModel.cpp
-					./classes/Loads/Friction.cpp
-					./classes/Inputs/TransientInput.cpp
-					./classes/Constraints/SpcTransient.cpp
-					./classes/IndependentObject.cpp
-					./classes/DependentObject.cpp
-					./classes/DofIndexing.cpp
-					./classes/IoModel.cpp
-					./classes/Contours.cpp
-					./classes/Nodes.cpp
-					./classes/Vertices.cpp
-					./classes/Node.cpp
-					./classes/Vertex.cpp
-					./classes/Hook.cpp
-					./classes/ExternalResults/Results.cpp
-					./classes/Elements/Elements.cpp
-					./classes/Elements/ElementHook.cpp
-					./classes/Elements/Tria.cpp
-					./classes/Elements/TriaRef.cpp
-					./classes/Inputs/Inputs.cpp
-					./classes/Inputs/TriaInput.cpp
-					./classes/Inputs/BoolInput.cpp
-					./classes/Inputs/IntInput.cpp
-					./classes/Inputs/DoubleInput.cpp
-					./classes/Inputs/DatasetInput.cpp
-					./classes/Materials/Materials.cpp
-					./classes/Materials/Matice.cpp
-					./classes/Materials/Matdamageice.cpp
-					./classes/Materials/Matpar.cpp
-					./classes/Constraints/Constraints.cpp
-					./classes/Constraints/SpcStatic.cpp
-					./classes/Constraints/SpcDynamic.cpp
-					./classes/Loads/Loads.cpp
-					./classes/Loads/Penpair.cpp
-					./classes/Loads/Pengrid.cpp
-					./classes/Loads/Icefront.cpp
-					./classes/Loads/Numericalflux.cpp
-					./classes/matrix/ElementMatrix.cpp
-					./classes/matrix/ElementVector.cpp
-					./classes/Params/Parameters.cpp
-					./classes/Params/BoolParam.cpp
-					./classes/Params/IntParam.cpp
-					./classes/Params/IntVecParam.cpp
-					./classes/Params/IntMatParam.cpp
-					./classes/Params/DoubleParam.cpp
-					./classes/Params/FileParam.cpp
-					./classes/Params/StringArrayParam.cpp
-					./classes/Params/DoubleMatParam.cpp
-					./classes/Params/DoubleTransientMatParam.cpp
-					./classes/Params/DoubleMatArrayParam.cpp
-					./classes/Params/DoubleVecParam.cpp
-					./classes/Params/StringParam.cpp
-					./classes/Params/MatrixParam.cpp
-					./classes/Params/VectorParam.cpp
-					./classes/Params/TransientParam.cpp
-					./classes/Params/DataSetParam.cpp
-					./classes/Profiler.cpp
-					./shared/Matrix/MatrixUtils.cpp
-					./shared/io/Disk/pfopen.cpp
-					./shared/io/Disk/pfclose.cpp
-					./shared/io/Disk/WriteLockFile.cpp
-					./shared/io/Print/PrintfFunction.cpp
-					./shared/io/Comm/IssmComm.cpp
-					./shared/LatLong/Ll2xyx.cpp
-					./shared/LatLong/Xy2llx.cpp
-					./shared/Enum/EnumToStringx.cpp
-					./shared/Enum/StringToEnumx.cpp
-					./shared/Numerics/Verbosity.cpp
-					./shared/Numerics/GaussPoints.cpp
-					./shared/Numerics/cross.cpp
-					./shared/Numerics/isnan.cpp
-					./shared/Numerics/cubic.cpp
-					./shared/Numerics/extrema.cpp
-					./shared/Numerics/XZvectorsToCoordinateSystem.cpp
-					./shared/Exceptions/Exceptions.cpp
-					./shared/Exceptions/exprintf.cpp
-					./shared/Sorting/binary_search.cpp
-					./shared/Elements/Paterson.cpp
-					./shared/Elements/Arrhenius.cpp
-					./shared/Elements/PrintArrays.cpp
-					./shared/Elements/PddSurfaceMassBalance.cpp
-					./shared/Elements/ComputeDelta18oTemperaturePrecipitation.cpp
-					./shared/String/DescriptorIndex.cpp
-					./toolkits/issm/IssmToolkitUtils.cpp
-					./toolkits/issm/IssmSolver.cpp
-					./toolkits/ToolkitOptions.cpp
-					./modules/ModelProcessorx/ModelProcessorx.cpp
-					./modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
-					./modules/ModelProcessorx/NodesPartitioning.cpp
-					./modules/ModelProcessorx/EdgesPartitioning.cpp
-					./modules/ModelProcessorx/SortDataSets.cpp
-					./modules/ModelProcessorx/UpdateCounters.cpp
-					./modules/ModelProcessorx/CreateDataSets.cpp
-					./modules/ModelProcessorx/CreateParameters.cpp
-					./modules/ModelProcessorx/Autodiff/CreateParametersAutodiff.cpp
-					./modules/ModelProcessorx/CreateEdges.cpp
-					./modules/ModelProcessorx/CreateElementToEdgeConnectivity.cpp
-					./modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
-					./modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
-					./modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
-					./modules/ModelProcessorx/CreateNodes.cpp
-					./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.cpp
-					./modules/NodesDofx/NodesDofx.cpp
-					./modules/NodalValuex/NodalValuex.cpp
-					./modules/VerticesDofx/VerticesDofx.cpp
-					./modules/VertexCoordinatesx/VertexCoordinatesx.cpp
-					./modules/OutputResultsx/OutputResultsx.cpp
-					./modules/InputDuplicatex/InputDuplicatex.cpp
-					./modules/InputScalex/InputScalex.cpp
-					./modules/SurfaceAreax/SurfaceAreax.cpp
-					./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.cpp
-					./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.cpp
-					./modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp
-					./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp
-					./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.cpp
-					./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.cpp
-					./modules/GetVectorFromInputsx/GetVectorFromInputsx.cpp
-					./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.cpp
-					./modules/ConfigureObjectsx/ConfigureObjectsx.cpp
-					./modules/ComputeBasalStressx/ComputeBasalStressx.cpp
-					./modules/ComputeStrainRatex/ComputeStrainRatex.cpp
-					./modules/SpcNodesx/SpcNodesx.cpp
-					./modules/PositiveDegreeDayx/PositiveDegreeDayx.cpp
-					./modules/Delta18oParameterizationx/Delta18oParameterizationx.cpp
-					./modules/SmbGradientsx/SmbGradientsx.cpp
-					./modules/Reducevectorgtofx/Reducevectorgtofx.cpp
-					./modules/Reduceloadx/Reduceloadx.cpp
-					./modules/ConstraintsStatex/ConstraintsStatex.cpp
-					./modules/ResetConstraintsx/ResetConstraintsx.cpp
-					./modules/ResetCoordinateSystemx/ResetCoordinateSystemx.cpp
-					./modules/Solverx/Solverx.cpp
-					./modules/VecMergex/VecMergex.cpp
-					./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.cpp
-					./cores/ProcessArguments.cpp
-					./cores/ResetBoundaryConditions.cpp
-					./cores/AnalysisConfiguration.cpp
-					./cores/WrapperCorePointerFromSolutionEnum.cpp
-					./cores/CorePointerFromSolutionEnum.cpp
-					./cores/EnvironmentInit.cpp
-					./cores/EnvironmentFinalize.cpp
-					./cores/ad_core.cpp
-					./solutionsequences/solutionsequence_linear.cpp
-					./solutionsequences/solutionsequence_nonlinear.cpp
-					./solutionsequences/solutionsequence_newton.cpp
-					./solutionsequences/convergence.cpp
-					./classes/Options/Options.cpp
-					./classes/Options/OptionUtilities.cpp
-					./classes/RiftStruct.cpp)
-set(issm_sources ${core_sources})
-# }}}
-
-# DAKOTA sources  {{{
-set(dakota_sources 				  ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.cpp
-					  				  ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.cpp
-					  				  ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.cpp
-					  ./modules/AverageOntoPartitionx/AverageOntoPartitionx.cpp
-					  				  ./modules/ModelProcessorx/Dakota/CreateParametersDakota.cpp
-					  ./cores/dakota_core.cpp
-					  				  ./cores/DakotaSpawnCore.cpp)
-#}}}
-#Transient sources  {{{
-set(transient_sources ./modules/ModelProcessorx/Transient/UpdateElementsTransient.cpp 
-							./cores/transient_core.cpp)
-#}}}
-#Steadystate sources  {{{
-set(steadystate_sources ./cores/steadystate_core.cpp)
-#}}}
-#Prognostic sources  {{{
-set(prognostic_sources ./modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
-					      ./modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
-					      ./modules/ModelProcessorx/Prognostic/CreateConstraintsPrognostic.cpp
-					      ./modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
-							./cores/prognostic_core.cpp)
-#}}}
-#Thermal sources  {{{
-set(thermal_sources ./modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
-					   ./modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
-					   ./modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
-					   ./modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
-					   ./modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
-					   ./modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp
-					   ./modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
-					   ./modules/ModelProcessorx/Enthalpy/CreateLoadsEnthalpy.cpp
-					   ./modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
-					   ./modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
-					   ./modules/ModelProcessorx/Melting/CreateConstraintsMelting.cpp
-					   ./modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
-					   ./modules/ConstraintsStatex/ThermalConstraintsState.cpp
-					   ./modules/ConstraintsStatex/ThermalIsPresent.cpp
-					   ./modules/ResetConstraintsx/ThermalConstraintsReset.cpp 
-					   ./cores/thermal_core.cpp
-					   ./solutionsequences/solutionsequence_thermal_nonlinear.cpp)
-#}}}
-#Control sources  {{{
-set(control_sources ./modules/ControlInputGetGradientx/ControlInputGetGradientx.cpp
-					  				  ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp
-					  				  ./modules/ControlInputScaleGradientx/ControlInputScaleGradientx.cpp
-					  				  ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.cpp
-					  				  ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.cpp
-					  				  ./modules/ModelProcessorx/Control/CreateParametersControl.cpp
-					  ./modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp
-					  				  ./modules/InputControlUpdatex/InputControlUpdatex.cpp
-					  				  ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.cpp
-					  				  ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.cpp
-					  				  ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.cpp
-					  				  ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.cpp
-					  				  ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.cpp
-					  				  ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.cpp
-					  				  ./modules/Orthx/Orthx.cpp
-					  				  ./modules/Gradjx/Gradjx.cpp
-					  ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.cpp
-					  				  ./modules/ThicknessAlongGradientx/ThicknessAlongGradientx.cpp
-					  				  ./modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.cpp
-					  				  ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.cpp
-					  				  				  ./classes/Inputs/ControlInput.cpp
-					  ./shared/Numerics/BrentSearch.cpp
-					  ./shared/Numerics/OptimalSearch.cpp 
-					  ./cores/control_core.cpp
-					  ./cores/controltao_core.cpp
-					  ./cores/objectivefunction.cpp
-					  ./cores/gradient_core.cpp
-					  ./cores/adjointdiagnostic_core.cpp
-					  ./cores/adjointbalancethickness_core.cpp
-					  ./cores/AdjointCorePointerFromSolutionEnum.cpp
-					  ./solutionsequences/solutionsequence_adjoint_linear.cpp)
-#}}}
-#Hydrology sources  {{{
-set(hydrology_sources  ./modules/ModelProcessorx/HydrologyShreve/UpdateElementsHydrologyShreve.cpp
-					      ./modules/ModelProcessorx/HydrologyShreve/CreateNodesHydrologyShreve.cpp
-					      ./modules/ModelProcessorx/HydrologyShreve/CreateConstraintsHydrologyShreve.cpp
-					      ./modules/ModelProcessorx/HydrologyShreve/CreateLoadsHydrologyShreve.cpp 
-							./modules/ModelProcessorx/HydrologyShreve/CreateParametersHydrologyShreve.cpp 
-							./modules/ModelProcessorx/HydrologyDCInefficient/UpdateElementsHydrologyDCInefficient.cpp
-							./modules/ModelProcessorx/HydrologyDCInefficient/CreateNodesHydrologyDCInefficient.cpp
-							./modules/ModelProcessorx/HydrologyDCInefficient/CreateConstraintsHydrologyDCInefficient.cpp
-							./modules/ModelProcessorx/HydrologyDCInefficient/CreateLoadsHydrologyDCInefficient.cpp 
-							./modules/ModelProcessorx/HydrologyDCInefficient/CreateParametersHydrologyDCInefficient.cpp 
-							./modules/ModelProcessorx/HydrologyDCEfficient/UpdateElementsHydrologyDCEfficient.cpp
-							./modules/ModelProcessorx/HydrologyDCEfficient/CreateNodesHydrologyDCEfficient.cpp
-							./modules/ModelProcessorx/HydrologyDCEfficient/CreateConstraintsHydrologyDCEfficient.cpp
-							./modules/ModelProcessorx/HydrologyDCEfficient/CreateLoadsHydrologyDCEfficient.cpp 
-							./modules/ModelProcessorx/HydrologyDCEfficient/CreateParametersHydrologyDCEfficient.cpp 
-							./cores/hydrology_core.cpp
-							./solutionsequences/solutionsequence_hydro_nonlinear.cpp)
-#}}}
-#Diagnostic sources  {{{
-set(diagnostic_sources ./modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
-					      ./modules/ModelProcessorx/DiagnosticHoriz/CreateNodesDiagnosticHoriz.cpp 
-					      ./modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp 
-					      ./modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
-					      ./modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
-					      ./modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp 
-					      ./modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp 
-					      ./modules/ModelProcessorx/DiagnosticVert/CreateLoadsDiagnosticVert.cpp
-					      ./modules/ModelProcessorx/DiagnosticHutter/UpdateElementsDiagnosticHutter.cpp
-					      ./modules/ModelProcessorx/DiagnosticHutter/CreateNodesDiagnosticHutter.cpp 
-					      ./modules/ModelProcessorx/DiagnosticHutter/CreateConstraintsDiagnosticHutter.cpp 
-							./modules/ModelProcessorx/DiagnosticHutter/CreateLoadsDiagnosticHutter.cpp 
-							./cores/diagnostic_core.cpp
-							./solutionsequences/solutionsequence_stokescoupling_nonlinear.cpp)
-#}}}
-#Balanced sources  {{{
-set(balanced_sources ./modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
-					    ./modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
-					    ./modules/ModelProcessorx/Balancethickness/CreateConstraintsBalancethickness.cpp
-						 ./modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
-						 ./cores/balancethickness_core.cpp 
-						 ./cores/dummy_core.cpp)
-#}}}
-#Slope sources  {{{
-set(slope_sources  ./modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp
-					  ./modules/ModelProcessorx/BedSlope/CreateNodesBedSlope.cpp 
-					  ./modules/ModelProcessorx/BedSlope/CreateConstraintsBedSlope.cpp
-					  ./modules/ModelProcessorx/BedSlope/CreateLoadsBedSlope.cpp
-					  ./modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp
-					  ./modules/ModelProcessorx/SurfaceSlope/CreateNodesSurfaceSlope.cpp 
-					  ./modules/ModelProcessorx/SurfaceSlope/CreateConstraintsSurfaceSlope.cpp
-					  ./modules/ModelProcessorx/SurfaceSlope/CreateLoadsSurfaceSlope.cpp
-					  ./cores/surfaceslope_core.cpp
-					  ./cores/bedslope_core.cpp)
-#}}}
-#Gia sources  {{{
-set(gia_sources  ./cores/gia_core.cpp
-					./modules/ModelProcessorx/Gia/UpdateElementsGia.cpp
-					./modules/ModelProcessorx/Gia/CreateNodesGia.cpp 
-					./modules/ModelProcessorx/Gia/CreateConstraintsGia.cpp
-					./modules/ModelProcessorx/Gia/CreateLoadsGia.cpp
-					./modules/GiaDeflectionCorex/GiaDeflectionCorex.cpp
-									./modules/GiaDeflectionCorex/distme.f
-					./modules/GiaDeflectionCorex/freed.f
-					./modules/GiaDeflectionCorex/ojrule.f
-					./modules/GiaDeflectionCorex/pwise.f
-					./modules/GiaDeflectionCorex/qwise.f
-					./modules/GiaDeflectionCorex/stot.f
-					./modules/GiaDeflectionCorex/what0.f
-					)
-#}}}
-#Groundingline sources  {{{
-set(groundingline_sources ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp
-					        )
-#}}}
-#Rifts sources  {{{
-set(rifts_sources ./classes/Loads/Riftfront.cpp
-				    			    ./modules/ConstraintsStatex/RiftConstraintsState.cpp)
-#}}}
-#Android sources  {{{
-set(android_sources )
-#}}}
-#3D sources  {{{
-set(threed_sources 			     ./classes/gauss/GaussPenta.cpp
-				     			     ./classes/Inputs/PentaInput.cpp
-				     			     ./classes/Elements/Penta.cpp
-				     			     ./classes/Elements/PentaRef.cpp)
-#}}}
-#Bamg sources  {{{
-set(bamg_sources  						./bamg/BamgGeom.cpp
-							./bamg/BamgMesh.cpp
-							./bamg/BamgOpts.cpp
-							./bamg/CrackedEdge.cpp
-							./bamg/Curve.cpp
-							./bamg/Direction.cpp
-										./bamg/Edge.cpp
-							./bamg/GeomEdge.cpp
-							./bamg/GeomSubDomain.cpp
-							./bamg/GeomVertex.cpp
-				./bamg/Geometry.cpp
-							./bamg/ListofIntersectionTriangles.cpp
-							./bamg/EigenMetric.cpp
-				./bamg/Metric.cpp
-							./bamg/BamgQuadtree.cpp
-										./bamg/SetOfE4.cpp
-										./bamg/SubDomain.cpp
-							./bamg/AdjacentTriangle.cpp
-				./bamg/Triangle.cpp
-				./bamg/det.h 
-							./bamg/BamgVertex.cpp
-										./bamg/VertexOnEdge.cpp
-							./bamg/VertexOnGeom.cpp
-							./bamg/VertexOnVertex.cpp
-				./bamg/Mesh.cpp
-							./shared/Bamg/Abs.h 
-							./shared/Bamg/BigPrimeNumber.cpp
-				./shared/Bamg/BinaryRand.h 
-				./shared/Bamg/Exchange.h 
-				./shared/Bamg/extrema.h 
-				./shared/Bamg/HeapSort.h 
-				./shared/Bamg/OppositeAngle.h 
-				./modules/Bamgx/Bamgx.cpp
-							./modules/BamgConvertMeshx/BamgConvertMeshx.cpp
-							./modules/BamgTriangulatex/BamgTriangulatex.cpp
-				)
-#}}}
-#Kriging sources  {{{
-set(kriging_sources 					./classes/kriging/Observations.cpp
-						./classes/kriging/Variogram.h 
-											./classes/kriging/GaussianVariogram.cpp
-											./classes/kriging/ExponentialVariogram.cpp
-											./classes/kriging/SphericalVariogram.cpp
-											./classes/kriging/PowerVariogram.cpp
-											./classes/kriging/Quadtree.cpp
-											./classes/kriging/Observation.cpp
-						./modules/Krigingx/Krigingx.cpp
-						./modules/Krigingx/Kriging
-#For parallel kriging, only difference is ./modules/Krigingx/pKrigingx.cpp with no multithreading
-set(pkriging_sources 					./classes/kriging/Observations.cpp
-						./classes/kriging/Variogram.h 
-											./classes/kriging/GaussianVariogram.cpp
-											./classes/kriging/ExponentialVariogram.cpp
-											./classes/kriging/SphericalVariogram.cpp
-											./classes/kriging/PowerVariogram.cpp
-											./classes/kriging/Quadtree.cpp
-											./classes/kriging/Observation.cpp
-						./modules/Krigingx/pKrigingx.cpp
-						)
-#}}}
-#Kml sources  {{{
-set(kml_sources 		     ./modules/Exp2Kmlx/Exp2Kmlx.cpp
-			     		     ./modules/Kml2Expx/Kml2Expx.cpp
-			     		     ./modules/Shp2Expx/Shp2Expx.cpp
-			     		     ./modules/Shp2Kmlx/Shp2Kmlx.cpp
-			     		     ./modules/KMLFileReadx/KMLFileReadx.cpp
-			     		     ./modules/KMLMeshWritex/KMLMeshWritex.cpp
-			     		     ./modules/KMLOverlayx/KMLOverlayx.cpp
-			     		     ./kml/KML_Attribute.cpp
-			     		     ./kml/KML_Comment.cpp
-			     		     ./kml/KML_ColorStyle.cpp
-			     		     ./kml/KML_Container.cpp
-			     		     ./kml/KML_Document.cpp
-			     		     ./kml/KML_Feature.cpp
-			     		     ./kml/KML_File.cpp
-			     		     ./kml/KML_Folder.cpp
-			     		     ./kml/KML_Geometry.cpp
-			     		     ./kml/KML_GroundOverlay.cpp
-			     		     ./kml/KML_Icon.cpp
-			     		     ./kml/KML_LatLonBox.cpp
-		  	     		     ./kml/KML_LinearRing.cpp
-			     		     ./kml/KML_LineString.cpp
-			     		     ./kml/KML_LineStyle.cpp
-			     		     ./kml/KML_MultiGeometry.cpp
-			     		     ./kml/KML_Object.cpp
-			     		     ./kml/KML_Overlay.cpp
-			     		     ./kml/KML_Point.cpp
-			     		     ./kml/KML_Placemark.cpp
-			     		     ./kml/KML_Polygon.cpp
-			     		     ./kml/KML_PolyStyle.cpp
-			     		     ./kml/KML_Style.cpp
-			     		     ./kml/KML_StyleSelector.cpp
-			     		     ./kml/KML_SubStyle.cpp
-			     		     ./kml/KML_Unknown.cpp
-			     		     ./kml/KMLFileReadUtils.cpp
-			     )
-#}}}
-#Petsc sources  {{{
-petsc_sources= ./toolkits/petsc
-					./toolkits/petsc/patches
-													./toolkits/petsc/patches/VecToMPISerial.cpp
-					./toolkits/petsc/patches/MatToSerial.cpp
-					./toolkits/petsc/patches/VecMerge.cpp
-					./toolkits/petsc/patches/NewVec.cpp
-					./toolkits/petsc/patches/PetscOptionsDetermineSolverType.cpp
-					./toolkits/petsc/patches/PetscOptionsInsertMultipleString.cpp
-					./toolkits/petsc/patches/NewMat.cpp
-					./toolkits/petsc/patches/VecFree.cpp
-					./toolkits/petsc/patches/KSPFree.cpp
-					./toolkits/petsc/patches/MatFree.cpp
-					./toolkits/petsc/patches/MatMultPatch.cpp
-					./toolkits/petsc/patches/ISSMToPetscMatrixType.cpp
-					./toolkits/petsc/patches/ISSMToPetscInsertMode.cpp
-					./toolkits/petsc/patches/ISSMToPetscNormMode.cpp
-													./toolkits/petsc/objects/PetscMat.cpp
-									./toolkits/petsc/objects/PetscVec.cpp
-					./toolkits/petsc/objects/PetscSolver.cpp
-									)
-#}}}
-#Mumps sources  {{{
-set(mumps_sources      ./toolkits/mumps
-									./toolkits/mumps/MpiDenseMumpsSolve.cpp)
-#}}}
-#Gsl sources  {{{
-set(gsl_sources   ./toolkits/gsl/DenseGslSolve.cpp)
-#}}}
-#Mpi sources  {{{
-set(mpi_sources 						./toolkits/mpi/patches/DetermineLocalSize.cpp
-				./toolkits/mpi/patches/DetermineGlobalSize.cpp
-				./toolkits/mpi/patches/DetermineRowRankFromLocalSize.cpp
-				./toolkits/mpi/patches/GetOwnershipBoundariesFromRange.cpp
-							)
-#}}}
-#Metis sources  {{{
-set(metis_sources 				./toolkits/metis/patches/METIS_PartMeshNodalPatch.cpp)
-#}}}
-
-# API Print {{{
-if(NOT PYTHON AND NOT MATLAB)
-    add_library(ISSMOverload STATIC ./shared/String/ApiPrintf.cpp)
-    list(APPEND issm_deps ISSMOverload)
-else(NOT PYTHON AND NOT MATLAB)
-    message(FATAL_ERROR "Python and Matlab are not supported yet.")
-endif(NOT PYTHON AND NOT MATLAB)
-# }}}
-
-# Modules Sources {{{
-set(modules_sources ./shared/Threads/LaunchThread.cpp
-			./shared/Threads/PartitionRange.cpp
-			./shared/Exp/exp.cpp
-			./shared/TriMesh/AssociateSegmentToElement.cpp
-			./shared/TriMesh/GridInsideHole.cpp
-			./shared/TriMesh/OrderSegments.cpp
-			./shared/TriMesh/SplitMeshForRifts.cpp
-			./shared/TriMesh/TriMeshUtils.cpp
-			./modules/Chacox/Chacox.cpp
-			./modules/Chacox/input_parse.cpp
-			./modules/Chacox/chaco_seconds.cpp
-			./modules/Chacox/user_params.cpp
-			./modules/TriaSearchx/TriaSearchx.cpp
-			./modules/TriMeshx/TriMeshx.cpp
-			./modules/TriMeshProcessRiftsx/TriMeshProcessRiftsx.cpp
-			./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.cpp
-			./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsxt.cpp
-			./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.cpp
-			./modules/InterpFromMesh2dx/InterpFromMesh2dx.cpp
-			./modules/InterpFromMesh2dx/InterpFromMesh2dxt.cpp
-			./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.cpp
-			./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.cpp
-			./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.cpp
-			./modules/HoleFillerx/HoleFillerx.cpp
-			./modules/EdgeDetectionx/EdgeDetectionx.cpp
-			./modules/AverageFilterx/AverageFilterx.cpp
-			./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.cpp
-			./modules/ContourToMeshx/ContourToMeshx.cpp
-			./modules/ContourToMeshx/ContourToMeshxt.cpp
-			./modules/ContourToNodesx/ContourToNodesx.cpp
-			./modules/Reducevectorgtosx/Reducevectorgtosx.cpp
-			./modules/NodeConnectivityx/NodeConnectivityx.cpp
-			./modules/ElementConnectivityx/ElementConnectivityx.cpp
-			./modules/Scotchx/Scotchx.cpp
-			./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.cpp)
-# }}}
-
-#{{{ Conditional build-up of sources
-#ISSM sources are a combination of core sources and sources related to specific capabilities.
-
-if(DAKOTA)
-list(APPEND CPP_FLAGS '-D_HAVE_DAKOTA_')
-list(APPEND issm_sources ${dakota_sources})
-endif(DAKOTA)
-
-if(PETSC)
-list(APPEND CPP_FLAGS '-D_HAVE_PETSC_')
-list(APPEND issm_sources ${petsc_sources})
-endif(PETSC)
-
-if(MUMPS)
-list(APPEND CPP_FLAGS '-D_HAVE_MUMPS_')
-list(APPEND issm_sources ${mumps_sources})
-endif(MUMPS)
-
-if(GSL)
-list(APPEND CPP_FLAGS '-D_HAVE_GSL_')
-list(APPEND issm_sources ${gsl_sources})
-list(APPEND issm_deps gsl gslcblas)
-list(APPEND issm_lib_paths ${GSL_LIB_DIR})
-include_directories(AFTER ${GSL_INC_DIR})
-message("GSL_INC: ${GSL_INC_DIR}")
-message("GSL_LIB: ${GSL_LIB_DIR}")
-endif(GSL)
-
-if(TRANSIENT)
-list(APPEND CPP_FLAGS '-D_HAVE_TRANSIENT_')
-list(APPEND issm_sources ${transient_sources})
-endif(TRANSIENT)
-
-if(STEADYSTATE)
-list(APPEND CPP_FLAGS '-D_HAVE_STEADYSTATE_')
-list(APPEND issm_sources ${steadystate_sources})
-endif(STEADYSTATE)
-
-if(PROGNOSTIC)
-list(APPEND CPP_FLAGS '-D_HAVE_PROGNOSTIC_')
-list(APPEND issm_sources ${prognostic_sources})
-endif(PROGNOSTIC)
-
-if(THERMAL)
-list(APPEND CPP_FLAGS '-D_HAVE_THERMAL_')
-list(APPEND issm_sources ${thermal_sources})
-endif(THERMAL)
-
-if(GIA)
-list(APPEND CPP_FLAGS '-D_HAVE_GIA_')
-list(APPEND issm_sources ${gia_sources})
-endif(GIA)
-
-if(CONTROL)
-list(APPEND CPP_FLAGS '-D_HAVE_CONTROL_')
-list(APPEND issm_sources ${control_sources})
-endif(CONTROL)
-
-if(HYDROLOGY)
-list(APPEND CPP_FLAGS '-D_HAVE_HYDROLOGY_')
-list(APPEND issm_sources ${hydrology_sources})
-endif(HYDROLOGY)
-
-if(DIAGNOSTIC)
-list(APPEND CPP_FLAGS '-D_HAVE_DIAGNOSTIC_')
-list(APPEND issm_sources ${diagnostic_sources})
-endif(DIAGNOSTIC)
-
-if(BALANCED)
-list(APPEND CPP_FLAGS '-D_HAVE_BALANCED_')
-list(APPEND issm_sources ${balanced_sources})
-endif(BALANCED)
-
-if(SLOPE)
-list(APPEND CPP_FLAGS '-D_HAVE_SLOPE_')
-list(APPEND issm_sources ${slope_sources})
-endif(SLOPE)
-
-if(GROUNDINGLINE)
-list(APPEND CPP_FLAGS '-D_HAVE_GROUNDINGLINE_')
-list(APPEND issm_sources ${groundingline_sources})
-endif(GROUNDINGLINE)
-
-if(RIFTS)
-list(APPEND CPP_FLAGS '-D_HAVE_RIFTS_')
-list(APPEND issm_sources ${rifts_sources})
-endif(RIFTS)
-
-if(ANDROID)
-list(APPEND CPP_FLAGS '-D_HAVE_ANDROID_')
-list(APPEND issm_sources ${android_sources})
-endif(ANDROID)
-
-if(THREED)
-list(APPEND CPP_FLAGS '-D_HAVE_THREED_')
-list(APPEND issm_sources ${threed_sources})
-endif(THREED)
-
-if(MPI)
-list(APPEND CPP_FLAGS '-D_HAVE_MPI_')
-list(APPEND issm_sources ${mpi_sources})
-endif(MPI)
-
-if(METIS)
-list(APPEND CPP_FLAGS '-D_HAVE_METIS_')
-list(APPEND issm_sources ${metis_sources})
-endif(METIS)
-
-if(KRIGING)
-list(APPEND CPP_FLAGS '-D_HAVE_KRIGING_')
-list(APPEND issm_sources ${pkriging_sources})
-endif(KRIGING)
-#}}}
-
-add_library(ISSMCore STATIC ${issm_sources})
-add_library(ISSMModules STATIC ${modules_sources})
-
-list(INSERT issm_deps 0 ISSMCore ISSMModules)
-add_executable(issm ./main/issm.cpp)
-
-# Definitions {{{
-add_definitions(${CPP_FLAGS})
-# }}}
-# Compilation Flags {{{
-# }}}
-# Linking Flags {{{
-link_directories($ENV{ISSM_DIR}/src/c )
-target_link_libraries(issm ${issm_deps})
-message("ISSM_DEPS: ${issm_deps}")
-# }}}
-
-# Install Targets {{{
-# Install 'issm.exe'
-install(TARGETS issm RUNTIME DESTINATION $ENV{ISSM_DIR}/bin)
-
-# Install 'libISSMCore.a' and 'libISSMOverload.a'
-install(TARGETS ISSMCore
-                ISSMModules
-                ISSMOverload
-        ARCHIVE DESTINATION $ENV{ISSM_DIR}/lib)
-# }}}
-# Optional Install {{{
-#if(${SHARED_LIBS} IS ON)
-#   install(TARGETS ISSMCore
-#                   ISSMOverload
-#           LIBRARY)
-#endif(${SHARED_LIBS} IS ON)
-# }}}
