Index: /issm/trunk-jpl/externalpackages/flaim/install
===================================================================
--- /issm/trunk-jpl/externalpackages/flaim/install	(revision 11294)
+++ /issm/trunk-jpl/externalpackages/flaim/install	(revision 11295)
@@ -1,1 +1,1 @@
-link /proj/ice/larour/flaim/trunk/
+link /home/jschierm/flaim/svn/trunk
Index: /issm/trunk-jpl/externalpackages/flaim/install.sh
===================================================================
--- /issm/trunk-jpl/externalpackages/flaim/install.sh	(revision 11294)
+++ /issm/trunk-jpl/externalpackages/flaim/install.sh	(revision 11295)
@@ -5,3 +5,3 @@
 
 #symlink to flaim directory
-ln -s /proj/ice/larour/flaim/trunk/ ./install
+ln -s /home/jschierm/flaim/svn/trunk ./install
Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 11294)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 11295)
@@ -643,8 +643,8 @@
 			     ./modules/Shp2Kmlx/Shp2Kmlx.h\
 			     ./modules/Shp2Kmlx/Shp2Kmlx.cpp\
+			     ./modules/KMLFileReadx/KMLFileReadx.h\
+			     ./modules/KMLFileReadx/KMLFileReadx.cpp\
 			     ./modules/KMLMeshWritex/KMLMeshWritex.h\
 			     ./modules/KMLMeshWritex/KMLMeshWritex.cpp\
-			     ./modules/KMLMeshWritex/KMLFileReadx.h\
-			     ./modules/KMLMeshWritex/KMLFileReadx.cpp\
 			     ./modules/KMLOverlayx/KMLOverlayx.h\
 			     ./modules/KMLOverlayx/KMLOverlayx.cpp\
@@ -699,4 +699,6 @@
 			     ./objects/KML/KML_SubStyle.cpp\
 			     ./objects/KML/KML_SubStyle.h\
+			     ./objects/KML/KML_Unknown.cpp\
+			     ./objects/KML/KML_Unknown.h\
 			     ./objects/KML/KMLFileReadUtils.cpp\
 			     ./objects/KML/KMLFileReadUtils.h
