Index: /issm/trunk/src/c/objects/Tria.cpp
===================================================================
--- /issm/trunk/src/c/objects/Tria.cpp	(revision 3188)
+++ /issm/trunk/src/c/objects/Tria.cpp	(revision 3189)
@@ -3019,4 +3019,22 @@
 		}
 	}
+	else if(fit==4){
+		/*We are using an logarithmic 2 misfit:
+		 *
+		 *      1            [        |u| + eps     2          |v| + eps     2  ]
+		 * J = --- \bar{v}^2 | log ( -----------  )   +  log ( -----------  )   |  
+		 *      2            [       |u    |+ eps              |v    |+ eps     ]
+		 *                              obs                       obs
+		 *        dJ                              1      u                             1
+		 * DU = - -- = - \bar{v}^2 log(u...) --------- ----  ~ - \bar{v}^2 log(u...) ------
+		 *        du                         |u| + eps  |u|                           u + eps
+		 */
+		for (i=0;i<numgrids;i++){
+			dux_list[i] = - pow(numpar->meanvel,(double)2)*(
+						log((fabs(vx_list[i])+numpar->epsvel)/(fabs(obs_vx_list[i])+numpar->epsvel)) * 1/(vx_list[i]+numpar->epsvel));
+			duy_list[i] = - pow(numpar->meanvel,(double)2)*(
+						log((fabs(vy_list[i])+numpar->epsvel)/(fabs(obs_vy_list[i])+numpar->epsvel)) * 1/(vy_list[i]+numpar->epsvel));
+		}
+	}
 	else{
 		/*Not supported yet! : */
@@ -4589,4 +4607,18 @@
 		}
 	}
+	else if(fit==4){
+		/*We are using an logarithmic 2 misfit:
+		 *
+		 *      1            [        |u| + eps     2          |v| + eps     2  ]
+		 * J = --- \bar{v}^2 | log ( -----------  )   +  log ( -----------  )   |  
+		 *      2            [       |u    |+ eps              |v    |+ eps     ]
+		 *                              obs                       obs
+		 */
+		for (i=0;i<numgrids;i++){
+			misfit_list[i]=0.5*pow(numpar->meanvel,(double)2)*(
+			  pow(log((fabs(vx_list[i])+numpar->epsvel)/(fabs(obs_vx_list[i])+numpar->epsvel)),(double)2) +
+			  pow(log((fabs(vy_list[i])+numpar->epsvel)/(fabs(obs_vy_list[i])+numpar->epsvel)),(double)2) );
+		}
+	}
 	else{
 		/*Not supported yet! : */
Index: /issm/trunk/src/m/classes/public/ismodelselfconsistent.m
===================================================================
--- /issm/trunk/src/m/classes/public/ismodelselfconsistent.m	(revision 3188)
+++ /issm/trunk/src/m/classes/public/ismodelselfconsistent.m	(revision 3189)
@@ -371,5 +371,5 @@
 
 	%FIT
-	checkvalues(md,{'fit'},[0 1 2 3]);
+	checkvalues(md,{'fit'},[0 1 2 3 4]);
 
 	%OBSERVED VELOCITIES
