Index: /issm/trunk-jpl/src/jl/core/analyses/masstransportanalysis.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/analyses/masstransportanalysis.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/analyses/masstransportanalysis.jl	(revision 26833)
@@ -86,6 +86,6 @@
 	vx_input      = GetInput(element, VxEnum)
 	vy_input      = GetInput(element, VyEnum)
-	dt            = FindParam(element, TimesteppingTimeStepEnum)
-	stabilization = FindParam(element, MasstransportStabilizationEnum)
+	dt            = FindParam(Float64, element, TimesteppingTimeStepEnum)
+	stabilization = FindParam(Int64, element, MasstransportStabilizationEnum)
 
 	h = CharacteristicLength(element)
@@ -157,6 +157,6 @@
    smb_input       = GetInput(element, SmbMassBalanceEnum)
 	olevelset_input = GetInput(element, MaskOceanLevelsetEnum)
-	dt            = FindParam(element, TimesteppingTimeStepEnum)
-	stabilization = FindParam(element, MasstransportStabilizationEnum)
+	dt            = FindParam(Float64, element, TimesteppingTimeStepEnum)
+	stabilization = FindParam(Int64, element, MasstransportStabilizationEnum)
 
    #How much is actually grounded?
@@ -221,7 +221,7 @@
 
 	#Get some parameters
-	rho_water = FindParam(element, MaterialsRhoSeawaterEnum)
-	rho_ice   = FindParam(element, MaterialsRhoIceEnum)
-	H_min     = FindParam(element, MasstransportMinThicknessEnum)
+	rho_water = FindParam(Float64, element, MaterialsRhoSeawaterEnum)
+	rho_ice   = FindParam(Float64, element, MaterialsRhoIceEnum)
+	H_min     = FindParam(Float64, element, MasstransportMinThicknessEnum)
 
 	#Now split solution vector into x and y components
Index: /issm/trunk-jpl/src/jl/core/analyses/stressbalanceanalysis.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/analyses/stressbalanceanalysis.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/analyses/stressbalanceanalysis.jl	(revision 26833)
@@ -81,8 +81,8 @@
 
 	#Fetch parameters relevant to solution sequence
-	maxiter = FindParam(femmodel.parameters,StressbalanceMaxiterEnum)
-	restol  = FindParam(femmodel.parameters,StressbalanceRestolEnum)
-	reltol  = FindParam(femmodel.parameters,StressbalanceReltolEnum)
-	abstol  = FindParam(femmodel.parameters,StressbalanceAbstolEnum)
+	maxiter = FindParam(Int64, femmodel.parameters,StressbalanceMaxiterEnum)
+	restol  = FindParam(Float64, femmodel.parameters,StressbalanceRestolEnum)
+	reltol  = FindParam(Float64, femmodel.parameters,StressbalanceReltolEnum)
+	abstol  = FindParam(Float64, femmodel.parameters,StressbalanceAbstolEnum)
 
 	#Call solution sequence to compute new speeds
@@ -174,6 +174,6 @@
 	H_input  = GetInput(element, ThicknessEnum)
 	s_input  = GetInput(element, SurfaceEnum)
-	rho_ice  = FindParam(element, MaterialsRhoIceEnum)
-	g        = FindParam(element, ConstantsGEnum)
+	rho_ice  = FindParam(Float64, element, MaterialsRhoIceEnum)
+	g        = FindParam(Float64, element, ConstantsGEnum)
 
 	#Start integrating
@@ -197,5 +197,5 @@
 		#Get additional parameters and inputs
 		b_input   = GetInput(element, BaseEnum)
-		rho_water = FindParam(element, MaterialsRhoSeawaterEnum)
+		rho_water = FindParam(Float64, element, MaterialsRhoSeawaterEnum)
 
 		#Get normal and ice front coordinates
Index: /issm/trunk-jpl/src/jl/core/analyses/transientanalysis.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/analyses/transientanalysis.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/analyses/transientanalysis.jl	(revision 26833)
@@ -15,12 +15,12 @@
 function Core(analysis::TransientAnalysis,femmodel::FemModel)# {{{
 