Index: /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp	(revision 11295)
+++ /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.cpp	(revision 11295)
@@ -0,0 +1,67 @@
+/*!\file KMLFileReadx.cpp
+ */
+
+#include "./KMLFileReadx.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../io/io.h"
+#include "../../toolkits/toolkits.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+KML_Object* KMLFileReadx(FILE* fid){
+
+	char*   kstr;
+	KML_File*      kxml=NULL;
+	KML_File*      kdtd=NULL;
+	KML_File*      kfil=NULL;
+
+	clock_t clock0,clock1;
+	time_t  time0, time1;
+
+	clock0=clock();
+	time0 =time(NULL);
+	_printf_(true,"\nKMLFileReadx Module -- %s",ctime(&time0));
+
+/*  read kml file  */
+
+	while (kstr=KMLFileToken(fid,
+							 NULL,NULL)) {
+		if      (!strncmp(kstr,"<?xml"    ,5)) {
+			kxml=new KML_File();
+			KMLFileTagAttrib(kxml,
+							 kstr);
+		}
+		else if (!strncmp(kstr,"<!DOCTYPE",9)) {
+			kdtd=new KML_File();
+			KMLFileTagAttrib(kdtd,
+							 kstr);
+		}
+		else if (!strncmp(kstr,"<kml"     ,4)) {
+			kfil=new KML_File();
+			kfil->Read(fid,kstr);
+//			kfil->DeepEcho();
+		}
+
+//		_printf_(true,"%s\n",kstr);
+		xfree((void**)&kstr);
+	}
+
+	if (kxml) {
+		_printf_(true,"XML declaration:\n");
+		kxml->DeepEcho("  ");
+		delete kxml;
+	}
+	if (kdtd) {
+		_printf_(true,"DTD declaration (not yet implemented):\n");
+		kdtd->DeepEcho("  ");
+		delete kdtd;
+	}
+
+	clock1=clock();
+	time1 =time(NULL);
+	_printf_(true,"KMLFileReadx Module -- %f CPU seconds; %f elapsed seconds.\n\n",
+			 ((double)(clock1-clock0))/CLOCKS_PER_SEC,difftime(time1,time0));
+
+	return(kfil);
+}
+
Index: /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.h	(revision 11295)
+++ /issm/trunk-jpl/src/c/modules/KMLFileReadx/KMLFileReadx.h	(revision 11295)
@@ -0,0 +1,15 @@
+/*!\file:  KMLFileReadx.h
+ * \brief header file for kml mesh writer routines.
+ */ 
+
+#ifndef _KMLFILEREADX_H
+#define _KMLFILEREADX_H
+
+#include <float.h>    /*  DBL_MAX  */
+#include "../../Container/Container.h"
+#include "../../objects/objects.h"
+
+/* local prototypes: */
+KML_Object* KMLFileReadx(FILE* fid);
+
+#endif  /* _KMLFILEREADX_H */
Index: sm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLFileReadx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLFileReadx.cpp	(revision 11294)
+++ 	(revision )
@@ -1,67 +1,0 @@
-/*!\file KMLFileReadx.cpp
- */
-
-#include "./KMLFileReadx.h"
-#include "../../shared/shared.h"
-#include "../../include/include.h"
-#include "../../io/io.h"
-#include "../../toolkits/toolkits.h"
-#include "../../EnumDefinitions/EnumDefinitions.h"
-
-KML_Object* KMLFileReadx(FILE* fid){
-
-	char*   kstr;
-	KML_File*      kxml=NULL;
-	KML_File*      kdtd=NULL;
-	KML_File*      kfil=NULL;
-
-	clock_t clock0,clock1;
-	time_t  time0, time1;
-
-	clock0=clock();
-	time0 =time(NULL);
-	_printf_(true,"\nKMLFileReadx Module -- %s",ctime(&time0));
-
-/*  read kml file  */
-
-	while (kstr=KMLFileToken(fid,
-							 NULL,NULL)) {
-		if      (!strncmp(kstr,"<?xml"    ,5)) {
-			kxml=new KML_File();
-			KMLFileTagAttrib(kxml,
-							 kstr);
-		}
-		else if (!strncmp(kstr,"<!DOCTYPE",9)) {
-			kdtd=new KML_File();
-			KMLFileTagAttrib(kdtd,
-							 kstr);
-		}
-		else if (!strncmp(kstr,"<kml"     ,4)) {
-			kfil=new KML_File();
-			kfil->Read(fid,kstr);
-//			kfil->DeepEcho();
-		}
-
-//		_printf_(true,"%s\n",kstr);
-		xfree((void**)&kstr);
-	}
-
-	if (kxml) {
-		_printf_(true,"XML declaration:\n");
-		kxml->DeepEcho("  ");
-		delete kxml;
-	}
-	if (kdtd) {
-		_printf_(true,"DTD declaration (not yet implemented):\n");
-		kdtd->DeepEcho("  ");
-		delete kdtd;
-	}
-
-	clock1=clock();
-	time1 =time(NULL);
-	_printf_(true,"KMLFileReadx Module -- %f CPU seconds; %f elapsed seconds.\n\n",
-			 ((double)(clock1-clock0))/CLOCKS_PER_SEC,difftime(time1,time0));
-
-	return(kfil);
-}
-
Index: sm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLFileReadx.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/KMLMeshWritex/KMLFileReadx.h	(revision 11294)
+++ 	(revision )
@@ -1,15 +1,0 @@
-/*!\file:  KMLFileReadx.h
- * \brief header file for kml mesh writer routines.
- */ 
-
-#ifndef _KMLFILEREADX_H
-#define _KMLFILEREADX_H
-
-#include <float.h>    /*  DBL_MAX  */
-#include "../../Container/Container.h"
-#include "../../objects/objects.h"
-
-/* local prototypes: */
-KML_Object* KMLFileReadx(FILE* fid);
-
-#endif  /* _KMLFILEREADX_H */
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 11294)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 11295)
@@ -53,5 +53,5 @@
 #include "./InputArtificialNoisex/InputArtificialNoisex.h"
 #include "./IoModelToConstraintsx/IoModelToConstraintsx.h"
