Index: /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp
===================================================================
--- /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 9258)
+++ /issm/trunk/src/c/modules/KMLMeshWritex/KMLMeshWritex.cpp	(revision 9259)
@@ -96,5 +96,10 @@
 		for (i=0; i<mcmap; i++) {
 			klsty=new KML_LineStyle();
-			sprintf(klsty->color     ,"ff000000");
+//			sprintf(klsty->color     ,"ff000000");
+			sprintf(klsty->color     ,"%02x%02x%02x%02x",
+					(int)255,
+					(int)floor(cmap[ipt+2]*255+0.5),
+					(int)floor(cmap[ipt+1]*255+0.5),
+					(int)floor(cmap[ipt  ]*255+0.5));
 			sprintf(klsty->colormode ,"normal");
 			klsty->width     =lwidth;
Index: /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.cpp
===================================================================
--- /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 9259)
+++ /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.cpp	(revision 9259)
@@ -0,0 +1,70 @@
+/*!\file Kml2Expx
+ * \brief kml to exp conversion routines.
+ */
+
+#include "./Kml2Expx.h"
+#include "../../shared/shared.h"
+#include "../../include/include.h"
+#include "../../toolkits/toolkits.h"
+#include "../../EnumDefinitions/EnumDefinitions.h"
+#include "../modules.h"
+
+int Kml2Expx(char* filkml,char* filexp,
+			 int sgn){
+
+	double  cm,sp;
+
+	Ll2xydef(&cm,&sp,sgn);
+
+	return(Kml2Expx(filkml,filexp,
+					sgn,cm,sp));
+}
+
+int Kml2Expx(char* filkml,char* filexp,
+			 int sgn,double cm,double sp){
+
+	int     i,iret=0;
+	double  *lat=NULL,*lon=NULL;
+
+	KML_Object*  kobj=NULL;
+
+	FILE*   fidi=NULL;
+	FILE*   fido=NULL;
+
+	clock_t clock0,clock1;
+	time_t  time0, time1;
+
+	clock0=clock();
+	time0 =time(NULL);
+	_printf_(true,"\nKml2Expx Module -- %s",ctime(&time0));
+
+/*  read kml file  */
+
+	fidi=fopen(filkml,"r");
+	if (!(kobj=KMLFileReadx(fidi)))
+		_error_("Error reading kml file.");
+	fclose(fidi);
+
+/*  open exp file  */
+
+	_printf_(true,"Writing exp profiles to file.\n");
+	fido=fopen(filexp,"w");
+
+/*  write the polygons and linestrings  */
+
+	kobj->WriteExp(fido,"",sgn,cm,sp);
+
+/*  close exp file  */
+
+	fclose(fido);
+
+	delete kobj;
+
+	clock1=clock();
+	time1 =time(NULL);
+	_printf_(true,"Kml2Expx Module -- %f CPU seconds; %f elapsed seconds.\n\n",
+			 ((double)(clock1-clock0))/CLOCKS_PER_SEC,difftime(time1,time0));
+
+	return(iret);
+}
+
Index: /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.h
===================================================================
--- /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.h	(revision 9259)
+++ /issm/trunk/src/c/modules/Kml2Expx/Kml2Expx.h	(revision 9259)
@@ -0,0 +1,18 @@
+/*!\file:  Kml2Expx.h
+ * \brief header file for kml to exp conversion routines.
+ */ 
+
+#ifndef _KML2EXPX_H
+#define _KML2EXPX_H
+
+#include <float.h>    /*  DBL_MAX  */
+#include "../../Container/Container.h"
+#include "../../objects/objects.h"
+
+/* local prototypes: */
+int Kml2Expx(char* filkml,char* filexp,
+			 int sgn);
+int Kml2Expx(char* filkml,char* filexp,
+			 int sgn,double cm,double sp);
+
+#endif  /* _KML2EXPX_H */
Index: /issm/trunk/src/c/modules/modules.h
===================================================================
--- /issm/trunk/src/c/modules/modules.h	(revision 9258)
+++ /issm/trunk/src/c/modules/modules.h	(revision 9259)
@@ -57,4 +57,5 @@
 #include "./Ll2xyx/Ll2xyx.h"
 #include "./Exp2Kmlx/Exp2Kmlx.h"
+#include "./Kml2Expx/Kml2Expx.h"
 #include "./MassFluxx/MassFluxx.h"
 #include "./MaxAbsVxx/MaxAbsVxx.h"