-	step      = FindParam(femmodel.parameters, StepEnum)
-	time      = FindParam(femmodel.parameters, TimeEnum)
-	finaltime = FindParam(femmodel.parameters, TimesteppingFinalTimeEnum)
-	yts       = FindParam(femmodel.parameters, ConstantsYtsEnum)
-	dt        = FindParam(femmodel.parameters, TimesteppingTimeStepEnum)
+	step      = FindParam(Int64, femmodel.parameters, StepEnum)
+	time      = FindParam(Float64, femmodel.parameters, TimeEnum)
+	finaltime = FindParam(Float64, femmodel.parameters, TimesteppingFinalTimeEnum)
+	yts       = FindParam(Float64, femmodel.parameters, ConstantsYtsEnum)
+	dt        = FindParam(Float64, femmodel.parameters, TimesteppingTimeStepEnum)
 
-	isstressbalance = FindParam(femmodel.parameters, TransientIsstressbalanceEnum)
-   ismasstransport = FindParam(femmodel.parameters, TransientIsmasstransportEnum)
+	isstressbalance = FindParam(Bool, femmodel.parameters, TransientIsstressbalanceEnum)
+   ismasstransport = FindParam(Bool, femmodel.parameters, TransientIsmasstransportEnum)
 
    while(time < finaltime - (yts*eps(Float64))) #make sure we run up to finaltime.
Index: /issm/trunk-jpl/src/jl/core/elements.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/elements.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/elements.jl	(revision 26833)
@@ -149,7 +149,7 @@
 
 end # }}}
-function FindParam(element::Tria,enum::IssmEnum) # {{{
-
-	return FindParam(element.parameters, enum)
+function FindParam(::Type{T}, element::Tria, enum::IssmEnum) where T # {{{
+
+	return FindParam(T, element.parameters, enum)
 
 end # }}}
@@ -312,6 +312,6 @@
 
 
-	rho_water   = FindParam(element, MaterialsRhoSeawaterEnum)
-	rho_ice     = FindParam(element, MaterialsRhoIceEnum)
+	rho_water   = FindParam(Float64, element, MaterialsRhoSeawaterEnum)
+	rho_ice     = FindParam(Float64, element, MaterialsRhoIceEnum)
 	density     = rho_ice/rho_water
 
Index: /issm/trunk-jpl/src/jl/core/friction.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/friction.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/friction.jl	(revision 26833)
@@ -19,5 +19,5 @@
 function CoreFriction(element::Tria) #{{{
 
-	frictionlaw = FindParam(element, FrictionLawEnum)
+	frictionlaw = FindParam(Int64, element, FrictionLawEnum)
 
 	if frictionlaw==1
@@ -26,7 +26,7 @@
 		c_input  = GetInput(element, FrictionCoefficientEnum)
 
-		rho_ice   = FindParam(element, MaterialsRhoIceEnum)
-		rho_water = FindParam(element, MaterialsRhoSeawaterEnum)
-		g         = FindParam(element, ConstantsGEnum)
+		rho_ice   = FindParam(Float64, element, MaterialsRhoIceEnum)
+		rho_water = FindParam(Float64, element, MaterialsRhoSeawaterEnum)
+		g         = FindParam(Float64, element, ConstantsGEnum)
 
 		return CoreBuddFriction(H_input, b_input, c_input, rho_ice, rho_water, g)
Index: /issm/trunk-jpl/src/jl/core/modules.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/modules.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/modules.jl	(revision 26833)
@@ -302,6 +302,6 @@
 
 	#Get Step and Time from parameters
-	step = FindParam(femmodel.parameters,StepEnum)
-	time = FindParam(femmodel.parameters,TimeEnum)
+	step = FindParam(Int64, femmodel.parameters,StepEnum)
+	time = FindParam(Float64, femmodel.parameters,TimeEnum)
 	
 	#Now fetch results
Index: /issm/trunk-jpl/src/jl/core/parameters.jl
===================================================================
--- /issm/trunk-jpl/src/jl/core/parameters.jl	(revision 26832)
+++ /issm/trunk-jpl/src/jl/core/parameters.jl	(revision 26833)
@@ -46,8 +46,8 @@
 
 end#}}}
-function FindParam(parameters::Parameters,enum::IssmEnum) #{{{
+function FindParam(::Type{T}, parameters::Parameters,enum::IssmEnum) where T #{{{
 
 	param = parameters.lookup[enum]
-	return GetParameterValue(param)
+	return GetParameterValue(param)::T
 
 end#}}}