-#include "./KMLMeshWritex/KMLFileReadx.h"
+#include "./KMLFileReadx/KMLFileReadx.h"
 #include "./KMLMeshWritex/KMLMeshWritex.h"
 #include "./KMLOverlayx/KMLOverlayx.h"
Index: /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp
===================================================================
--- /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp	(revision 11295)
+++ /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.cpp	(revision 11295)
@@ -0,0 +1,141 @@
+/*!\file KML_Unknown.cpp
+ * \brief: implementation of the kml_unknown object
+ */
+
+/*Headers:*/
+/*{{{1*/
+#ifdef HAVE_CONFIG_H
+	#include <config.h>
+#else
+#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include "../objects.h"
+#include "../../shared/shared.h"
+#include "../../io/io.h"
+#include "../../Container/Container.h"
+#include "../../include/include.h"
+/*}}}*/
+
+/*Constructors/destructor/copy*/
+/*FUNCTION KML_Unknown::KML_Unknown(){{{1*/
+KML_Unknown::KML_Unknown(){
+
+	name      =NULL;
+	value     =NULL;
+
+}
+/*}}}*/
+/*FUNCTION KML_Unknown::~KML_Unknown(){{{1*/
+KML_Unknown::~KML_Unknown(){
+
+	if (name      ) xfree((void**)&name);
+	if (value     ) xfree((void**)&value);
+
+}
+/*}}}*/
+
+/*Other*/
+/*FUNCTION KML_Unknown::Echo {{{1*/
+void  KML_Unknown::Echo(){
+
+	bool  flag=true;
+
+	_printf_(flag,"KML_Unknown_%s:\n",name);
+	KML_Object::Echo();
+
+	if (value     )
+		_printf_(flag,"         value: \"%s\"\n"     ,value);
+
+	return;
+}
+/*}}}*/
+/*FUNCTION KML_Unknown::DeepEcho {{{1*/
+void  KML_Unknown::DeepEcho(){
+
+	char  indent[81]="";
+
+	KML_Unknown::DeepEcho(indent);
+
+	return;
+}
+/*}}}*/
+/*FUNCTION KML_Unknown::DeepEcho {{{1*/
+void  KML_Unknown::DeepEcho(const char* indent){
+
+	bool  flag=true;
+
+	_printf_(flag,"%sKML_Unknown_%s:\n",indent,name);
+	KML_Object::DeepEcho(indent);
+
+	if (value     )
+		_printf_(flag,"%s         value: \"%s\"\n"     ,indent,value);
+
+	return;
+}
+/*}}}*/
+/*FUNCTION KML_Unknown::Write {{{1*/
+void  KML_Unknown::Write(FILE* filout,const char* indent){
+
+	fprintf(filout,"%s<%s",indent,name);
+	WriteAttrib(filout," ");
+	fprintf(filout,">\n");
+	WriteCommnt(filout,indent);
+
+	KML_Object::Write(filout,indent);
+
+	if (value     )
+		fprintf(filout,"%s  %s\n",indent,value);
+
+	fprintf(filout,"%s</%s>\n",indent,name);
+
+	return;
+}
+/*}}}*/
+/*FUNCTION KML_Unknown::Read {{{1*/
+void  KML_Unknown::Read(FILE* fid,char* kstr){
+
+	char*        kstri;
+	int          ncom=0;
+	char**       pcom=NULL;
+
+/*  get object attributes and check for solo tag  */
+
+	if (KMLFileTagAttrib(this,
+						 kstr))
+		return;
+
+/*  loop over and process fields within opening and closing tags  */
+
+	while (kstri=KMLFileToken(fid,
+							  &ncom,&pcom)) {
+		if      (!strncmp(&kstri[0],"</", 2) &&
+				 !strncmp(&kstri[2],name,strlen(name))) {
+			xfree((void**)&kstri);
+			break;
+		}
+		else if (!strncmp(kstri,"</",2))
+			_error_("KML_Unknown::Read -- Unexpected closing tag %s.\n",kstri);
+
+		else if (strncmp(kstri,"<",1))
+			KMLFileTokenParse( value     ,NULL,0,
+							  NULL,
+							  fid);
+
+		else if (!strncmp(kstri,"<",1))
+			KML_Object::Read(fid,kstri);
+
+		xfree((void**)&kstri);
+	}
+
+	this->AddCommnt(ncom,pcom);
+
+	for (ncom; ncom>0; ncom--)
+		xfree((void**)&(pcom[ncom-1]));
+	xfree((void**)&pcom);
+
+	return;
+}
+/*}}}*/
Index: /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.h
===================================================================
--- /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.h	(revision 11295)
+++ /issm/trunk-jpl/src/c/objects/KML/KML_Unknown.h	(revision 11295)
@@ -0,0 +1,45 @@
+/*! \file KML_Unknown.h 
+ *  \brief: header file for kml_unknown object
+ */
+
+#ifndef _KML_UNKNOWN_H_
+#define _KML_UNKNOWN_H_
+
+/*Headers:*/
+/*{{{1*/
+#include "../../include/include.h"
+#include "../../shared/Exceptions/exceptions.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+
+#include "./KML_Object.h"
+/*}}}*/
+
+class KML_Unknown: public KML_Object {
+
+	public:
+
+		char* name;
+		char* value;
+
+		/*KML_Unknown constructors, destructors {{{1*/
+		KML_Unknown();
+		~KML_Unknown();
+		/*}}}*/
+		/*Object virtual functions definitions:{{{1*/
+		void  Echo();
+		void  DeepEcho();
+		void  DeepEcho(const char* indent);
+		void  Write(FILE* fid,const char* indent);
+		void  Read(FILE* fid,char* kstr);
+		int   Id(){_error_("Not implemented yet.");};
+		int   MyRank(){_error_("Not implemented yet.");};
+		void  Marshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   MarshallSize(){_error_("Not implemented yet.");};
+		void  Demarshall(char** pmarshalled_dataset){_error_("Not implemented yet.");};
+		int   ObjectEnum(){_error_("Not implemented yet.");};
+		Object* copy(){_error_("Not implemented yet.");};
+		/*}}}*/
+
+};
+#endif  /* _KML_UNKNOWN_H */
+
Index: /issm/trunk-jpl/src/c/objects/objects.h
===================================================================
--- /issm/trunk-jpl/src/c/objects/objects.h	(revision 11294)
+++ /issm/trunk-jpl/src/c/objects/objects.h	(revision 11295)
@@ -72,4 +72,5 @@
 #include "./KML/KML_StyleSelector.h"
 #include "./KML/KML_SubStyle.h"
+#include "./KML/KML_Unknown.h"
 #include "./KML/KMLFileReadUtils.h"
 
Index: /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.cpp
===================================================================
--- /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.cpp	(revision 11295)
+++ /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.cpp	(revision 11295)
@@ -0,0 +1,151 @@
+/*\file KMLFileRead.c
+ *\brief: KML file reader module.
+ */
+#include "./KMLFileRead.h"
+
+void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
+
+	int i,j,nnodes=0,verbose=1;
+	KML_Object* kobj;
+
+	/*input: */
+	char*   name=NULL;
+
+	char*   notes=NULL;
+	const mxArray* notesi;
+	mwIndex        nindex;
+
+	int*    elem=NULL;
+	int     melem=0,nelem=0;
+
+	int*    nodecon=NULL;
+	int     mncon=0,nncon=0;
+
+	double* lat=NULL;
+	int     mlat=0,nlat=0,llat=0;
+
+	double* lng=NULL;
+	int     mlng=0,nlng=0,llng=0;
+
+	int     nparts=0;
+
+	int*    part=NULL;
+	int     mprt=0,nprt=0,lprt=0;
+
+	double* data=NULL;
+	int     mdata=0,ndata=0;
+
+	double* cmap=NULL;
+	int     mcmap=0,ncmap=0;
+
+	char*   filnam=NULL;
+
+	FILE*   fidi=NULL;
+	FILE*   fido=NULL;
+
+	Options* options=NULL;
+	char*    echo    =NULL;
+	char*    deepecho=NULL;
+	char*    write   =NULL;
+
+	/* output: */
+	int     ierror=0;
+
+	/*Boot module: */
+	MODULEBOOT();
+
+	/*checks on arguments on the matlab side: */
+	if (nlhs > NLHS) {
+		KMLFileReadUsage();
+		_error_("KMLFileRead usage error");
+	}
+	if (nrhs < NRHS) {
+		KMLFileReadUsage();
+		_error_("KMLFileRead usage error");
+	}
+
+	/*Input datasets: */
+	if (verbose) printf("Fetching inputs:\n");
+	FetchMatlabData(&filnam,FILENAME);
+	if (verbose) printf("  filnam =\"%s\"\n",filnam);
+
+	if (verbose) printf("Parsing options:\n");
+	options=new Options(NRHS,nrhs,prhs);
+	if (options->Size()) for(i=0;i<options->Size();i++) ((Option*)options->GetObjectByOffset(i))->DeepEcho();
+	options->Get(&echo    ,"echo"    ,"off");
+	options->Get(&deepecho,"deepecho","off");
+	options->Get(&write   ,"write"   ,"off");
+
+	/*some checks*/
+	if (verbose) printf("Checking inputs:\n");
+
+	if (!strlen(filnam))
+		strcpy(filnam,"stdout");
+
+	if (verbose) printf("Opening file \"%s\".\n",filnam);
+	fidi=fopen(filnam,"r");
+
+	/* Run core computations: */
+	if (verbose) printf("Calling core:\n");
+	kobj=KMLFileReadx(fidi);
+
+	if (verbose) printf("Closing file \"%s\".\n",filnam);
+	fclose(fidi);
+
+	if (kobj) {
+		if (!strncmp(echo    ,"on",2) || !strncmp(echo    ,"y",1))
+			kobj->Echo();
+		if (!strncmp(deepecho,"on",2) || !strncmp(deepecho,"y",1))
+			kobj->DeepEcho();
+		if (strncmp(write,"off",3) && strncmp(write,"no",2)) {
+			if (!strncmp(write,"on",2) || !strncmp(write,"yes",3) || !strncmp(write,"stdout",6)) {
+				kobj->Write(stdout,"");
+			}
+			else {
+				if (verbose) printf("Opening file \"%s\".\n",write);
+				fido=fopen(write,"w");
+				kobj->Write(fido,"");
+				if (verbose) printf("Closing file \"%s\".\n",write);
+				ierror=fclose(fido);
+			}
+		}
+
+		delete kobj;
+	}
+
+	/*Write data: */
+	WriteMatlabData(ERRORFLAG,ierror);
+
+	/*Clean-up*/
+	xfree((void**)&write);
+	xfree((void**)&deepecho);
+	xfree((void**)&echo);
+	delete options;
+
+	/*end module: */
+	MODULEEND();
+}
+
+void KMLFileReadUsage(void)
+{
+	_printf_(true,"KMLFileRead - KML file reader module:\n");
+	_printf_(true,"\n");
+	_printf_(true,"   This module reads a KML file.\n");
+	_printf_(true,"\n");
+	_printf_(true,"   Usage:\n");
+	_printf_(true,"      [ierror]=KMLFileRead(kmlfile,'param name',param,...);\n");
+	_printf_(true,"\n");
+	_printf_(true,"      kmlfile      file name of kml file to be read (char)\n");
+	_printf_(true,"\n");
+	_printf_(true,"      echo         echo command (char, optional, 'off'/'on')\n");
+	_printf_(true,"      deepecho     deep echo command (char, optional, 'off'/'on')\n");
+	_printf_(true,"      write        write command (char, optional, 'off'/'stdout'/kmlfile)\n");
+	_printf_(true,"\n");
+	_printf_(true,"      ierror       return code (non-zero for error)\n");
+	_printf_(true,"\n");
+	_printf_(true,"   Examples:\n");
+	_printf_(true,"      [ierror]=KMLFileRead('file.kml','deepecho','on');\n");
+	_printf_(true,"      [ierror]=KMLFileRead('filin.kml','echo','on','write','filout.kml');\n");
+	_printf_(true,"\n");
+}
+
Index: /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.h
===================================================================
--- /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.h	(revision 11295)
+++ /issm/trunk-jpl/src/mex/KMLFileRead/KMLFileRead.h	(revision 11295)
@@ -0,0 +1,31 @@
+/*!\file KMLFileRead.h
+ * \brief: prototype for KML file reader mex module.
+ */
+
+#ifndef _KMLFILEREAD_H
+#define _KMLFILEREAD_H
+
+/* local prototypes: */
+void KMLFileReadUsage(void);
+
+#include "../../c/modules/modules.h"
+#include "../../c/Container/Container.h"
+#include "../../c/shared/shared.h"
+
+#undef __FUNCT__ 
+#define __FUNCT__  "KMLFileRead"
+
+
+/* serial input macros: */
+#define FILENAME      prhs[0]
+
+/* serial output macros: */
+#define ERRORFLAG (mxArray**)&plhs[0]
+
+/* serial arg counts: */
+#undef NRHS
+#define NRHS  1
+#undef NLHS
+#define NLHS  1
+
+#endif
Index: sm/trunk-jpl/src/mex/KMLMeshWrite/KMLFileRead.cpp
===================================================================
--- /issm/trunk-jpl/src/mex/KMLMeshWrite/KMLFileRead.cpp	(revision 11294)
+++ 	(revision )
@@ -1,151 +1,0 @@
-/*\file KMLFileRead.c
- *\brief: KML file reader module.
- */
-#include "./KMLFileRead.h"
-
-void mexFunction( int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){
-
-	int i,j,nnodes=0,verbose=1;
-	KML_Object* kobj;
-
-	/*input: */
-	char*   name=NULL;
-
-	char*   notes=NULL;
-	const mxArray* notesi;
-	mwIndex        nindex;
-
-	int*    elem=NULL;
-	int     melem=0,nelem=0;
-
-	int*    nodecon=NULL;
-	int     mncon=0,nncon=0;
-
-	double* lat=NULL;
-	int     mlat=0,nlat=0,llat=0;
-
-	double* lng=NULL;
-	int     mlng=0,nlng=0,llng=0;
-
-	int     nparts=0;
-
-	int*    part=NULL;
-	int     mprt=0,nprt=0,lprt=0;
-
-	double* data=NULL;
-	int     mdata=0,ndata=0;
-
-	double* cmap=NULL;
-	int     mcmap=0,ncmap=0;
-
-	char*   filnam=NULL;
-
-	FILE*   fidi=NULL;
-	FILE*   fido=NULL;
-
-	Options* options=NULL;
-	char*    echo    =NULL;
-	char*    deepecho=NULL;
-	char*    write   =NULL;
-
-	/* output: */
-	int     ierror=0;
-
-	/*Boot module: */
-	MODULEBOOT();
-
-	/*checks on arguments on the matlab side: */
-	if (nlhs > NLHS) {
-		KMLFileReadUsage();
-		_error_("KMLFileRead usage error");
-	}
-	if (nrhs < NRHS) {
-		KMLFileReadUsage();
-		_error_("KMLFileRead usage error");
-	}
-
-	/*Input datasets: */
-	if (verbose) printf("Fetching inputs:\n");
-	FetchMatlabData(&filnam,FILENAME);
-	if (verbose) printf("  filnam =\"%s\"\n",filnam);
-
-	if (verbose) printf("Parsing options:\n");
-	options=new Options(NRHS,nrhs,prhs);
-	if (options->Size()) for(i=0;i<options->Size();i++) ((Option*)options->GetObjectByOffset(i))->DeepEcho();
-	options->Get(&echo    ,"echo"    ,"off");
-	options->Get(&deepecho,"deepecho","off");
-	options->Get(&write   ,"write"   ,"off");
-
-	/*some checks*/
-	if (verbose) printf("Checking inputs:\n");
-
-	if (!strlen(filnam))
-		strcpy(filnam,"stdout");
-
-	if (verbose) printf("Opening file \"%s\".\n",filnam);
-	fidi=fopen(filnam,"r");
-
-	/* Run core computations: */
-	if (verbose) printf("Calling core:\n");
-	kobj=KMLFileReadx(fidi);
-
-	if (verbose) printf("Closing file \"%s\".\n",filnam);
-	fclose(fidi);
-
-	if (kobj) {
-		if (!strncmp(echo    ,"on",2) || !strncmp(echo    ,"y",1))
-			kobj->Echo();
-		if (!strncmp(deepecho,"on",2) || !strncmp(deepecho,"y",1))
-			kobj->DeepEcho();
-		if (strncmp(write,"off",3) && strncmp(write,"no",2)) {
-			if (!strncmp(write,"on",2) || !strncmp(write,"yes",3) || !strncmp(write,"stdout",6)) {
-				kobj->Write(stdout,"");
-			}
-			else {
-				if (verbose) printf("Opening file \"%s\".\n",write);
-				fido=fopen(write,"w");
-				kobj->Write(fido,"");
-				if (verbose) printf("Closing file \"%s\".\n",write);
-				ierror=fclose(fido);
-			}
-		}
-
-		delete kobj;
-	}
-
-	/*Write data: */
-	WriteMatlabData(ERRORFLAG,ierror);
-
-	/*Clean-up*/
-	xfree((void**)&write);
-	xfree((void**)&deepecho);
-	xfree((void**)&echo);
-	delete options;
-
-	/*end module: */
-	MODULEEND();
-}
-
-void KMLFileReadUsage(void)
-{
-	_printf_(true,"KMLFileRead - KML file reader module:\n");
-	_printf_(true,"\n");
-	_printf_(true,"   This module reads a KML file.\n");
-	_printf_(true,"\n");
-	_printf_(true,"   Usage:\n");
-	_printf_(true,"      [ierror]=KMLFileRead(kmlfile,'param name',param,...);\n");
-	_printf_(true,"\n");
-	_printf_(true,"      kmlfile      file name of kml file to be read (char)\n");
-	_printf_(true,"\n");
-	_printf_(true,"      echo         echo command (char, optional, 'off'/'on')\n");
-	_printf_(true,"      deepecho     deep echo command (char, optional, 'off'/'on')\n");
-	_printf_(true,"      write        write command (char, optional, 'off'/'stdout'/kmlfile)\n");
-	_printf_(true,"\n");
-	_printf_(true,"      ierror       return code (non-zero for error)\n");
-	_printf_(true,"\n");
-	_printf_(true,"   Examples:\n");
-	_printf_(true,"      [ierror]=KMLFileRead('file.kml','deepecho','on');\n");
-	_printf_(true,"      [ierror]=KMLFileRead('filin.kml','echo','on','write','filout.kml');\n");
-	_printf_(true,"\n");
-}
-
Index: sm/trunk-jpl/src/mex/KMLMeshWrite/KMLFileRead.h
===================================================================
--- /issm/trunk-jpl/src/mex/KMLMeshWrite/KMLFileRead.h	(revision 11294)
+++ 	(revision )
@@ -1,31 +1,0 @@
-/*!\file KMLFileRead.h
- * \brief: prototype for KML file reader mex module.
- */
-
-#ifndef _KMLFILEREAD_H
-#define _KMLFILEREAD_H
-
-/* local prototypes: */
-void KMLFileReadUsage(void);
-
-#include "../../c/modules/modules.h"
-#include "../../c/Container/Container.h"
-#include "../../c/shared/shared.h"
-
-#undef __FUNCT__ 
-#define __FUNCT__  "KMLFileRead"
-
-
-/* serial input macros: */
-#define FILENAME      prhs[0]
-
-/* serial output macros: */
-#define ERRORFLAG (mxArray**)&plhs[0]
-
-/* serial arg counts: */
-#undef NRHS
-#define NRHS  1
-#undef NLHS
-#define NLHS  1
-
-#endif
Index: /issm/trunk-jpl/src/mex/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/mex/Makefile.am	(revision 11294)
+++ /issm/trunk-jpl/src/mex/Makefile.am	(revision 11295)
@@ -234,6 +234,6 @@
 									InterpFromMesh2d/InterpFromMesh2d.h
 
-KMLFileRead_SOURCES = KMLMeshWrite/KMLFileRead.cpp\
-			  KMLMeshWrite/KMLFileRead.h
+KMLFileRead_SOURCES = KMLFileRead/KMLFileRead.cpp\
+			  KMLFileRead/KMLFileRead.h
 
 KMLMeshWrite_SOURCES = KMLMeshWrite/KMLMeshWrite.cpp\
